User:Akselai/SandBox: Difference between revisions

From Xenharmonic Wiki
Jump to navigation Jump to search
Akselai (talk | contribs)
Created page with "{{Step vis|3 1/4 1/16 1/4 2 1 0 8}} ├──┼─┼╫┼───────┤ {| class="wikitable" |+3:4:6 truncated linear fractal scales !Order !Number of steps !Ste..."
(No difference)

Revision as of 10:59, 17 January 2024

├──┼─┼╫───────┤ ├──┼─┼╫┼───────┤

3:4:6 truncated linear fractal scales
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 ├─┼────┼────┼────────┼────┼────────┼────────┼───────────────────┤ 27:28:30:32:36:38:42:46:54 2/27 4/27 8/27
4 15 ├─┼─┼──┼─┼──┼──┼─────┼─┼──┼──┼─────┼──┼─────┼─────┼─────────────┤ 81:84:86:90:92:96:100:108:110:114:118:126:130:138:146:162 8/81 16/81
5 20 ├─┼─┼──┼─┼──┼──┼─┼───┼─┼──┼──┼─┼───┼──┼─┼───┼─┼───┼───┼─────────┤ 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 ├─┼─┼──┼─┼──┼──┼─┼┼──┼─┼──┼──┼─┼┼──┼──┼─┼┼──┼─┼┼──┼┼──┼──┼──────┤ 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 ├─┼─┼──┼─┼──┼──┼─┼┼──┼─┼──┼──┼─┼┼──┼──┼─┼┼──┼─┼┼──┼┼──┼──┼─┼────┤ 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
order = 8
ratio = [0, 1/3] 
# the "shape" of the ratio, only input integers please. 
# [a, b] corresponds to the ratio 1:2^{a/(a+b)}:2,
# [a, b, c] corresponds to the ratio 1:2^{a/(a+b+c)}:2^{(a+b)/(a+b+c)}:2, etc.

c = [0, 1]
if order == 0:
    c = []
for i in range(0, order-1):
    b = []
    for j in range(len(c)-1):
        if (c[j+1]-c[j] > 1/16):
            b.append([c[j] + x*(c[j+1]-c[j]) for x in ratio])
        else:
            b.append([c[j]])
    b.append([1])
    c = [x for xs in b for x in xs]
c = [1+x for x in c]
print([i / gcd(c) for i in c])
print([c[i+1]-c[i] for i in range(len(c)-1)])