Fractal scale: Difference between revisions
CompactStar (talk | contribs) No edit summary |
m →Modes: update todo |
||
(23 intermediate revisions by 3 users not shown) | |||
Line 4: | Line 4: | ||
The ''order'' of a fractal scale is the number of iterations of the division process used to obtain the scale. An order-0 fractal scale contains only the starting interval. An order-1 fractal scale contains the original ratio only once. An order-N scale with M steps in its division contains M<sup>N</sup> steps. | The ''order'' of a fractal scale is the number of iterations of the division process used to obtain the scale. An order-0 fractal scale contains only the starting interval. An order-1 fractal scale contains the original ratio only once. An order-N scale with M steps in its division contains M<sup>N</sup> steps. | ||
A fractal scale can be uniquely identified by its order, its ratio and its type. For example, the order-5 2 | A fractal scale can be uniquely identified by its order, its ratio and its type. For example, the order-5 1:2 linear fractal scale is a 32-tone octave-repeating scale | ||
Fractal scales provides a certain form of symmetry which is very different in nature than that of other scale families, such as [[MOS scale]]s or [[Regular temperament theory|regularly tempered scale]]s. | Fractal scales provides a certain form of symmetry which is very different in nature than that of other scale families, such as [[MOS scale]]s or [[Regular temperament theory|regularly tempered scale]]s. | ||
Line 11: | Line 11: | ||
=== Linear fractal scales === | === Linear fractal scales === | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+1:1 linear fractal scales | ||
|- | |- | ||
! Order | ! Order | ||
Line 23: | Line 23: | ||
| 1 | | 1 | ||
| 2 | | 2 | ||
| 2:3:4 | | 2:3:4 ([[2afdo]]) | ||
|- | |- | ||
| 2 | | 2 | ||
| 4 | | 4 | ||
| 4:5:6:7:8 | | 4:5:6:7:8 ([[4afdo]]) | ||
|- | |- | ||
| 3 | | 3 | ||
| 8 | | 8 | ||
| 8:9:10:11:12:13:14:15:16 | | 8:9:10:11:12:13:14:15:16 ([[8afdo]]) | ||
|} | |} | ||
{| class="wikitable" | |||
|+1:2 linear fractal scales | |||
|- | |||
! Order | |||
! Number of steps | |||
! Chord | |||
|- | |||
| 0 | |||
| 1 | |||
| 1:2 | |||
|- | |||
| 1 | |||
| 2 | |||
| 3:4:6 | |||
|- | |||
| 2 | |||
| 4 | |||
| 9:10:12:14:18 | |||
|- | |||
| 3 | |||
| 8 | |||
| 27:28:30:32:36:38:42:46:54 | |||
|} | |||
=== Logarithmic fractal scales === | === Logarithmic fractal scales === | ||
A series of [[octave]]-repeating fractal scales can be created using the [[golden ratio]] (here treated as [[logarithmic phi]]) and the octave. Various [[edo]]s approximate this series to a certain degree of precision. The example below uses the first nine terms of the Fibonacci sequence (1, 2, 3, 5, 8, 13, 21, 34, 55) to approximate golden fractal scales in [[55edo]]. | A series of [[octave]]-repeating fractal scales can be created using the [[golden ratio]] (here treated as [[logarithmic phi]]) and the octave. Various [[edo]]s approximate this series to a certain degree of precision. The example below uses the first nine terms of the Fibonacci sequence (1, 2, 3, 5, 8, 13, 21, 34, 55) to approximate golden fractal scales in [[55edo]]. | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ Golden ( | |+ Golden (1:φ) logarithmic fractal scales, as approximated by 55edo | ||
! Order | ! Order | ||
! Number of steps | ! Number of steps | ||
Line 75: | Line 101: | ||
|} | |} | ||
[[User:R-4981|R-4981]] calls the order-4 <math>1:\frac{1-\sqrt{3}}{\sqrt{3}}</math> fractal scale [[redbull]]. | |||
[[User:R-4981|R-4981]] calls the order-4 <math>1: | |||
The initial division may contain more than 2 intervals. Here is a simple example with 3 divisions. | The initial division may contain more than 2 intervals. Here is a simple example with 3 divisions. | ||
{{ | {| class="wikitable" | ||
|+ 1:2:1 logarithmic fractal scales, represented in 64edo | |||
! Order | |||
! Number of steps | |||
! Step visualization | |||
! [[Step pattern]] (64edo) | |||
! Scale [[degree]]s (64edo) | |||
|- | |||
| 0 | |||
| 1 | |||
| {{Step vis|64}}┤ | |||
| 64 | |||
| 64 | |||
|- | |||
| 1 | |||
| 3 | |||
| {{Step vis|16 32 16}} | |||
| 16 32 16 | |||
| 16 48 64 | |||
|- | |||
| 2 | |||
| 9 | |||
| {{Step vis|4 8 4 8 16 8 4 8 4}} | |||
| 4 8 4 8 16 8 4 8 4 | |||
| 4 12 16 24 40 48 52 60 64 | |||
|- | |||
| 3 | |||
| 27 | |||
| {{Step vis|1 2 1 2 4 2 1 2 1 2 4 2 4 8 4 2 4 2 1 2 1 2 4 2 1 2 1}} | |||
| 1 2 1 2 4 2 1 2 1 2 4 2 4 8 4 2 4 2 1 2 1 2 4 2 1 2 1 | |||
| 1 3 4 6 10 12 13 15 16 18 22 24 28 36 40 42 46 48 49 51 52 54 58 60 61 63 64 | |||
|} | |||
=== Inverse linear fractal scales === | === Inverse linear fractal scales === | ||
{{todo|add examples|inline=1|comment=Create table with a simple example.}} | {{todo|add examples|inline=1|comment=Create table with a simple example.}} | ||
=== Truncated fractal scales === | |||
Since the division is applied to every interval in each step, some intervals will become very small compared to others. For example, if we divide the octave logarithmically by the ratio <math>1:a</math> with <math>1 < a</math> (like the golden logarithmic fractal scale above), then after ''N'' steps, the largest scale step will have size <math>2^{aN}</math> and the smallest scale step will have size <math>2^{(1-a)N}</math>. The ratio between the two is <math>2^{(2a-1)N} > 2^N</math> which grows exponentially as ''N'' grows linearly, so the scale will have very uneven steps. | |||
If we wish to make the scale steps more even, then we can choose some smallest '''threshold interval''' ''ε'' in the linear case (or 1+''ε'' in the logarithmic case). Here we consider the linear case. On each step, we divide an interval if it is larger than ''ε'', otherwise we leave it untouched if it is smaller than ''ε''. Since the divided intervals get smaller and smaller, we will eventually reach a point where the intervals become smaller than ''ε'', so this process will terminate after a finite amount of steps (and hence the scale is also finite). Here is an example: | |||
{| class="wikitable" | |||
|+1:2 truncated linear fractal scales, threshold ''ε'' = 1/16 | |||
!Order | |||
!Number of steps | |||
!Step visualization | |||
!Chord | |||
!Intervals > 1/16 | |||
|- | |||
|0 | |||
|1 | |||
|├───────────────────────────────────────────────────────────────┤ | |||
|1:2 | |||
|1 | |||
|- | |||
|1 | |||
|2 | |||
|├────────────────────┼──────────────────────────────────────────┤ | |||
|3:4:6 | |||
|1/3 2/3 | |||
|- | |||
|2 | |||
|4 | |||
|├──────┼─────────────┼─────────────┼────────────────────────────┤ | |||
|9:10:12:14:18 | |||
|1/9 2/9 4/9 | |||
|- | |||
|3 | |||
|8 | |||
|<span style="color:red">├─┼</span>────┼────┼────────┼────┼────────┼────────┼───────────────────┤ | |||
|27:28:30:32:36:38:42:46:54 | |||
|2/27 4/27 8/27 | |||
|- | |||
|4 | |||
|15 | |||
|<span style="color:red">├─┼─┼──┼─┼──┼──┼</span>─────<span style="color:red">┼─┼──┼──┼</span>─────<span style="color:red">┼──┼</span>─────┼─────┼─────────────┤ | |||
|81:84:86:90:92:96:100:108:110:114:118:126:130:138:146:162 | |||
|8/81 16/81 | |||
|- | |||
|5 | |||
|20 | |||
|<span style="color:red">├─┼─┼──┼─┼──┼──┼─┼</span>───<span style="color:red">┼─┼──┼──┼─┼</span>───<span style="color:red">┼──┼─┼</span>───<span style="color:red">┼─┼</span>───┼───┼─────────┤ | |||
|243:252:258:270:276:288:300:308:324:330:342: | |||
354:362:378:390:398:414:422:438:454:486 | |||
|16/243 32/243 | |||
|- | |||
|6 | |||
|26 | |||
|<span style="color:red">├─┼─┼──┼─┼──┼──┼─┼┼──┼─┼──┼──┼─┼┼──┼──┼─┼┼──┼─┼┼──┼┼──┼──┼</span>──────┤ | |||
|729:756:774:810:828:864:900:924:940:972:990:1026:1062:1086:1102: | |||
1134:1170:1194:1210:1242:1266:1282:1314:1330:1362:1394:1458 | |||
|64/729 | |||
|- | |||
|7 | |||
|27 | |||
|<span style="color:red">├─┼─┼──┼─┼──┼──┼─┼┼──┼─┼──┼──┼─┼┼──┼──┼─┼┼──┼─┼┼──┼┼──┼──┼─┼────┤</span> | |||
|2187:2268:2322:2430:2484:2592:2700:2772:2820:2916:2970:3078:3186:3258: | |||
3306:3402:3510:3582:3630:3726:3798:3846:3942:3990:4086:4182:4246:4374 | |||
|none | |||
|} | |||
Alternatively, we can do '''pre-stopping''' -- we stop dividing the interval if any of the ''divided parts'' of the interval would be smaller than the threshold. The threshold now becomes a ''true lower bound'' for the size of the scale steps. Here is another example: | |||
{| class="wikitable" | |||
|+ Pre-stopped 1:2 truncated linear fractal scales, threshold ''ε'' = 1/16 | |||
!Order | |||
!Number of steps | |||
!Step visualization | |||
!Chord | |||
!Intervals > 1/16 | |||
|- | |||
|0 | |||
|1 | |||
|├───────────────────────────────────────────────────────────────┤ | |||
|1:2 | |||
|1 = 1/3 + 2/3 | |||
|- | |||
|1 | |||
|2 | |||
|├────────────────────┼──────────────────────────────────────────┤ | |||
|3:4:6 | |||
|1/3 = 1/9 + 2/9 | |||
2/3 = 2/9 + 4/9 | |||
|- | |||
|2 | |||
|4 | |||
|<span style="color:red">├──────┼</span>─────────────┼─────────────┼────────────────────────────┤ | |||
|9:10:12:14:18 | |||
|2/9 = 2/27 + 4/27 | |||
4/9 = 4/27 + 8/27 | |||
|- | |||
|3 | |||
|7 | |||
|<span style="color:red">├──────┼────┼────────┼────┼────────┼────────┼</span>───────────────────┤ | |||
|27:30:32:36:38:42:46:54 | |||
|8/27 = 8/81 + 16/81 | |||
|- | |||
|4 | |||
|8 | |||
|<span style="color:red">├──────┼────┼────────┼────┼────────┼────────┼─────┼</span>─────────────┤ | |||
|81:90:96:108:114:126:138:146:162 | |||
|16/81 = 16/243 + 32/243 | |||
|- | |||
|5 | |||
|9 | |||
|<span style="color:red">├──────┼────┼────────┼────┼────────┼────────┼─────┼────┼────────┤</span> | |||
|243:270:288:324:342:378:414:438:454:486 | |||
|none | |||
|} | |||
== Modes == | |||
It is possible for a fractal scale to have various modes. However, unlike [[MOS scales]], the modes of a fractal scale are not ordinary [[rotation]]s of a scale. Instead, modes correspond to the rotations of the ratio used to divide the scale. This results in ''M'' modes for each order-''N'' fractal scale. For example, here are the modes of an order-2 logarithmic fractal scale with scale steps divided into 1:2:3: | |||
{| class="wikitable" | |||
|+ Modes of 1:2:3 logarithmic fractal scales in 36edo | |||
! Mode rotational order | |||
! Division pattern | |||
! [[FRACNAMS]] | |||
! [[Step pattern]] (36edo) | |||
! Scale [[degree]]s (36edo) | |||
|- | |||
| 0 | |||
| 1:2:3 | |||
| Rock | |||
| 1 2 3 2 4 6 3 6 9 | |||
| 1 3 6 8 12 18 21 27 36 | |||
|- | |||
| 1 | |||
| 2:3:1 | |||
| Paper | |||
| 4 6 2 6 9 3 2 3 1 | |||
| 4 10 12 18 27 30 32 35 36 | |||
|- | |||
| 2 | |||
| 3:1:2 | |||
| Scissors | |||
| 9 3 6 3 1 2 6 2 4 | |||
| 9 12 18 21 22 24 30 32 36 | |||
|} | |||
Alternatively, it is possible to choose which rotation of the division pattern to use in the next step. This results in ''M''<sup>''N''</sup> modes for an order-''N'' fractal scale, which are as many modes are there are scale steps. | |||
Here is the example for the order-3 golden ratio (φ) fractal scale: | |||
{| class="wikitable" | |||
|+ Modes of 1:φ logarithmic fractal scales in 34edo | |||
! Mode rotational order | |||
! Mode binary numbering | |||
! Division pattern | |||
! [[FRACNAMS]] | |||
! [[Step pattern]] (34edo) | |||
! Scale [[degree]]s (34edo) | |||
|- | |||
| 0,0,0 | |||
| 0 | |||
| 1:φ, 1:φ, 1:φ | |||
| Brazilian | |||
| 8 5 5 3 5 3 3 2 | |||
| 8 13 18 21 26 29 32 34 | |||
|- | |||
| 0,0,1 | |||
| 1 | |||
| 1:φ, 1:φ, φ:1 | |||
| Carolina | |||
| 5 8 3 5 3 5 2 3 | |||
| 5 13 16 21 24 29 31 34 | |||
|- | |||
| 0,1,0 | |||
| 2 | |||
| 1:φ, φ:1, 1:φ | |||
| Georgia | |||
| 5 3 8 5 3 2 5 3 | |||
| 5 8 16 21 24 26 31 34 | |||
|- | |||
| 0,1,1 | |||
| 3 | |||
| 1:φ, φ:1, φ:1 | |||
| California | |||
| 3 5 5 8 2 3 3 5 | |||
| 3 8 13 21 23 26 29 34 | |||
|- | |||
| 1,0,0 | |||
| 4 | |||
| φ:1, 1:φ, 1:φ | |||
| Cariboo | |||
| 5 3 3 2 8 5 5 3 | |||
| 5 8 11 13 21 26 31 34 | |||
|- | |||
| 1,0,1 | |||
| 5 | |||
| φ:1, 1:φ, φ:1 | |||
| Montana | |||
| 3 5 2 3 5 8 3 5 | |||
| 3 8 10 13 18 26 29 34 | |||
|- | |||
| 1,1,0 | |||
| 6 | |||
| φ:1, φ:1, 1:φ | |||
| Bigbend | |||
| 3 2 5 3 5 3 8 5 | |||
| 3 5 10 13 18 21 29 34 | |||
|- | |||
| 1,1,1 | |||
| 7 | |||
| φ:1, φ:1, φ:1 | |||
| Omineca | |||
| 2 3 3 5 3 5 5 8 | |||
| 2 5 8 13 16 21 26 34 | |||
|} | |||
{{todo|improve definition|complete section|inline=1|comment=Add specific and detailed definitions.}} | |||
== Formulas == | == Formulas == | ||
Here is a Python script to calculate the steps and degrees of a logarithmic fractal scale, provided the order and the ratio. | |||
<syntaxhighlight lang="python"> | |||
from functools import reduce | |||
order = 4 | |||
ratio = [1, 2] | |||
# the "shape" of the ratio, only input integers please. | |||
# [a, b] corresponds to the ratio a:b, | |||
# [a, b, c] corresponds to the ratio a:b:c, etc. | |||
c = ratio | |||
if order == 0: | |||
c = [] | |||
for i in range(0, order-1): | |||
b = [] | |||
for j in c: | |||
b.append([j * x for x in ratio]) | |||
c = [x for xs in b for x in xs] | |||
a = reduce((lambda m, n: m + [m[-1] + n]), c[1:], c[0:1]) | |||
print("scale steps in", a[len(a)-1], "edo:", c) | |||
print("scale degrees in", a[len(a)-1], "edo:", a) | |||
</syntaxhighlight> | |||
Sample output: | |||
<syntaxhighlight> | |||
scale steps in 81 edo: [1, 2, 2, 4, 2, 4, 4, 8, 2, 4, 4, 8, 4, 8, 8, 16] | |||
scale degrees in 81 edo: [1, 3, 5, 9, 11, 15, 19, 27, 29, 33, 37, 45, 49, 57, 65, 81] | |||
</syntaxhighlight> | |||
[[Category:Scale]] | [[Category:Scale]] |