2023年5月3日水曜日

音律計算と行列計算2

音律配列に行列計算を3回(その他の計算も)使ってS.D.値とM.D.値を求めた。行列計算は必須ではないがある程度は簡略化に役立っていると思う。

※「音律配列」とは表の3~5行目にある通り純正完全五度との差をS.C.いくつ分とスキスマいくつ分になるかをAb-Ebの五度から五度圏順に#方向に12個並べたもの。負号と分数は配列の外に置いた。


音律の例:ヤングII,1800

d4:o5 =ArrayFormula(-{ 0, 0, 0,0,1,1,1,1,1, 1,0,0; 0, 0, 0,0,1,1,1,1,1,1,0,0}/6)

d6:o6 =ArrayFormula(mmult(D9:E9,D4:O5))

d7:o7 =ArrayFormula(D6:O6+1200/ln(2)*ln(3/2))

d8:o8 =ArrayFormula(2^(D7:O7/1200))

d9:e9 =ArrayFormula(transpose(1200/ln(2)*mmult({-4,4,-1;-15,8,1},ln({2;3;5}))))


d11:o22 =ArrayFormula((row(A1:L12)>(D24+4))-(row(A1:L12)+1>column(A1:L12)))


d28:o28 =ArrayFormula(mod(mmult(D7:O7,D11:O22),1200))

d29:o29 =ArrayFormula(D28:O28-MOD((D26:O26-D24)*700,1200))

d30:o30 =ArrayFormula(2^(D28:O28/1200))

d31:o31 =ArrayFormula(D25*D30:O30/K30)


d33:o44 =ArrayFormula(1*(row(A1:L12)-1=mod((column(A1:L12)-1)*7+4+D46,12)))


d49:o49 =ArrayFormula(mmult(D28:O28,D33:O44))

d50:o50 =ArrayFormula(mmult(D29:O29,D33:O44))

d51:o51 =ArrayFormula(2^(D49:O49/1200))

d52:o52 =ArrayFormula(mmult(D31:O31,D33:O44))


d54:o65 =ArrayFormula((row(A1:L12)-1=mod(column(A1:L12)-1+1,12))-(row(A1:L12)=column(A1:L12)))


d68:o68 =ArrayFormula(mod(mmult(D49:O49,D54:O65),1200))

d69:o69 =ArrayFormula(D68:O68-100)

d70:o70 =ArrayFormula(2^(D68:O68/1200))

d71 =avedev(D68:O68)

d72 =stdevp(D68:O68)

BCDEFGHIJKLMNOP
2音律名と
音律配列
ヤングII,1800 -{ 0, 0, 0,0,1,1,1,1,1, 1,0,0; 0, 0, 0,0,1,1,1,1,1,1,0,0}/6単位等
3各完全五度Ab - EbEb - BbBb - FF - CC - GG - DD - AA - EE - BB - F#F# - C#C# - Ab
4
純正完全五度
との差
0.0000.0000.0000.000-0.167-0.167-0.167-0.167-0.167-0.1670.0000.000s.c.
50.0000.0000.0000.000-0.167-0.167-0.167-0.167-0.167-0.1670.0000.000スキスマ
6純正完全五度
との差
0.0000.0000.0000.000-3.910-3.910-3.910-3.910-3.910-3.9100.0000.000セント
7大きさ701.955701.955701.955701.955698.045698.045698.045698.045698.045698.045701.955701.955セント
8大きさ1.5001.5001.5001.5001.4971.4971.4971.4971.4971.4971.5001.500
9S.C.と
スキスマの組
21.5061.954セント
10
11各完全五度を-100000000000
12各音階に-1-10000000000
13するための行列-1-1-1000000000
14-1-1-1-100000000
15000001111111
16000000111111
17000000011111
18000000001111
19000000000111
20000000000011
21000000000001
22000000000000
23
24基準音の
五度圏ID
0
25A=440.000Hz予備
26五度圏id-4-3-2-101234567-4
27各音階(五度圏順)AbEbBbFCGDAEBF#C#Ab
28基準音からの音高792.180294.135996.090498.0450.000698.045196.090894.135392.1801090.225588.27090.225セント
2912等分律との差-7.820-5.865-3.910-1.9550.000-1.955-3.910-5.865-7.820-9.775-11.730-9.775セント
30基準音からの音高1.5801.1851.7781.3331.0001.4971.1201.6761.2541.8771.4051.053
31周波数414.836311.127466.690350.018262.513392.882293.997440.000329.256492.769368.743276.557Hz
32
33各音階を000000001000
34五度圏順から000100000000
35音高順に000000000010
36並べ替える行列000001000000
37100000000000
38000000010000
39001000000000
40000000000100
41000010000000
42000000000001
43000000100000
44010000000000
45
46最低音の
五度圏ID
0予備
47五度圏id072-34-161-43-250
48各音階(音高順)CC#DEbEFF#GAbABbBC
49基準音からの音高0.00090.225196.090294.135392.180498.045588.270698.045792.180894.135996.0901090.225セント
5012等分律との差0.000-9.775-3.910-5.865-7.820-1.955-11.730-1.955-7.820-5.865-3.910-9.775セント
51基準音からの音高1.0001.0531.1201.1851.2541.3331.4051.4971.5801.6761.7781.877
52周波数262.513276.557293.997311.127329.256350.018368.743392.882414.836440.000466.690492.769Hz
53
54各音階から-100000000001
55各半音の1-10000000000
56大きさを01-1000000000
57求める行列001-100000000
580001-10000000
5900001-1000000
60000001-100000
610000001-10000
6200000001-1000
63000000001-100
640000000001-10
6500000000001-1
66
67各半音C - C#C# - DD - EbEb - EE - FF - F#F# - GG - AbAb - AA - BbBb - BB - C
68大きさ90.225105.86598.04598.045105.86590.225109.77594.135101.955101.95594.135109.775セント
6912等分律との差-9.7755.865-1.955-1.9555.865-9.7759.775-5.8651.9551.955-5.8659.775セント
70大きさ1.0531.0631.0581.0581.0631.0531.0651.0561.0611.0611.0561.065
71S.D.値5.865
72M.D.値6.678

余談1
3行目は27行目の文字列結合、67行目は48行目の文字列結合。もっと華麗wにやりたかったが難しそうなので断念した。

2023.05.03 17:58公開 単純ミスなどは適宜修正済&修正予定

0 件のコメント:

コメントを投稿