すのものの「純正律について」(その8)

※ 検索エンジンから直接このページに来られたかたには、まず 『すのものの「純正律について」』 をお読みになることをおすすめします。

midi で、 ピッチベンドが1セント刻みでしか行なえない場合の BW の引数を表にしたもの。 各マスは、上から順に、音名、セント単位で表したピッチベンド量、 それを実現するための BW の引数、 それと、小かっこに入れた、属七の和音の第七音の場合の BW の引数である。 最後のは、 そのマスの左上のマスの一つ左のマスの音を根音とした場合の値を記している。 これが負の値をとっているものは、実際には演奏不可能である。

音は、右に一マス進むと完全五度あがり、 右上に一マス進むと長三度あがるように置いてある。 よって、左下に一マス進むと短三度あがる。 純正律本来の音程とここでの音程を、セントを単位にして記す。 参考までに、等分平均律の場合の音程も載せた。

音程純正律 等分平均律
完全五度701.955001702700
長三度 386.313714386400
短三度315.641287316300
“七度”968.8259069691000

最後の「“七度”」は、 属七の和音の第七音を、根音から見て周波数比 7/4 にとったときの値である。

すのものの「純正律について」(その6)」 では左上隅の Hisis は BW904 としていた。ここでは BW738 である。 4 セントほどの差が生じるが、それは、 完全五度、長三度、短三度の積み重ねを厳密に計算して最後に 1 セント単位に丸めるのと、 完全五度、長三度、短三度を 1 セント単位に丸めてから積み重ねるのとの差である。 前者を選ばなかったのは、 どこかに他とは音程の違う完全五度、長三度、短三度が生じるからである。 後者ではこの表の上で大きく離れた二つの音の音程が違ってくるが、 そういった音が音楽の中で続いて現れることはないので、問題は起こらない。

#### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### #### ####
  Hisis
-182
738
(-1268)
 
Gisis
-168
1311
(-695)
Disis
-166
1393
(-613)
Aisis
-164
1475
(-531)
Eisis
-162
1557
(-449)
Hisis
-160
1639
(-367)
 
  His
-152
1967
(-39)
Fisis
-150
2048
(41)
Cisis
-148
2130
(123)
Gisis
-146
2212
(205)
Disis
-144
2294
(287)
Aisis
-142
2376
(369)
Eisis
-140
2458
(451)
Hisis
-138
2540
(533)
 
Gis
-138
2540
(533)
Dis
-136
2622
(615)
Ais
-134
2704
(697)
Eis
-132
2786
(779)
His
-130
2868
(861)
Fisis
-128
2950
(943)
Cisis
-126
3032
(1024)
Gisis
-124
3113
(1106)
Disis
-122
3195
(1188)
Aisis
-120
3277
(1270)
Eisis
-118
3359
(1352)
Hisis
-116
3441
(1434)
 
  H
-122
3195
(1188)
Fis
-120
3277
(1270)
Cis
-118
3359
(1352)
Gis
-116
3441
(1434)
Dis
-114
3523
(1516)
Ais
-112
3605
(1598)
Eis
-110
3687
(1680)
His
-108
3769
(1762)
Fisis
-106
3851
(1844)
Cisis
-104
3933
(1926)
Gisis
-102
4015
(2008)
Disis
-100
4096
(2089)
Aisis
-98
4178
(2171)
Eisis
-96
4260
(2253)
Hisis
-94
4342
(2335)
 
G
-108
3769
(1762)
D
-106
3851
(1844)
A
-104
3933
(1926)
E
-102
4015
(2008)
H
-100
4096
(2089)
Fis
-98
4178
(2171)
Cis
-96
4260
(2253)
Gis
-94
4342
(2335)
Dis
-92
4424
(2417)
Ais
-90
4506
(2499)
Eis
-88
4588
(2581)
His
-86
4670
(2663)
Fisis
-84
4752
(2745)
Cisis
-82
4834
(2827)
Gisis
-80
4916
(2909)
Disis
-78
4998
(2991)
Aisis
-76
5080
(3072)
Eisis
-74
5161
(3154)
Hisis
-72
5243
(3236)
 
  B
-92
4424
(2417)
F
-90
4506
(2499)
C
-88
4588
(2581)
G
-86
4670
(2663)
D
-84
4752
(2745)
A
-82
4834
(2827)
E
-80
4916
(2909)
H
-78
4998
(2991)
Fis
-76
5080
(3072)
Cis
-74
5161
(3154)
Gis
-72
5243
(3236)
Dis
-70
5325
(3318)
Ais
-68
5407
(3400)
Eis
-66
5489
(3482)
His
-64
5571
(3564)
Fisis
-62
5653
(3646)
Cisis
-60
5735
(3728)
Gisis
-58
5817
(3810)
Disis
-56
5899
(3892)
Aisis
-54
5981
(3974)
Eisis
-52
6063
(4056)
Hisis
-50
6144
(4137)
 
