User:Frostburn/Theory From First Principles: Difference between revisions
→On units: Make it clearer that there's no "cent" for the tritave in this system. |
→Adding Geometry: Elucidate the behaviour of scalar multiples of the projective origin. |
||
| (8 intermediate revisions by the same user not shown) | |||
| Line 15: | Line 15: | ||
When we take the logarithm of a positive rational scalar its factors separate into a sum e.g. <math>\log(15/8) = \log(3) + \log(5) - 3\log(2)</math>. | When we take the logarithm of a positive rational scalar its factors separate into a sum e.g. <math>\log(15/8) = \log(3) + \log(5) - 3\log(2)</math>. | ||
== Absolute Pitch Domain == | |||
The way the logarithm converts multiplicative quantities into linear representation motivates the designation of intermediary domain where the units are kept intact inside the logarithm e.g. | |||
<math> | |||
\log(440 Hz) = \log(Hz \cdot 2^3 \cdot 5 \cdot 11) = \log(Hz) + 3 \log(2) + \log(5) + \log(11) . | |||
</math> | |||
To make use of this representation we would like to add quantities to each other so let's see how that works: | |||
<math> | |||
\log(361 Hz) + \log(529 Hz) = \log(Hz) + \log(19^2) + \log(Hz) + \log(23^2) = 2 \log(Hz) + 2 \log(19) + 2 \log(23) = 2 \log(437 Hz) , | |||
</math> | |||
which looks perfectly reasonable besides that extra factor of 2 in the front. We choose to ignore it and interprete the sum of absolute pitch quantities as their [[Wikipedia:Geometric_mean|geometric mean]]. | |||
In the non-logarithmic domain this simply means that we have to keep track of the exponent of Hz and take the appropriate root. This has the added benefit of unifying the time and frequency domains. e.g. 1 millisecond is simply identified as the period of oscillation and corresponds to a frequency of 1 kilohertz. | |||
== Adding Geometry == | == Adding Geometry == | ||
By the [[Wikipedia:Fundamental theorem of arithmetic|fundamental theorem of arithmetic]] logarithms of primes are linearly independent over <math>\mathbb{Q}</math>, so we can interprete <math>\log(2), \log(3), \ldots</math> as basis vectors. We write <math>e_p</math> in place of <math>\log(p)</math> and enforce orthogonality | By the [[Wikipedia:Fundamental theorem of arithmetic|fundamental theorem of arithmetic]] logarithms of primes are linearly independent over <math>\mathbb{Q}</math>, so we can interprete <math>\log(2), \log(3), \ldots</math> as basis vectors. We write <math>e_p</math> in place of <math>\log(p)</math> and enforce orthogonality | ||
| Line 35: | Line 51: | ||
In combination with implicit scalar multiplication the similarity with Scale Workshop's N-of-EDO notation is unmistakable e.g. <math>7 \backslash 12 = 700 ¢</math> . | In combination with implicit scalar multiplication the similarity with Scale Workshop's N-of-EDO notation is unmistakable e.g. <math>7 \backslash 12 = 700 ¢</math> . | ||
Absolute pitch can be incorporated when we introduce a basis vector <math>e_0</math> and associate it with logarithmic frequency | |||
<math>\overrightarrow{Hz} \mapsto e_0</math> | |||
It represents a single point of origin in projective geometry (remember how we chose to ignore that extra scalar in front when summing absolute pitches). | |||
In practice it's handy to have a reference frequency that humans can hear so we might use the shifted origin | |||
<math>\tilde{e_0} := \overrightarrow{440Hz} = e_0 + 3 e_2 + e_5 + e_{11}</math>. | |||
When working with absolute pitch, the inverse of the arrow function is called <math>\mathrm{freq}</math> instead of <math>\mathrm{ratio}</math> | |||
<math>\mathrm{freq}(\overrightarrow{\frac{p}{q} Hz}) = \frac{p}{q} Hz</math> . | |||
Care must be taken when the multiplier of the projective origin is not 1. e.g. Let's consider 1.5 Hz which is a perfect fifth above 1 Hz. It's represented as <math>e_0 - e_2 + e_3</math>. | |||
If some other calculation gave us the result <math>2 e_0 - e_2 + e_3</math> it wouldn't represent 1.5Hz it's | |||
<math>\mathrm{freq}(2 e_0 - e_2 + e_3) = 1.5 Hz^2 \sim \sqrt{\frac{3}{2}} Hz \approx 1.22 Hz</math> | |||
instead. | |||
== Expanding geometry == | == Expanding geometry == | ||
It's instructive to construct <math>\mathrm{ratio}</math> more explicitly by considering the inverses of the basis vectors | It's instructive to construct <math>\mathrm{ratio}</math> more explicitly by considering the inverses of the basis vectors | ||
| Line 66: | Line 105: | ||
</math> | </math> | ||
However rational approximations to the <math>\mathsf{JIP}</math> do belong in our space. Equal temperaments can be represented by such approximations called [[ | However rational approximations to the <math>\mathsf{JIP}</math> do belong in our space. Equal temperaments can be represented by such approximations called [[Patent_val#Generalized_patent_val|generalized patent vals]] which we define as | ||
<math>\mathrm{ | <math>\mathrm{gpv}(n; a, b, \ldots, z) := n \overrightarrow{a}^{-1} + \lfloor n \log_a(b) + \frac{1}{2}\rfloor \overrightarrow{b}^{-1} + \ldots + \lfloor n \log_a(z) + \frac{1}{2}\rfloor \overrightarrow{z}^{-1}</math> , | ||
which belong to a class of [[Val|vals]] complementary to [[Monzo|monzos]]. | |||
Usually the basis is obvious from context e.g. <math>a = 2, b = 3, c = 5</math>. In these cases we use a left-facing arrow e.g. | Usually the basis is obvious from context e.g. <math>a = 2, b = 3, c = 5</math>. In these cases we use a left-facing arrow e.g. | ||
<math>\overleftarrow{12} := \mathrm{ | <math>\overleftarrow{12} := \mathrm{gpv}(12; 2, 3, 5) = 12 e^2 + 19 e^3 + 28 e^5 =: \langle 12, 19, 28 \rbrack</math> | ||
We can use these new objects to calculate how many steps of 12edo a tempered interval spans e.g. | We can use these new objects to calculate how many steps of 12edo a tempered interval spans e.g. | ||
| Line 84: | Line 125: | ||
The geometric inverses are mainly relevant for subgroup temperaments. Consider [[The_Archipelago#Subgroup_temperaments|Barbados]]: | The geometric inverses are mainly relevant for subgroup temperaments. Consider [[The_Archipelago#Subgroup_temperaments|Barbados]]: | ||
<math>\overleftarrow{5} := \mathrm{ | <math>\overleftarrow{5} := \mathrm{gpv}(5; 2, 3, 13/5) = 5 \cdot \overrightarrow{2}^{-1} + 8 \cdot \overrightarrow{3}^{-1} + 7 \cdot \overrightarrow{13/5}^{-1} = 5 e^2 + 8 e^3 - \frac{7}{2}e^5 + \frac{7}{2}e^{13}</math> | ||
We can verify that the comma 676/675 indeed vanishes using this val: | We can verify that the comma 676/675 indeed vanishes using this val: | ||
| Line 92: | Line 133: | ||
Note that above I've implicitly used a convenient metric to carry out the calculations, which is fine due to the new basis still being orhogonal. Explicitly we'd have | Note that above I've implicitly used a convenient metric to carry out the calculations, which is fine due to the new basis still being orhogonal. Explicitly we'd have | ||
<math>\overrightarrow{13/5}^{-1} = (w_{13} \hat{m} - w_5 \hat{k}) / (w_5^2 + w_{13}^2)</math>, where the weights decide how much 13/5 "leans" towards 5/1 or 13/1. | <math>\overrightarrow{13/5}^{-1} = (w_{13} \hat{m} - w_5 \hat{k}) / (w_5^2 + w_{13}^2)</math>, where the weights decide how much 13/5 "leans" towards 5/1 or 13/1. | ||
We make the projective origin <math>e_0</math> non-invertible by enforcing a null metric weight <math>e_0 \cdot e_0 = 0</math> which can be handy in some calculations and often does the right thing. | |||
Most of the theory developed here deals with relative pitch. It's always possible to ground a result on an origin e.g. | |||
<math> | |||
\mathrm{freq}(\tilde{e_0} + \overleftarrow{12} \cdot \overrightarrow{15/8} \backslash 12) = \mathrm{freq}(e_0 + \frac{47}{12} e_2 + e_5 + e_{11}) \approx 830.6 Hz | |||
</math> | |||
== On units == | == On units == | ||
Scalars do not have units. That's what makes them scalars. Do pitches have units? Maybe they're like radians, unitless but it makes no sense to add them to other kinds of objects. Whatever the case may be, prime count vectors (i.e. monzos) have inverse units to vals. This | Scalars do not have units. That's what makes them scalars. Do relative pitches have units? Maybe they're like radians, unitless but it makes no sense to add them to other kinds of objects. Whatever the case may be, prime count vectors (i.e. monzos) have inverse units to vals. This is enough to distinguish them during SW3 runtime and prevent vals from being interpreted as pitch or turned into frequencies. | ||
Taking these considerations more seriously and remembering that cents are a vector quantity we can try to figure out what units vals have: One cent is one hundreth of a semitone and one octave consists of twelve of these semitones. All vector quantities. Let's call the dimensioneless version of a semitone a demitone. To re-iterate: A cent is 1/100 demitones in the direction of <math>e_2</math>. Let's call <math>\hat{i}</math> the direction of <math>e_2</math> i.e. <math>e_2 = w_2 \hat{i} = 12 d \hat{i}</math>, where <math>d</math> is the metric weight of a demitone. The basis vector itself has unit metric <math>\hat{i} \cdot \hat{i} = 1</math>. | Taking these considerations more seriously and remembering that cents are a vector quantity we can try to figure out what units vals such as the ''jorp'' (€) have: One cent is one hundreth of a semitone and one octave consists of twelve of these semitones. All vector quantities. Let's call the dimensioneless version of a semitone a demitone. To re-iterate: A cent is 1/100 demitones in the direction of <math>e_2</math>. Let's call <math>\hat{i}</math> the direction of <math>e_2</math> i.e. <math>e_2 = w_2 \hat{i} = 12 d \hat{i}</math>, where <math>d</math> is the metric weight of a demitone. The basis vector itself has unit metric <math>\hat{i} \cdot \hat{i} = 1</math>. | ||
A reciprocal cent satisfies <math>¢^{-1} \cdot ¢ = 1</math> so as per the usual definition of the geometric inverse of a vector we have <math>¢^{-1} = ¢ / (¢ \cdot ¢) = \frac{1}{1200}e_2 / (\frac{1}{1200}^2 e_2 \cdot e_2) = 1200 w_2 \hat{i} / (w_2^2 \hat{i} \cdot \hat{i}) = \frac{1200}{w_2}\hat{i}</math>. | A reciprocal cent satisfies <math>¢^{-1} \cdot ¢ = 1</math> so as per the usual definition of the geometric inverse of a vector we have <math>¢^{-1} = ¢ / (¢ \cdot ¢) = \frac{1}{1200}e_2 / (\frac{1}{1200}^2 e_2 \cdot e_2) = 1200 w_2 \hat{i} / (w_2^2 \hat{i} \cdot \hat{i}) = \frac{1200}{w_2}\hat{i}</math>. | ||