Ges
-78
4998
(2991)
Des
-76
5080
(3072)
As
-74
5161
(3154)
Es
-72
5243
(3236)
B
-70
5325
(3318)
F
-68
5407
(3400)
C
-66
5489
(3482)
G
-64
5571
(3564)
D
-62
5653
(3646)
A
-60
5735
(3728)
E
-58
5817
(3810)
H
-56
5899
(3892)
Fis
-54
5981
(3974)
Cis
-52
6063
(4056)
Gis
-50
6144
(4137)
Dis
-48
6226
(4219)
Ais
-46
6308
(4301)
Eis
-44
6390
(4383)
His
-42
6472
(4465)
Fisis
-40
6554
(4547)
Cisis
-38
6636
(4629)
Gisis
-36
6718
(4711)
Disis
-34
6800
(4793)
Aisis
-32
6882
(4875)
Eisis
-30
6964
(4957)
Hisis
-28
7046
(5039)
 
  Bes
-62
5653
(3646)
Fes
-60
5735
(3728)
Ces
-58
5817
(3810)
Ges
-56
5899
(3892)
Des
-54
5981
(3974)
As
-52
6063
(4056)
Es
-50
6144
(4137)
B
-48
6226
(4219)
F
-46
6308
(4301)
C
-44
6390
(4383)
G
-42
6472
(4465)
D
-40
6554
(4547)
A
-38
6636
(4629)
E
-36
6718
(4711)
H
-34
6800
(4793)
Fis
-32
6882
(4875)
Cis
-30
6964
(4957)
Gis
-28
7046
(5039)
Dis
-26
7128
(5120)
Ais
-24
7209
(5202)
Eis
-22
7291
(5284)
His
-20
7373
(5366)
Fisis
-18
7455
(5448)
Cisis
-16
7537
(5530)
Gisis
-14
7619
(5612)
Disis
-12
7701
(5694)
Aisis
-10
7783
(5776)
Eisis
-8
7865
(5858)
Hisis
-6
7947
(5940)
 
Geses
-48
6226
(4219)
Deses
-46
6308
(4301)
Ases
-44
6390
(4383)
Eses
-42
6472
(4465)
Bes
-40
6554
(4547)
Fes
-38
6636
(4629)
Ces
-36
6718
(4711)
Ges
-34
6800
(4793)
Des
-32
6882
(4875)
As
-30
6964
(4957)
Es
-28
7046
(5039)
B
-26
7128
(5120)
F
-24
7209
(5202)
C
-22
7291
(5284)
G
-20
7373
(5366)
D
-18
7455
(5448)
A
-16
7537
(5530)
E
-14
7619
(5612)
H
-12
7701
(5694)
Fis
-10
7783
(5776)
Cis
-8
7865
(5858)
Gis
-6
7947
(5940)
Dis
-4
8029
(6022)
Ais
-2
8111
(6104)
Eis
+0
8192
(6185)
His
+2
8274
(6267)
Fisis
+4
8356
(6349)
Cisis
+6
8438
(6431)
Gisis
+8
8520
(6513)
Disis
+10
8602
(6595)
Aisis
+12
8684
(6677)
Eisis
+14
8766
(6759)
Hisis
+16
8848
(6841)
 
  Beses
-32
6882
(4875)
Feses
-30
6964
(4957)
Ceses
-28
7046
(5039)
Geses
-26
7128
(5120)
Deses
-24
7209
(5202)
Ases
-22
7291
(5284)
Eses
-20
7373
(5366)
Bes
-18
7455
(5448)
Fes
-16
7537
(5530)
Ces
-14
7619
(5612)
Ges
-12
7701
(5694)
Des
-10
7783
(5776)
As
-8
7865
(5858)
Es
-6
7947
(5940)
B
-4
8029
(6022)
F
-2
8111
(6104)
C
+0
8192
(6185)
G
+2
8274
(6267)
D
+4
8356
(6349)
A
+6
8438
(6431)
E
+8
8520
(6513)
H
+10
8602
(6595)
Fis
+12
8684
(6677)
Cis
+14
8766
(6759)
Gis
+16
8848
(6841)
Dis
+18
8930
(6923)
Ais
+20
9012
(7005)
Eis
+22
9094
(7087)
His
+24
9176
(7168)
Fisis
+26
9257
(7250)
Cisis
+28
9339
(7332)
Gisis
+30
9421
(7414)
Disis
+32
9503
(7496)
Aisis
+34
9585
(7578)
Eisis
+36
9667
(7660)
Hisis
+38
9749
(7742)
 
  Beses
-10
7783
(5776)
Feses
-8
7865
(5858)
Ceses
-6
7947
(5940)
Geses
-4
8029
(6022)
Deses
-2
8111
(6104)
Ases
+0
8192
(6185)
Eses
+2
8274
(6267)
Bes
+4
8356
(6349)
Fes
+6
8438
(6431)
Ces
+8
8520
(6513)
Ges
+10
8602
(6595)
Des
+12
8684
(6677)
As
+14
8766
(6759)
Es
+16
8848
(6841)
B
+18
8930
(6923)
F
+20
9012
(7005)
C
+22
9094
(7087)
G
+24
9176
(7168)
D
+26
9257
(7250)
A
+28
9339
(7332)
E
+30
9421
(7414)
H
+32
9503
(7496)
Fis
+34
9585
(7578)
Cis
+36
9667
(7660)
Gis
+38
9749
(7742)
Dis
+40
9831
(7824)
Ais
+42
9913
(7906)
Eis
+44
9995
(7988)
His
+46
10077
(8070)
Fisis
+48
10159
(8152)
Cisis
+50
10240
(8233)
Gisis
+52
10322
(8315)
Disis
+54
10404
(8397)
  Beses
+12
8684
(6677)
Feses
+14
8766
(6759)
Ceses
+16
8848
(6841)
Geses
+18
8930
(6923)
Deses
+20
9012
(7005)
Ases
+22
9094
(7087)
Eses
+24
9176
(7168)
Bes
+26
9257
(7250)
Fes
+28
9339
(7332)
Ces
+30
9421
(7414)
Ges
+32
9503
(7496)
Des
+34
9585
(7578)
As
+36
9667
(7660)
Es
+38
9749
(7742)
B
+40
9831
(7824)
F
+42
9913
(7906)
C
+44
9995
(7988)
G
+46
10077
(8070)
D
+48
10159
(8152)
A
+50
10240
(8233)
E
+52
10322
(8315)
H
+54
10404
(8397)
Fis
+56
10486
(8479)
Cis
+58
10568
(8561)
Gis
+60
10650
(8643)
Dis
+62
10732
(8725)
Ais
+64
10814
(8807)
Eis
+66
10896
(8889)
His
+68
10978
(8971)
 
  Beses
+34
9585
(7578)
Feses
+36
9667
(7660)
Ceses
+38
9749
(7742)
Geses
+40
9831
(7824)
Deses
+42
9913
(7906)
Ases
+44
9995
(7988)
Eses
+46
10077
(8070)
Bes
+48
10159
(8152)
Fes
+50
10240
(8233)
Ces
+52
10322
(8315)
Ges
+54
10404
(8397)
Des
+56
10486
(8479)
As
+58
10568
(8561)
Es
+60
10650
(8643)
B
+62
10732
(8725)
F
+64
10814
(8807)
C
+66
10896
(8889)
G
+68
10978
(8971)
D
+70
11060
(9053)
A
+72
11142
(9135)
E
+74
11224
(9216)
H
+76
11305
(9298)
Fis
+78
11387
(9380)
Cis
+80
11469
(9462)
Gis
+82
11551
(9544)
Dis
+84
11633
(9626)
  Beses
+56
10486
(8479)
Feses
+58
10568
(8561)
Ceses
+60
10650
(8643)
Geses
+62
10732
(8725)
Deses
+64
10814
(8807)
Ases
+66
10896
(8889)
Eses
+68
10978
(8971)
Bes
+70
11060
(9053)
Fes
+72
11142
(9135)
Ces
+74
11224
(9216)
Ges
+76
11305
(9298)
Des
+78
11387
(9380)
As
+80
11469
(9462)
Es
+82
11551
(9544)
B
+84
11633
(9626)
F
+86
11715
(9708)
C
+88
11797
(9790)
G
+90
11879
(9872)
D
+92
11961
(9954)
A
+94
12043
(10036)
E
+96
12125
(10118)
H
+98
12207
(10200)
 
  Beses
+78
11387
(9380)
Feses
+80
11469
(9462)
Ceses
+82
11551
(9544)
Geses
+84
11633
(9626)
Deses
+86
11715
(9708)
Ases
+88
11797
(9790)
Eses
+90
11879
(9872)
Bes
+92
11961
(9954)
Fes
+94
12043
(10036)
Ces
+96
12125
(10118)
Ges
+98
12207
(10200)
Des
+100
12288
(10281)
As
+102
12370
(10363)
Es
+104
12452
(10445)
B
+106
12534
(10527)
F
+108
12616
(10609)
C
+110
12698
(10691)
G
+112
12780
(10773)
D
+114
12862
(10855)
  Beses
+100
12288
(10281)
Feses
+102
12370
(10363)
Ceses
+104
12452
(10445)
Geses
+106
12534
(10527)
Deses
+108
12616
(10609)
Ases
+110
12698
(10691)
Eses
+112
12780
(10773)
Bes
+114
12862
(10855)
Fes
+116
12944
(10937)
Ces
+118
13026
(11019)
Ges
+120
13108
(11101)
Des
+122
13190
(11183)
As
+124
13272
(11264)
Es
+126
13353
(11346)
B
+128
13435
(11428)
 
  Beses
+122
13190
(11183)
Feses
+124
13272
(11264)
Ceses
+126
13353
(11346)
Geses
+128
13435
(11428)
Deses
+130
13517
(11510)
Ases
+132
13599
(11592)
Eses
+134
13681
(11674)
Bes
+136
13763
(11756)
Fes
+138
13845
(11838)
Ces
+140
13927
(11920)
Ges
+142
14009
(12002)
Des
+144
14091
(12084)
  Beses
+144
14091
(12084)
Feses
+146
14173
(12166)
Ceses
+148
14255
(12248)
Geses
+150
14336
(12329)
Deses
+152
14418
(12411)
Ases
+154
14500
(12493)
Eses
+156
14582
(12575)
Bes
+158
14664
(12657)
 
  Beses
+166
14992
(12985)
Feses
+168
15074
(13067)
Ceses
+170
15156
(13149)
Geses
+172
15238
(13231)
Deses
+174
15320
(13312)
  Beses
+188
15893
(13886)
 

上の表は、以下のプログラムに出力させたものである。 以前とは異なり、数学関数は使わずに書けた。

#include <stdio.h>

#define LIN 21  /* 行の数(変えるとプログラム自体にも手直しが必要) */
#define COL 74  /* 列の数(変えるとプログラム自体にも手直しが必要) */
#define LI  10  /* 周波数 1 を何行めにおくか(変えてよい) */
#define CO  33  /* 周波数 1 を何列めにおくか(変えてよい) */

char* name[] = {"Beses",
                "Feses", "Ceses", "Geses", "Deses", "Ases", "Eses", "Bes", \
                "Fes", "Ces", "Ges", "Des", "As", "Es", "B", \
                "F", "C", "G", "D", "A", "E", "H", \
                "Fis", "Cis", "Gis", "Dis", "Ais", "Eis", "His", \
                "Fisis", "Cisis", "Gisis", "Disis", "Aisis", "Eisis", "Hisis" };

char* color[] = { "ffffdd", "eeddff", "ddffdd", "ffddee", "ddffff", "ffeedd", \
                  "ddddff", "eeffdd", "ffddff", "ddffee", "ffdddd", "ddeeff" };
        /* (平均律で)As, Es, B, F, C, G; D, A, E, H, Fis, Cis の地の色(変えてよい) */

main() {
    int i, j, n;
    long cent;

    printf("<html><body>\n<table border=\"1\">\n");
    printf("<tr>\n");
    for (j = 0; j < COL; j++) {
        printf("\t<td><font color=\"white\">####</font></td>\n");
    }
    printf("</tr>\n");
    for (i = 0; i < LIN; i++) {
        printf("<tr align=\"center\">\n");
        if (i <= LIN / 2) {
            if (i % 2 == 0) {
                printf("\t<td>&nbsp;</td>\n"); j = 1;
            } else {
                j = 0;
            }
        } else {
            printf("\t<td colspan=\"%d\">&nbsp;</td>\n", 7*i - COL + 5); j = 7*i - COL + 5;
        }

        for (   ; j < 7*i + 2 && j < COL - 1; j += 2) {
            cent = 1;
            cent += -14*(LI - i);   /* 長三度は 14 セントだけ平均律よりも小さい */
            cent -= 2*((LI + CO) - (i + j) + 1)/2;  /* 完全五度は 2 セントだけ */
            n = 35 - (7*i+1)/2 + j/2;           /* この値で音名が決まる */
            printf("\t<td colspan=\"2\" bgcolor=\"#%s\">", color[n%12]);
            printf("%s<br>", name[n]);
            printf("%+ld<br>", cent);
            printf("%ld<br>", (cent*4096+819200+99)/100);
	    printf("(%ld)</td>\n", ((cent-49)*4096+819200+99)/100);
        }
        if (j <= COL-1) {
            if (COL-1-j > 1) {
                printf("\t<td colspan=\"%d\">&nbsp;</td>\n", COL-j);
            } else {
                printf("\t<td>&nbsp;</td>\n");
            }
        }
        printf("</tr>\n");
    }
    printf("</table>\n");
}


すのもの Sunomono