1000 'save "jmacs-1.bas",a 1010 GOTO 1080 1020 DATA 2.2,2.2,2.5,2.4,2.1,2.6,3.4,2.4,5.3,5.0,2.1,11,5.8,5.3,6.3 1030 DATA 6.2,5.2,7.5,6.3,5.0,8.0,6.4,5.4,7.2,6.7,5.2,8.0,7.8,6.5,10 1040 DATA 9.5,8.0,10.8,0.40,0.38,0.44,2.4,0.65,5.2,2.8,1.0,5.7,2.8,2.4,3.3 1050 DATA 3.4,2.8,3.8,4.3,3.25,5.25,6.5,6.4,7.0,6.6,4.2,9.2,2.1,1.9,2.2 1060 DATA 2.5,2.1,2.7,2.9,2.8,3.0,3.2,2.4,5.2,4.3,3.0,5.3,8.1,3,12 1070 DATA 10,9,11,20,16,22,20,15,25,22,17,25 1080 KEY OFF:SCREEN 1,0:LOCATE 1,20,0:PRINT "MIDI Instruments Delay Data" 1090 LOCATE 3,1:PRINT "NO.1":LOCATE 6,1:PRINT " 5" 1100 LOCATE 9,1:PRINT " 10":LOCATE 12,1:PRINT " 15" 1110 LOCATE 15,1:PRINT " 20":LOCATE 18,1:PRINT " 25" 1120 LOCATE 21,1:PRINT " 29":LOCATE 23,7 1130 FOR I=0 TO 5:LOCATE 23,5+13*I:PRINT I*5:NEXT I 1140 LOCATE 23,73:PRINT "(msec)"; 1150 RESTORE 1020 1160 FOR I=1 TO 29:READ A,B,C 1170 CIRCLE (70+A*855/25,50+I*19),9,,,,6 1180 CIRCLE (70+A*855/25,50+I*19),7,,,,7 1190 CIRCLE (70+B*855/25,50+I*19),9,,,,5 1200 CIRCLE (70+C*855/25,50+I*19),9,,,,5 1210 LINE (70+B*855/25,50+I*19)-(70+C*855/25,50+I*19) 1220 NEXT I 1230 LINE (70,40)-(1023,625),,B 1240 IF INKEY$="" THEN 1240 ELSE SCREEN 0,0:LOCATE 1,1,1 1000 'save "jmacs-2.bas",a 1010 '===== Delay None , Amplitude Changes ===== 1020 DATA 100,100,100,0,0,0,100,90,100,0,0,0,100,80,100,0,0,0 1030 DATA 100,70,100,0,0,0,100,60,100,0,0,0,100,100,90,0,0,0 1040 DATA 100,100,80,0,0,0,100,100,70,0,0,0,100,100,60,0,0,0 1050 DATA 100,90,80,0,0,0,100,80,60,0,0,0,100,70,50,0,0,0 1060 DATA 80,90,100,0,0,0,80,100,90,0,0,0,70,100,80,0,0,0 1070 '===== 3rd Delay Only Change ===== 1080 DATA 100,100,100,0,1,0,100,100,100,0,2,0,100,100,100,0,3,0 1090 DATA 100,100,100,0,5,0,100,100,100,0,10,0,100,100,100,0,20,0 1100 DATA 100,90,80,0,1,0,100,90,80,0,2,0,100,90,80,0,3,0 1110 DATA 100,90,80,0,5,0,100,90,80,0,10,0,100,90,80,0,20,0 1120 DATA 100,80,60,0,1,0,100,80,60,0,2,0,100,80,60,0,3,0 1130 DATA 100,80,60,0,5,0,100,80,60,0,10,0,100,80,60,0,20,0 1140 '===== 5th Delay Only Change ===== 1150 DATA 100,100,100,0,0,1,100,100,100,0,0,2,100,100,100,0,0,3 1160 DATA 100,100,100,0,0,5,100,100,100,0,0,10,100,100,100,0,0,20 1170 DATA 100,90,80,0,0,1,100,90,80,0,0,2,100,90,80,0,0,3 1180 DATA 100,90,80,0,0,5,100,90,80,0,0,10,100,90,80,0,0,20 1190 DATA 100,80,60,0,0,1,100,80,60,0,0,2,100,80,60,0,0,3 1200 DATA 100,80,60,0,0,5,100,80,60,0,0,10,100,80,60,0,0,20 1210 '===== 3rd/5th Delay Same Change ===== 1220 DATA 100,100,100,0,1,1,100,100,100,0,2,2,100,100,100,0,3,3 1230 DATA 100,100,100,0,5,5,100,100,100,0,10,10,100,100,100,0,20,20 1240 DATA 100,90,80,0,1,1,100,90,80,0,2,2,100,90,80,0,3,3 1250 DATA 100,90,80,0,5,5,100,90,80,0,10,10,100,90,80,0,20,20 1260 DATA 100,80,60,0,1,1,100,80,60,0,2,2,100,80,60,0,3,3 1270 DATA 100,80,60,0,5,5,100,80,60,0,10,10,100,80,60,0,20,20 1280 '===== 3rd/5th Delay Different Change ===== 1290 DATA 100,90,80,0,1,2,100,90,80,0,1,3,100,90,80,0,1,5 1300 DATA 100,90,80,0,1,10,100,90,80,0,1,15,100,90,80,0,1,20 1310 DATA 100,90,80,0,2,1,100,90,80,0,2,3,100,90,80,0,2,5 1320 DATA 100,90,80,0,2,10,100,90,80,0,2,15,100,90,80,0,2,20 1330 DATA 100,90,80,0,3,1,100,90,80,0,3,2,100,90,80,0,3,5 1340 DATA 100,90,80,0,3,10,100,90,80,0,3,15,100,90,80,0,3,20 1350 DATA 100,90,80,0,5,1,100,90,80,0,5,2,100,90,80,0,5,3 1360 DATA 100,90,80,0,5,10,100,90,80,0,5,15,100,90,80,0,5,20 1370 DATA 100,90,80,0,10,1,100,90,80,0,10,2,100,90,80,0,10,3 1380 DATA 100,90,80,0,10,5,100,90,80,0,10,15,100,90,80,0,10,20 1390 DATA 100,90,80,0,15,1,100,90,80,0,15,2,100,90,80,0,15,3 1400 DATA 100,90,80,0,15,5,100,90,80,0,15,10,100,90,80,0,15,20 1410 DATA 100,90,80,0,20,1,100,90,80,0,20,2,100,90,80,0,20,3 1420 DATA 100,90,80,0,20,5,100,90,80,0,20,10,100,90,80,0,20,15 1430 KEY OFF:SCREEN 1,0:LOCATE 1,1,0:DIM M(6,3):RESTORE 1020 1440 FOR LOOP=1 TO 37 1450 CLS:FOR J=1 TO 3: FOR I=1 TO 6:READ M(I,J):NEXT I:NEXT J 1460 FOR I=0 TO 2 1470 A=M(1,I+1):B=M(2,I+1):C=M(3,I+1):D=M(4,I+1):E=M(5,I+1):F=M(6,I+1) 1480 A$=RIGHT$(STR$(A),LEN(STR$(A))-1) 1490 B$=RIGHT$(STR$(B),LEN(STR$(B))-1) 1500 C$=RIGHT$(STR$(C),LEN(STR$(C))-1) 1510 LOCATE 8*I+1,5 1520 PRINT "1st(";A$;"%) =";D;"msec , "; 1530 PRINT "3rd(";B$;"%) =";E;"msec , "; 1540 PRINT "5th(";C$;"%) =";F;"msec"; 1550 LINE (0,30+I*232)-(1023,210+I*232),,B 1560 LINE (0,120+I*232)-(1023,120+I*232),,,&H3333 1570 G=(A+B+C)/3:A=A*100/G:B=B*100/G:C=C*100/G 1580 XOLD=0:YOLD=120+I*232:ZPT=YOLD 1590 FOR J=0 TO 1022 STEP 2 1600 T=.05*J:X=J 1610 IF D";T#;"Hz", 1190 PRINT USING "+##.##############";V#;:PRINT " Cent" 1200 PRINT D$+"Data";H;"-->";U#;"Hz", 1210 PRINT USING "+##.##############";W#;:PRINT " Cent" 1220 PRINT #1,V#,W# 1230 NEXT I:CLOSE #1 1000 'save "jmacs-4.bas",a 1010 OPEN "pt200.dat" FOR OUTPUT AS #1 1020 CLS:X$="<< Intel [8254] Type : 16Bit Program Counter >>" 1030 Y$=" ( Master Clock = 1.8000 MHz )" 1040 PRINT X$:PRINT:PRINT Y$:PRINT:A$="A BbB C C#D EbE F F#G G#" 1050 H#=(2#^(1#/12#)):C#=1200#/LOG(2#) 1060 FOR I=1 TO 88 1070 J=(I-1) MOD 12 1080 K=INT((I+8)/12) 1090 B$=MID$(A$,2*J+1,2) 1100 IF I<10 THEN C$="Key " ELSE C$="Key" 1110 P#=CDBL(27.5*2^(INT((I-1)/12)))*H#^(CDBL(J)) 1120 Q#=1800000#/P#:L=INT(Q#):H=L+1:R#=CDBL(L):S#=CDBL(H) 1130 T#=1800000#/R#:U#=1800000#/S# 1140 D$=" ":IF L<1000 THEN D$=D$+" " 1150 IF L<100 THEN D$=D$+" " 1160 V#=C#*LOG(T#/P#):W#=C#*LOG(U#/P#) 1170 PRINT " "+C$;I;" [ "+B$;K;"] ";P#;"Hz" 1180 PRINT D$+"Data";L;"-->";T#;"Hz", 1190 PRINT USING "+##.##############";V#;:PRINT " Cent" 1200 PRINT D$+"Data";H;"-->";U#;"Hz", 1210 PRINT USING "+##.##############";W#;:PRINT " Cent" 1220 PRINT #1,V#,W# 1230 NEXT I:CLOSE #1 1000 'save "jmacs-5.bas",a 1010 OPEN "fm.dat" FOR OUTPUT AS #1 1020 CLS:X$="<< FM [YM3812] Type : 10Bit F-Number + 3Bit Octave >>" 1030 Y$=" ( Sampling Clock = 12.5kHz , 256 Word/Wave )" 1040 PRINT X$:PRINT:PRINT Y$:PRINT:A$="A BbB C C#D EbE F F#G G#" 1050 H#=(2#^(1#/12#)):C#=1200#/LOG(2#) 1060 FOR I=1 TO 88 1070 J=(I-1) MOD 12 1080 K=INT((I+8)/12) 1090 M=INT((I+7)/12) 1100 B$=MID$(A$,2*J+1,2) 1110 IF I<10 THEN C$="Key " ELSE C$="Key" 1120 P#=CDBL(27.5*2^(INT((I-1)/12)))*H#^(CDBL(J)) 1130 Q#=P#*256#/12.5#/1000#*1024#/2#^CDBL(M) 1140 L=INT(Q#):H=L+1:R#=CDBL(L):S#=CDBL(H) 1150 T#=R#/256#*12.5#*1000#/1024#*2#^CDBL(M) 1160 U#=S#/256#*12.5#*1000#/1024#*2#^CDBL(M) 1170 D$=" " 1180 V#=C#*LOG(T#/P#):W#=C#*LOG(U#/P#) 1190 PRINT " "+C$;I;" [ "+B$;K;"] ";P#;"Hz",:IF J=0 THEN PRINT "", 1200 PRINT " ( Block =";M;")" 1210 PRINT D$+"Data";L;"-->";T#;"Hz", 1220 PRINT USING "+##.##############";V#;:PRINT " Cent" 1230 PRINT D$+"Data";H;"-->";U#;"Hz", 1240 PRINT USING "+##.##############";W#;:PRINT " Cent" 1250 PRINT #1,V#,W# 1260 NEXT I:CLOSE #1 1000 'save "jmacs-6.bas",a 1010 OPEN "skb.dat" FOR OUTPUT AS #1 1020 CLS:X$="<< PCM [KTG101] Type : 24Bit F-Number Accumulator >>" 1030 Y$=" ( Sampling Clock = 62.5kHz , 256 Word/Wave )" 1040 PRINT X$:PRINT:PRINT Y$:PRINT:A$="A BbB C C#D EbE F F#G G#" 1050 H#=(2#^(1#/12#)):C#=1200#/LOG(2#) 1060 FOR I=1 TO 88 1070 J=(I-1) MOD 12 1080 K=INT((I+8)/12) 1090 B$=MID$(A$,2*J+1,2) 1100 IF I<10 THEN C$="Key " ELSE C$="Key" 1110 P#=CDBL(27.5*2^(INT((I-1)/12)))*H#^(CDBL(J)) 1120 Q#=P#*256#*16#/1000000#*65536#:L=INT(Q#):H=L+1:R#=CDBL(L):S#=CDBL(H) 1130 T#=R#/256#/16#*1000000#/65536# 1140 U#=S#/256#/16#*1000000#/65536# 1150 D$=" ":IF L<1000000! THEN D$=D$+" " 1160 IF L<100000! THEN D$=D$+" " 1170 IF L<10000 THEN D$=D$+" " 1180 V#=C#*LOG(T#/P#):W#=C#*LOG(U#/P#) 1190 PRINT " "+C$;I;" [ "+B$;K;"] ";P#;"Hz" 1200 PRINT D$+"Data";L;"-->";T#;"Hz", 1210 PRINT USING "+##.##############";V#;:PRINT " Cent" 1220 PRINT D$+"Data";H;"-->";U#;"Hz", 1230 PRINT USING "+##.##############";W#;:PRINT " Cent" 1240 PRINT #1,V#,W# 1250 NEXT I:CLOSE #1 1000 'save "jmacs-7.bas",a 1010 A$="Pitch Error : <1> PSG [AY-3-8910]/[AY-3-8912] 12Bit Counter" 1020 OPEN "psg.dat" FOR INPUT AS #1 1030 KEY OFF:SCREEN 1,0:LOCATE 1,10,0:PRINT A$ 1040 LOCATE 2,1:PRINT "(Cent)":LOCATE 3,1:PRINT " +60" 1050 LOCATE 6,1:PRINT " +40":LOCATE 9,1:PRINT " +20" 1060 LOCATE 12,1:PRINT " 0":LOCATE 15,1:PRINT " -20" 1070 LOCATE 18,1:PRINT " -40":LOCATE 21,1:PRINT " -60" 1080 LOCATE 23,1:PRINT "Key : 1 10"; 1090 LOCATE 23,21:PRINT "20";:LOCATE 23,29:PRINT "30"; 1100 LOCATE 23,37:PRINT "40";:LOCATE 23,45:PRINT "50"; 1110 LOCATE 23,53:PRINT "60";:LOCATE 23,61:PRINT "70"; 1120 LOCATE 23,69:PRINT "80";:LOCATE 23,76:PRINT "88"; 1130 FOR I=1 TO 88:INPUT #1,X#,Y# 1140 X1=73+I*920/88 1150 Y1=333-X#*293/65 1160 Y2=333-Y#*293/65 1170 CIRCLE (X1,Y1),3,,,,.5 1180 CIRCLE (X1,Y2),3,,,,.5 1190 LINE (X1,Y1)-(X1,Y2) 1200 NEXT I 1210 LINE (75,333)-(1000,333),,,&H3333 1220 LINE (75,40)-(1000,625),,B 1230 IF INKEY$="" THEN 1230 ELSE SCREEN 0,0:LOCATE 1,1,1 1000 'save "jmacs-8.bas",a 1010 A$="Pitch Error : <2> Intel [8254] Type 16Bit Program Counter" 1020 OPEN "pt200.dat" FOR INPUT AS #1 1030 KEY OFF:SCREEN 1,0:LOCATE 1,10,0:PRINT A$ 1040 LOCATE 2,1:PRINT "(Cent)":LOCATE 3,1:PRINT " +4.5" 1050 LOCATE 6,1:PRINT " +3.0":LOCATE 9,1:PRINT " +1.5" 1060 LOCATE 12,1:PRINT " 0":LOCATE 15,1:PRINT " -1.5" 1070 LOCATE 18,1:PRINT " -3.0":LOCATE 21,1:PRINT " -4.5" 1080 LOCATE 23,1:PRINT "Key : 1 10"; 1090 LOCATE 23,21:PRINT "20";:LOCATE 23,29:PRINT "30"; 1100 LOCATE 23,37:PRINT "40";:LOCATE 23,45:PRINT "50"; 1110 LOCATE 23,53:PRINT "60";:LOCATE 23,61:PRINT "70"; 1120 LOCATE 23,69:PRINT "80";:LOCATE 23,76:PRINT "88"; 1130 FOR I=1 TO 88:INPUT #1,X#,Y# 1140 X1=73+I*920/88 1150 Y1=333-X#*293/4.7 1160 Y2=333-Y#*293/4.7 1170 CIRCLE (X1,Y1),3,,,,.5 1180 CIRCLE (X1,Y2),3,,,,.5 1190 LINE (X1,Y1)-(X1,Y2) 1200 NEXT I 1210 LINE (75,333)-(1000,333),,,&H3333 1220 LINE (75,40)-(1000,625),,B 1230 IF INKEY$="" THEN 1230 ELSE SCREEN 0,0:LOCATE 1,1,1 1000 'save "jmacs-9.bas",a 1010 A$="Pitch Error : <3> FM [YM3812] Type 10Bit F-Number + 3Bit Octave" 1020 OPEN "fm.dat" FOR INPUT AS #1 1030 KEY OFF:SCREEN 1,0:LOCATE 1,10,0:PRINT A$ 1040 LOCATE 2,1:PRINT "(Cent)":LOCATE 3,1:PRINT " +4.5" 1050 LOCATE 6,1:PRINT " +3.0":LOCATE 9,1:PRINT " +1.5" 1060 LOCATE 12,1:PRINT " 0":LOCATE 15,1:PRINT " -1.5" 1070 LOCATE 18,1:PRINT " -3.0":LOCATE 21,1:PRINT " -4.5" 1080 LOCATE 23,1:PRINT "Key : 1 10"; 1090 LOCATE 23,21:PRINT "20";:LOCATE 23,29:PRINT "30"; 1100 LOCATE 23,37:PRINT "40";:LOCATE 23,45:PRINT "50"; 1110 LOCATE 23,53:PRINT "60";:LOCATE 23,61:PRINT "70"; 1120 LOCATE 23,69:PRINT "80";:LOCATE 23,76:PRINT "88"; 1130 FOR I=1 TO 88:INPUT #1,X#,Y# 1140 X1=73+I*920/88 1150 Y1=333-X#*293/4.7 1160 Y2=333-Y#*293/4.7 1170 CIRCLE (X1,Y1),3,,,,.5 1180 CIRCLE (X1,Y2),3,,,,.5 1190 LINE (X1,Y1)-(X1,Y2) 1200 NEXT I 1210 LINE (75,333)-(1000,333),,,&H3333 1220 LINE (75,40)-(1000,625),,B 1230 IF INKEY$="" THEN 1230 ELSE SCREEN 0,0:LOCATE 1,1,1 1000 'save "jmacs-10.bas",a 1010 A$="Pitch Error : <4> PCM [KTG***] Type 24Bit F-Number " 1020 OPEN "skb.dat" FOR INPUT AS #1 1030 KEY OFF:SCREEN 1,0:LOCATE 1,10,0:PRINT A$ 1040 LOCATE 2,1:PRINT "(Cent)":LOCATE 3,1:PRINT " +0.3" 1050 LOCATE 6,1:PRINT " +0.2":LOCATE 9,1:PRINT " +0.1" 1060 LOCATE 12,1:PRINT " 0":LOCATE 15,1:PRINT " -0.1" 1070 LOCATE 18,1:PRINT " -0.2":LOCATE 21,1:PRINT " -0.3" 1080 LOCATE 23,1:PRINT "Key : 1 10"; 1090 LOCATE 23,21:PRINT "20";:LOCATE 23,29:PRINT "30"; 1100 LOCATE 23,37:PRINT "40";:LOCATE 23,45:PRINT "50"; 1110 LOCATE 23,53:PRINT "60";:LOCATE 23,61:PRINT "70"; 1120 LOCATE 23,69:PRINT "80";:LOCATE 23,76:PRINT "88"; 1130 FOR I=1 TO 88:INPUT #1,X#,Y# 1140 X1=73+I*920/88 1150 Y1=333-X#*293/.33 1160 Y2=333-Y#*293/.33 1170 CIRCLE (X1,Y1),3,,,,.5 1180 CIRCLE (X1,Y2),3,,,,.5 1190 LINE (X1,Y1)-(X1,Y2) 1200 NEXT I 1210 LINE (75,333)-(1000,333),,,&H3333 1220 LINE (75,40)-(1000,625),,B 1230 IF INKEY$="" THEN 1230 ELSE SCREEN 0,0:LOCATE 1,1,1 1000 'save "jmacs-11.bas",a 1010 DIM D#(12):D#(0)=0#:M#=1200#/LOG(2#) 1020 FLG=0 1030 N#=M#*LOG(CDBL(3^4/5/2^4)) 1040 W#=M#*LOG(CDBL(3^12/2^19)) 1050 CLS:A$="C C#D EbE F F#G AbA BbB " 1060 IF FLG=2 THEN OPEN "temp.dat" FOR OUTPUT AS #1 1070 GOTO 1190 1080 '***** Subroutine ***** 1090 PRINT:PRINT:PRINT "<<< "+N$+" >>>":PRINT 1100 IF FLG=2 THEN PRINT #1,N$ 1110 IF FLG=1 THEN LPRINT:LPRINT:LPRINT "<<< "+N$+" >>>":LPRINT 1120 FOR I=0 TO 11 1130 PRINT " ["+MID$(A$,2*I+1,2)+"] "; 1140 IF FLG=1 THEN LPRINT " ["+MID$(A$,2*I+1,2)+"] "; 1150 PRINT USING "####.##########";D#(I);:PRINT " cent" 1160 IF FLG=2 THEN PRINT #1,D#(I) 1170 IF FLG=1 THEN LPRINT USING "####.##########";D#(I);:LPRINT " cent" 1180 NEXT I:RETURN 1190 N$="[NO.1] 12 Equal Temperament" 1200 FOR I=1 TO 11 1210 D#(I)=CDBL(I)*100 1220 NEXT I 1230 GOSUB 1080 1240 N$="[NO.2] Pythagorean Scale ( 3#/2b )" 1250 D#(1)=M#*LOG(CDBL(3^7/2^11)) 1260 D#(2)=M#*LOG(CDBL(3^2/2^3)) 1270 D#(3)=M#*LOG(CDBL(2^5/3^3)) 1280 D#(4)=M#*LOG(CDBL(3^4/2^6)) 1290 D#(5)=M#*LOG(CDBL(2^2/3)) 1300 D#(6)=M#*LOG(CDBL(3^6/2^9)) 1310 D#(7)=M#*LOG(CDBL(3/2)) 1320 D#(8)=M#*LOG(CDBL(3^8/2^12)) 1330 D#(9)=M#*LOG(CDBL(3^3/2^4)) 1340 D#(10)=M#*LOG(CDBL(2^4/3^2)) 1350 D#(11)=M#*LOG(CDBL(3^5/2^7)) 1360 GOSUB 1080 1370 N$="[NO.3] Pythagorean Scale ( 2#/3b )" 1380 D#(1)=M#*LOG(CDBL(3^7/2^11)) 1390 D#(2)=M#*LOG(CDBL(3^2/2^3)) 1400 D#(3)=M#*LOG(CDBL(2^5/3^3)) 1410 D#(4)=M#*LOG(CDBL(3^4/2^6)) 1420 D#(5)=M#*LOG(CDBL(2^2/3)) 1430 D#(6)=M#*LOG(CDBL(3^6/2^9)) 1440 D#(7)=M#*LOG(CDBL(3/2)) 1450 D#(8)=M#*LOG(CDBL(2^7/3^4)) 1460 D#(9)=M#*LOG(CDBL(3^3/2^4)) 1470 D#(10)=M#*LOG(CDBL(2^4/3^2)) 1480 D#(11)=M#*LOG(CDBL(3^5/2^7)) 1490 GOSUB 1080 1500 N$="[NO.4] Pythagorean Scale ( 1#/4b )" 1510 D#(1)=M#*LOG(CDBL(2^8/3^5)) 1520 D#(2)=M#*LOG(CDBL(3^2/2^3)) 1530 D#(3)=M#*LOG(CDBL(2^5/3^3)) 1540 D#(4)=M#*LOG(CDBL(3^4/2^6)) 1550 D#(5)=M#*LOG(CDBL(2^2/3)) 1560 D#(6)=M#*LOG(CDBL(3^6/2^9)) 1570 D#(7)=M#*LOG(CDBL(3/2)) 1580 D#(8)=M#*LOG(CDBL(2^7/3^4)) 1590 D#(9)=M#*LOG(CDBL(3^3/2^4)) 1600 D#(10)=M#*LOG(CDBL(2^4/3^2)) 1610 D#(11)=M#*LOG(CDBL(3^5/2^7)) 1620 GOSUB 1080 1630 N$="[NO.5] Pythagorean Scale ( 5b )" 1640 D#(1)=M#*LOG(CDBL(2^8/3^5)) 1650 D#(2)=M#*LOG(CDBL(3^2/2^3)) 1660 D#(3)=M#*LOG(CDBL(2^5/3^3)) 1670 D#(4)=M#*LOG(CDBL(3^4/2^6)) 1680 D#(5)=M#*LOG(CDBL(2^2/3)) 1690 D#(6)=M#*LOG(CDBL(2^10/3^6)) 1700 D#(7)=M#*LOG(CDBL(3/2)) 1710 D#(8)=M#*LOG(CDBL(2^7/3^4)) 1720 D#(9)=M#*LOG(CDBL(3^3/2^4)) 1730 D#(10)=M#*LOG(CDBL(2^4/3^2)) 1740 D#(11)=M#*LOG(CDBL(3^5/2^7)) 1750 GOSUB 1080 1760 N$="[NO.6] Pythagorean Scale ( 4#/1b )" 1770 D#(1)=M#*LOG(CDBL(3^7/2^11)) 1780 D#(2)=M#*LOG(CDBL(3^2/2^3)) 1790 D#(3)=M#*LOG(CDBL(3^9/2^14)) 1800 D#(4)=M#*LOG(CDBL(3^4/2^6)) 1810 D#(5)=M#*LOG(CDBL(2^2/3)) 1820 D#(6)=M#*LOG(CDBL(3^6/2^9)) 1830 D#(7)=M#*LOG(CDBL(3/2)) 1840 D#(8)=M#*LOG(CDBL(3^8/2^12)) 1850 D#(9)=M#*LOG(CDBL(3^3/2^4)) 1860 D#(10)=M#*LOG(CDBL(2^4/3^2)) 1870 D#(11)=M#*LOG(CDBL(3^5/2^7)) 1880 GOSUB 1080 1890 N$="[NO.7] Pythagorean Scale ( 5# )" 1900 D#(1)=M#*LOG(CDBL(3^7/2^11)) 1910 D#(2)=M#*LOG(CDBL(3^2/2^3)) 1920 D#(3)=M#*LOG(CDBL(3^9/2^14)) 1930 D#(4)=M#*LOG(CDBL(3^4/2^6)) 1940 D#(5)=M#*LOG(CDBL(2^2/3)) 1950 D#(6)=M#*LOG(CDBL(3^6/2^9)) 1960 D#(7)=M#*LOG(CDBL(3/2)) 1970 D#(8)=M#*LOG(CDBL(3^8/2^12)) 1980 D#(9)=M#*LOG(CDBL(3^3/2^4)) 1990 D#(10)=M#*LOG(CDBL(3^10/2^15)) 2000 D#(11)=M#*LOG(CDBL(3^5/2^7)) 2010 GOSUB 1080 2020 N$="[NO.8] Meantone ( 3#/2b )" 2030 D#(1)=M#*LOG(CDBL(3^7/2^11))-N#*CDBL(7/4) 2040 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(1/2) 2050 D#(3)=M#*LOG(CDBL(2^5/3^3))+N#*CDBL(3/4) 2060 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(1) 2070 D#(5)=M#*LOG(CDBL(2^2/3))+N#*CDBL(1/4) 2080 D#(6)=M#*LOG(CDBL(3^6/2^9))-N#*CDBL(3/2) 2090 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/4) 2100 D#(8)=M#*LOG(CDBL(3^8/2^12))-N#*CDBL(2) 2110 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(3/4) 2120 D#(10)=M#*LOG(CDBL(2^4/3^2))+N#*CDBL(1/2) 2130 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(5/4) 2140 GOSUB 1080 2150 N$="[NO.9] Meantone ( 2#/3b )" 2160 D#(1)=M#*LOG(CDBL(3^7/2^11))-N#*CDBL(7/4) 2170 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(1/2) 2180 D#(3)=M#*LOG(CDBL(2^5/3^3))+N#*CDBL(3/4) 2190 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(1) 2200 D#(5)=M#*LOG(CDBL(2^2/3))+N#*CDBL(1/4) 2210 D#(6)=M#*LOG(CDBL(3^6/2^9))-N#*CDBL(3/2) 2220 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/4) 2230 D#(8)=M#*LOG(CDBL(2^7/3^4))+N#*CDBL(1) 2240 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(3/4) 2250 D#(10)=M#*LOG(CDBL(2^4/3^2))+N#*CDBL(1/2) 2260 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(5/4) 2270 GOSUB 1080 2280 N$="[NO.10] Meantone ( 1#/4b )" 2290 D#(1)=M#*LOG(CDBL(2^8/3^5))+N#*CDBL(5/4) 2300 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(1/2) 2310 D#(3)=M#*LOG(CDBL(2^5/3^3))+N#*CDBL(3/4) 2320 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(1) 2330 D#(5)=M#*LOG(CDBL(2^2/3))+N#*CDBL(1/4) 2340 D#(6)=M#*LOG(CDBL(3^6/2^9))-N#*CDBL(3/2) 2350 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/4) 2360 D#(8)=M#*LOG(CDBL(2^7/3^4))+N#*CDBL(1) 2370 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(3/4) 2380 D#(10)=M#*LOG(CDBL(2^4/3^2))+N#*CDBL(1/2) 2390 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(5/4) 2400 GOSUB 1080 2410 N$="[NO.11] Meantone ( 5b )" 2420 D#(1)=M#*LOG(CDBL(2^8/3^5))+N#*CDBL(5/4) 2430 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(1/2) 2440 D#(3)=M#*LOG(CDBL(2^5/3^3))+N#*CDBL(3/4) 2450 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(1) 2460 D#(5)=M#*LOG(CDBL(2^2/3))+N#*CDBL(1/4) 2470 D#(6)=M#*LOG(CDBL(2^10/3^6))+N#*CDBL(3/2) 2480 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/4) 2490 D#(8)=M#*LOG(CDBL(2^7/3^4))+N#*CDBL(1) 2500 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(3/4) 2510 D#(10)=M#*LOG(CDBL(2^4/3^2))+N#*CDBL(1/2) 2520 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(5/4) 2530 GOSUB 1080 2540 N$="[NO.12] Meantone ( 4#/1b )" 2550 D#(1)=M#*LOG(CDBL(3^7/2^11))-N#*CDBL(7/4) 2560 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(1/2) 2570 D#(3)=M#*LOG(CDBL(3^9/2^14))-N#*CDBL(9/4) 2580 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(1) 2590 D#(5)=M#*LOG(CDBL(2^2/3))+N#*CDBL(1/4) 2600 D#(6)=M#*LOG(CDBL(3^6/2^9))-N#*CDBL(3/2) 2610 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/4) 2620 D#(8)=M#*LOG(CDBL(3^8/2^12))-N#*CDBL(2) 2630 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(3/4) 2640 D#(10)=M#*LOG(CDBL(2^4/3^2))+N#*CDBL(1/2) 2650 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(5/4) 2660 GOSUB 1080 2670 N$="[NO.13] Meantone ( 5# )" 2680 D#(1)=M#*LOG(CDBL(3^7/2^11))-N#*CDBL(7/4) 2690 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(1/2) 2700 D#(3)=M#*LOG(CDBL(3^9/2^14))-N#*CDBL(9/4) 2710 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(1) 2720 D#(5)=M#*LOG(CDBL(2^2/3))+N#*CDBL(1/4) 2730 D#(6)=M#*LOG(CDBL(3^6/2^9))-N#*CDBL(3/2) 2740 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/4) 2750 D#(8)=M#*LOG(CDBL(3^8/2^12))-N#*CDBL(2) 2760 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(3/4) 2770 D#(10)=M#*LOG(CDBL(3^10/2^15))-N#*CDBL(5/2) 2780 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(5/4) 2790 GOSUB 1080 2800 N$="[NO.14] Salinas ( 1/3 Syntonic Comma )" 2810 D#(1)=M#*LOG(CDBL(3^7/2^11))-N#*CDBL(7/3) 2820 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(2/3) 2830 D#(3)=M#*LOG(CDBL(2^5/3^3))+N#*CDBL(1) 2840 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(4/3) 2850 D#(5)=M#*LOG(CDBL(2^2/3))+N#*CDBL(1/3) 2860 D#(6)=M#*LOG(CDBL(3^6/2^9))-N#*CDBL(2) 2870 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/3) 2880 D#(8)=M#*LOG(CDBL(3^8/2^12))-N#*CDBL(8/3) 2890 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(1) 2900 D#(10)=M#*LOG(CDBL(2^4/3^2))+N#*CDBL(2/3) 2910 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(5/3) 2920 GOSUB 1080 2930 N$="[NO.15] Verheijen-Rossi ( 1/5 Syntonic Comma )" 2940 D#(1)=M#*LOG(CDBL(3^7/2^11))-N#*CDBL(7/5) 2950 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(2/5) 2960 D#(3)=M#*LOG(CDBL(2^5/3^3))+N#*CDBL(3/5) 2970 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(4/5) 2980 D#(5)=M#*LOG(CDBL(2^2/3))+N#*CDBL(1/5) 2990 D#(6)=M#*LOG(CDBL(3^6/2^9))-N#*CDBL(6/5) 3000 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/5) 3010 D#(8)=M#*LOG(CDBL(3^8/2^12))-N#*CDBL(8/5) 3020 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(3/5) 3030 D#(10)=M#*LOG(CDBL(2^4/3^2))+N#*CDBL(2/5) 3040 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(1) 3050 GOSUB 1080 3060 N$="[NO.16] Praetorius Meantone" 3070 D#(1)=M#*LOG(CDBL(3^7/2^11))-N#*CDBL(7/4) 3080 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(1/2) 3090 D#(3)=M#*LOG(CDBL(2^5/3^3))+N#*CDBL(1/2) 3100 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(1) 3110 D#(5)=M#*LOG(CDBL(2^2/3))+N#*CDBL(1/4) 3120 D#(6)=M#*LOG(CDBL(3^6/2^9))-N#*CDBL(3/2) 3130 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/4) 3140 D#(8)=M#*LOG(CDBL(3^8/2^12))-N#*CDBL(7/4) 3150 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(3/4) 3160 D#(10)=M#*LOG(CDBL(2^4/3^2))+N#*CDBL(1/2) 3170 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(5/4) 3180 GOSUB 1080 3190 N$="[NO.17] Schnitger Meantone" 3200 D#(1)=M#*LOG(CDBL(3^7/2^11))-N#*CDBL(3/2) 3210 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(1/2) 3220 D#(3)=M#*LOG(CDBL(2^5/3^3))+N#*CDBL(1/4) 3230 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(1) 3240 D#(5)=M#*LOG(CDBL(2^2/3))+N#*CDBL(1/4) 3250 D#(6)=M#*LOG(CDBL(3^6/2^9))-N#*CDBL(3/2) 3260 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/4) 3270 D#(8)=M#*LOG(CDBL(3^8/2^12))-N#*CDBL(3/2) 3280 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(3/4) 3290 D#(10)=M#*LOG(CDBL(2^4/3^2))+N#*CDBL(1/4) 3300 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(5/4) 3310 GOSUB 1080 3320 N$="[NO.18] Kirnberger <1>" 3330 D#(1)=M#*LOG(CDBL(2^8/3^5)) 3340 D#(2)=M#*LOG(CDBL(3^2/2^3)) 3350 D#(3)=M#*LOG(CDBL(2^5/3^3)) 3360 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(1) 3370 D#(5)=M#*LOG(CDBL(2^2/3)) 3380 D#(6)=M#*LOG(CDBL(3^6/2^9))-N#*CDBL(1) 3390 D#(7)=M#*LOG(CDBL(3/2)) 3400 D#(8)=M#*LOG(CDBL(2^7/3^4)) 3410 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(1) 3420 D#(10)=M#*LOG(CDBL(2^4/3^2)) 3430 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(1) 3440 GOSUB 1080 3450 N$="[NO.19] Kirnberger <2>" 3460 D#(1)=M#*LOG(CDBL(2^8/3^5)) 3470 D#(2)=M#*LOG(CDBL(3^2/2^3)) 3480 D#(3)=M#*LOG(CDBL(2^5/3^3)) 3490 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(1) 3500 D#(5)=M#*LOG(CDBL(2^2/3)) 3510 D#(6)=M#*LOG(CDBL(3^6/2^9))-N#*CDBL(1) 3520 D#(7)=M#*LOG(CDBL(3/2)) 3530 D#(8)=M#*LOG(CDBL(2^7/3^4)) 3540 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(1/2) 3550 D#(10)=M#*LOG(CDBL(2^4/3^2)) 3560 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(1) 3570 GOSUB 1080 3580 N$="[NO.20] Kirnberger <3>" 3590 D#(1)=M#*LOG(CDBL(2^8/3^5)) 3600 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(1/2) 3610 D#(3)=M#*LOG(CDBL(2^5/3^3)) 3620 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(1) 3630 D#(5)=M#*LOG(CDBL(2^2/3)) 3640 D#(6)=M#*LOG(CDBL(3^6/2^9))-N#*CDBL(1) 3650 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/4) 3660 D#(8)=M#*LOG(CDBL(2^7/3^4)) 3670 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(3/4) 3680 D#(10)=M#*LOG(CDBL(2^4/3^2)) 3690 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(1) 3700 GOSUB 1080 3710 N$="[NO.21] Werckmeister <1>" 3720 D#(1)=M#*LOG(CDBL(2^8/3^5)) 3730 D#(2)=M#*LOG(CDBL(3^2/2^3))-W#*CDBL(1/2) 3740 D#(3)=M#*LOG(CDBL(2^5/3^3)) 3750 D#(4)=M#*LOG(CDBL(3^4/2^6))-W#*CDBL(3/4) 3760 D#(5)=M#*LOG(CDBL(2^2/3)) 3770 D#(6)=M#*LOG(CDBL(2^10/3^6)) 3780 D#(7)=M#*LOG(CDBL(3/2))-W#*CDBL(1/4) 3790 D#(8)=M#*LOG(CDBL(2^7/3^4)) 3800 D#(9)=M#*LOG(CDBL(3^3/2^4))-W#*CDBL(3/4) 3810 D#(10)=M#*LOG(CDBL(2^4/3^2)) 3820 D#(11)=M#*LOG(CDBL(3^5/2^7))-W#*CDBL(3/4) 3830 GOSUB 1080 3840 N$="[NO.22] Werckmeister <2>" 3850 D#(1)=M#*LOG(CDBL(3^7/2^11))-W#*CDBL(4/3) 3860 D#(2)=M#*LOG(CDBL(3^2/2^3))-W#*CDBL(1/3) 3870 D#(3)=M#*LOG(CDBL(2^5/3^3)) 3880 D#(4)=M#*LOG(CDBL(3^4/2^6))-W#*CDBL(2/3) 3890 D#(5)=M#*LOG(CDBL(2^2/3)) 3900 D#(6)=M#*LOG(CDBL(3^6/2^9))-W#*CDBL(1) 3910 D#(7)=M#*LOG(CDBL(3/2))-W#*CDBL(1/3) 3920 D#(8)=M#*LOG(CDBL(3^8/2^12))-W#*CDBL(4/3) 3930 D#(9)=M#*LOG(CDBL(3^3/2^4))-W#*CDBL(2/3) 3940 D#(10)=M#*LOG(CDBL(2^4/3^2))+W#*CDBL(1/3) 3950 D#(11)=M#*LOG(CDBL(3^5/2^7))-W#*CDBL(1) 3960 GOSUB 1080 3970 N$="[NO.23] Werckmeister <3>" 3980 D#(1)=M#*LOG(CDBL(3^7/2^11))-W#*CDBL(3/4) 3990 D#(2)=M#*LOG(CDBL(3^2/2^3)) 4000 D#(3)=M#*LOG(CDBL(2^5/3^3))+W#*CDBL(1/4) 4010 D#(4)=M#*LOG(CDBL(3^4/2^6))-W#*CDBL(1/2) 4020 D#(5)=M#*LOG(CDBL(2^2/3))+W#*CDBL(1/4) 4030 D#(6)=M#*LOG(CDBL(3^6/2^9))-W#*CDBL(1/2) 4040 D#(7)=M#*LOG(CDBL(3/2)) 4050 D#(8)=M#*LOG(CDBL(3^8/2^12))-W#*CDBL(1) 4060 D#(9)=M#*LOG(CDBL(3^3/2^4))-W#*CDBL(1/4) 4070 D#(10)=M#*LOG(CDBL(2^4/3^2))+W#*CDBL(1/4) 4080 D#(11)=M#*LOG(CDBL(3^5/2^7))-W#*CDBL(1/2) 4090 GOSUB 1080 4100 N$="[NO.24] Kirnberger - Werckmeistar" 4110 D#(1)=M#*LOG(CDBL(2^8/3^5)) 4120 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(1/2) 4130 D#(3)=M#*LOG(CDBL(2^5/3^3)) 4140 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(3/4) 4150 D#(5)=M#*LOG(CDBL(2^2/3)) 4160 D#(6)=M#*LOG(CDBL(3^6/2^9))-N#*CDBL(1) 4170 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/4) 4180 D#(8)=M#*LOG(CDBL(2^7/3^4)) 4190 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(3/4) 4200 D#(10)=M#*LOG(CDBL(2^4/3^2)) 4210 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(3/4) 4220 GOSUB 1080 4230 N$="[NO.25] Rameau-Legros Meantone" 4240 D#(1)=M#*LOG(CDBL(3^7/2^11))-N#*CDBL(5/4) 4250 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(1/2) 4260 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(1) 4270 D#(5)=M#*LOG(CDBL(2^2/3))+N#*CDBL(1/4) 4280 D#(6)=M#*LOG(CDBL(3^6/2^9))-N#*CDBL(5/4) 4290 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/4) 4300 D#(8)=M#*LOG(CDBL(3^8/2^12))-N#*CDBL(5/4) 4310 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(3/4) 4320 D#(10)=M#*LOG(CDBL(2^4/3^2))+N#*CDBL(1/2) 4330 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(5/4) 4340 D#(3)=(D#(10)+D#(8)-1200#)/2# 4350 GOSUB 1080 4360 N$="[NO.26] Vogel-III Meantone" 4370 D#(1)=M#*LOG(CDBL(3^7/2^11))-N#*CDBL(3/2) 4380 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(1/2) 4390 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(1) 4400 D#(5)=M#*LOG(CDBL(2^2/3)) 4410 D#(6)=M#*LOG(CDBL(3^6/2^9))-N#*CDBL(3/2) 4420 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/4) 4430 D#(8)=M#*LOG(CDBL(3^8/2^12))-N#*CDBL(3/2) 4440 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(3/4) 4450 D#(10)=M#*LOG(CDBL(2^4/3^2)) 4460 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(5/4) 4470 D#(3)=(D#(10)+D#(8)-1200#)/2# 4480 GOSUB 1080 4490 N$="[NO.27] Bruder Well-Tempered" 4500 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/4) 4510 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(1/2) 4520 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(3/4) 4530 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(1) 4540 D#(5)=(M#*LOG(CDBL(2*5)))/8# 4550 D#(10)=D#(5)*2# 4560 D#(3)=D#(5)*3#-CDBL(1200*1) 4570 D#(8)=D#(5)*4#-CDBL(1200*1) 4580 D#(1)=D#(5)*5#-CDBL(1200*2) 4590 D#(6)=D#(5)*6#-CDBL(1200*2) 4600 D#(11)=D#(5)*7#-CDBL(1200*2) 4610 GOSUB 1080 4620 N$="[NO.28] Bruder - Werckmeister" 4630 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/4) 4640 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(1/2) 4650 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(3/4) 4660 D#(5)=(M#*LOG(CDBL(2*5)))/8# 4670 D#(10)=D#(5)*2# 4680 D#(3)=D#(5)*3#-CDBL(1200*1) 4690 D#(8)=D#(5)*4#-CDBL(1200*1) 4700 D#(1)=D#(5)*5#-CDBL(1200*2) 4710 D#(6)=D#(5)*6#-CDBL(1200*2) 4720 D#(11)=D#(6)-D#(7)+1200# 4730 D#(4)=D#(9)-D#(5) 4740 GOSUB 1080 4750 N$="[NO.29] Gottfried ( 1/6 Syntonic Comma )" 4760 D#(1)=M#*LOG(CDBL(3^7/2^11))-N#*CDBL(7/6) 4770 D#(2)=M#*LOG(CDBL(3^2/2^3))-N#*CDBL(1/3) 4780 D#(3)=M#*LOG(CDBL(2^5/3^3))+N#*CDBL(1/2) 4790 D#(4)=M#*LOG(CDBL(3^4/2^6))-N#*CDBL(2/3) 4800 D#(5)=M#*LOG(CDBL(2^2/3))+N#*CDBL(1/6) 4810 D#(6)=M#*LOG(CDBL(3^6/2^9))-N#*CDBL(1) 4820 D#(7)=M#*LOG(CDBL(3/2))-N#*CDBL(1/6) 4830 D#(8)=M#*LOG(CDBL(3^8/2^12))-N#*CDBL(4/3) 4840 D#(9)=M#*LOG(CDBL(3^3/2^4))-N#*CDBL(1/2) 4850 D#(10)=M#*LOG(CDBL(2^4/3^2))+N#*CDBL(1/3) 4860 D#(11)=M#*LOG(CDBL(3^5/2^7))-N#*CDBL(5/6) 4870 GOSUB 1080 4880 N$="[NO.30] Gottfried ( 1/6 Pythagorean Comma )" 4890 D#(1)=M#*LOG(CDBL(3^7/2^11))-W#*CDBL(7/6) 4900 D#(2)=M#*LOG(CDBL(3^2/2^3))-W#*CDBL(1/3) 4910 D#(3)=M#*LOG(CDBL(2^5/3^3))+W#*CDBL(1/2) 4920 D#(4)=M#*LOG(CDBL(3^4/2^6))-W#*CDBL(2/3) 4930 D#(5)=M#*LOG(CDBL(2^2/3))+W#*CDBL(1/6) 4940 D#(6)=M#*LOG(CDBL(3^6/2^9))-W#*CDBL(1) 4950 D#(7)=M#*LOG(CDBL(3/2))-W#*CDBL(1/6) 4960 D#(8)=M#*LOG(CDBL(3^8/2^12))-W#*CDBL(4/3) 4970 D#(9)=M#*LOG(CDBL(3^3/2^4))-W#*CDBL(1/2) 4980 D#(10)=M#*LOG(CDBL(2^4/3^2))+W#*CDBL(1/3) 4990 D#(11)=M#*LOG(CDBL(3^5/2^7))-W#*CDBL(5/6) 5000 GOSUB 1080 5010 N$="[NO.31] Marin Mersenne : Pure Temperament" 5020 D#(1)=M#*LOG(CDBL(25/24)) 5030 D#(2)=M#*LOG(CDBL(9/8)) 5040 D#(3)=M#*LOG(CDBL(75/64)) 5050 D#(4)=M#*LOG(CDBL(5/4)) 5060 D#(5)=M#*LOG(CDBL(4/3)) 5070 D#(6)=M#*LOG(CDBL(25/18)) 5080 D#(7)=M#*LOG(CDBL(3/2)) 5090 D#(8)=M#*LOG(CDBL(25/16)) 5100 D#(9)=M#*LOG(CDBL(5/3)) 5110 D#(10)=M#*LOG(CDBL(16/9)) 5120 D#(11)=M#*LOG(CDBL(15/8)) 5130 GOSUB 1080 5140 N$="[NO.32] Pure Temperament (Q-39)" 5150 D#(1)=M#*LOG(CDBL(5/4*5/4*2/3)) 5160 D#(2)=M#*LOG(CDBL(5/4*2/3*2/3*2)) 5170 D#(3)=M#*LOG(CDBL(2/3*2/3*2/3*4)) 5180 D#(4)=M#*LOG(CDBL(5/4)) 5190 D#(5)=M#*LOG(CDBL(2/3*2)) 5200 D#(6)=M#*LOG(CDBL(5/4*5/4*2/3*2/3*2)) 5210 D#(7)=M#*LOG(CDBL(5/4*2/3*2/3*2/3*4)) 5220 D#(8)=M#*LOG(CDBL(5/4*5/4)) 5230 D#(9)=M#*LOG(CDBL(5/4*2/3*2)) 5240 D#(10)=M#*LOG(CDBL(2/3*2/3*4)) 5250 D#(11)=M#*LOG(CDBL(5/4*5/4*2/3*2/3*2/3*4)) 5260 GOSUB 1080 5270 N$="[NO.33] Pure Temperament (Q-40)" 5280 D#(1)=M#*LOG(CDBL(5/4*5/4*2/3)) 5290 D#(2)=M#*LOG(CDBL(5/4*2/3*2/3*2)) 5300 D#(3)=M#*LOG(CDBL(3/2*5/4*5/4/2)) 5310 D#(4)=M#*LOG(CDBL(5/4)) 5320 D#(5)=M#*LOG(CDBL(2/3*2)) 5330 D#(6)=M#*LOG(CDBL(5/4*5/4*2/3*2/3*2)) 5340 D#(7)=M#*LOG(CDBL(3/2)) 5350 D#(8)=M#*LOG(CDBL(5/4*5/4)) 5360 D#(9)=M#*LOG(CDBL(5/4*2/3*2)) 5370 D#(10)=M#*LOG(CDBL(2/3*2/3*4)) 5380 D#(11)=M#*LOG(CDBL(3/2*5/4)) 5390 GOSUB 1080 5400 N$="[NO.34] Pure Temperament (Q-41)" 5410 D#(1)=M#*LOG(CDBL(5/4*5/4*2/3)) 5420 D#(2)=M#*LOG(CDBL(3/2*3/2/2)) 5430 D#(3)=M#*LOG(CDBL(3/2*5/4*5/4/2)) 5440 D#(4)=M#*LOG(CDBL(5/4)) 5450 D#(5)=M#*LOG(CDBL(2/3*2)) 5460 D#(6)=M#*LOG(CDBL(3/2*3/2*5/4/2)) 5470 D#(7)=M#*LOG(CDBL(3/2)) 5480 D#(8)=M#*LOG(CDBL(5/4*5/4)) 5490 D#(9)=M#*LOG(CDBL(5/4*2/3*2)) 5500 D#(10)=M#*LOG(CDBL(3/2*3/2*5/4*5/4/2)) 5510 D#(11)=M#*LOG(CDBL(3/2*5/4)) 5520 GOSUB 1080 5530 N$="[NO.35] Pure Temperament (Q-42)" 5540 D#(1)=M#*LOG(CDBL(3/2*3/2*3/2*5/4/4)) 5550 D#(2)=M#*LOG(CDBL(3/2*3/2/2)) 5560 D#(3)=M#*LOG(CDBL(3/2*5/4*5/4/2)) 5570 D#(4)=M#*LOG(CDBL(5/4)) 5580 D#(5)=M#*LOG(CDBL(3/2*3/2*3/2*5/4*5/4/4)) 5590 D#(6)=M#*LOG(CDBL(3/2*3/2*5/4/2)) 5600 D#(7)=M#*LOG(CDBL(3/2)) 5610 D#(8)=M#*LOG(CDBL(5/4*5/4)) 5620 D#(9)=M#*LOG(CDBL(3/2*3/2*3/2/2)) 5630 D#(10)=M#*LOG(CDBL(3/2*3/2*5/4*5/4/2)) 5640 D#(11)=M#*LOG(CDBL(3/2*5/4)) 5650 GOSUB 1080 5660 N$="[NO.36] Pure Temperament (Q-48)" 5670 D#(1)=M#*LOG(CDBL(4/5*2/3*2)) 5680 D#(2)=M#*LOG(CDBL(5/4*2/3*2/3*2)) 5690 D#(3)=M#*LOG(CDBL(2/3*2/3*2/3*4)) 5700 D#(4)=M#*LOG(CDBL(5/4)) 5710 D#(5)=M#*LOG(CDBL(2/3*2)) 5720 D#(6)=M#*LOG(CDBL(4/5*2/3*2/3*4)) 5730 D#(7)=M#*LOG(CDBL(5/4*2/3*2/3*2/3*4)) 5740 D#(8)=M#*LOG(CDBL(4/5*2)) 5750 D#(9)=M#*LOG(CDBL(5/4*2/3*2)) 5760 D#(10)=M#*LOG(CDBL(2/3*2/3*4)) 5770 D#(11)=M#*LOG(CDBL(4/5*2/3*2/3*2/3*8)) 5780 GOSUB 1080 5790 N$="[NO.37] Pure Temperament (Q-49)" 5800 D#(1)=M#*LOG(CDBL(4/5*2/3*2)) 5810 D#(2)=M#*LOG(CDBL(5/4*2/3*2/3*2)) 5820 D#(3)=M#*LOG(CDBL(3/2*4/5)) 5830 D#(4)=M#*LOG(CDBL(5/4)) 5840 D#(5)=M#*LOG(CDBL(2/3*2)) 5850 D#(6)=M#*LOG(CDBL(4/5*2/3*2/3*4)) 5860 D#(7)=M#*LOG(CDBL(3/2)) 5870 D#(8)=M#*LOG(CDBL(4/5*2)) 5880 D#(9)=M#*LOG(CDBL(5/4*2/3*2)) 5890 D#(10)=M#*LOG(CDBL(2/3*2/3*4)) 5900 D#(11)=M#*LOG(CDBL(3/2*5/4)) 5910 GOSUB 1080 5920 N$="[NO.38] Pure Temperament (Q-50)" 5930 D#(1)=M#*LOG(CDBL(4/5*2/3*2)) 5940 D#(2)=M#*LOG(CDBL(3/2*3/2/2)) 5950 D#(3)=M#*LOG(CDBL(3/2*4/5)) 5960 D#(4)=M#*LOG(CDBL(5/4)) 5970 D#(5)=M#*LOG(CDBL(2/3*2)) 5980 D#(6)=M#*LOG(CDBL(3/2*3/2*5/4/2)) 5990 D#(7)=M#*LOG(CDBL(3/2)) 6000 D#(8)=M#*LOG(CDBL(4/5*2)) 6010 D#(9)=M#*LOG(CDBL(5/4*2/3*2)) 6020 D#(10)=M#*LOG(CDBL(3/2*3/2*4/5)) 6030 D#(11)=M#*LOG(CDBL(3/2*5/4)) 6040 GOSUB 1080 6050 N$="[NO.39] Pure Temperament (Q-51)" 6060 D#(1)=M#*LOG(CDBL(3/2*3/2*3/2*5/4/4)) 6070 D#(2)=M#*LOG(CDBL(3/2*3/2/2)) 6080 D#(3)=M#*LOG(CDBL(3/2*4/5)) 6090 D#(4)=M#*LOG(CDBL(5/4)) 6100 D#(5)=M#*LOG(CDBL(3/2*3/2*3/2*4/5/2)) 6110 D#(6)=M#*LOG(CDBL(3/2*3/2*5/4/2)) 6120 D#(7)=M#*LOG(CDBL(3/2)) 6130 D#(8)=M#*LOG(CDBL(4/5*2)) 6140 D#(9)=M#*LOG(CDBL(3/2*3/2*3/2/2)) 6150 D#(10)=M#*LOG(CDBL(3/2*3/2*4/5)) 6160 D#(11)=M#*LOG(CDBL(3/2*5/4)) 6170 GOSUB 1080 6180 N$="[NO.40] Pure Temperament (Q-57)" 6190 D#(1)=M#*LOG(CDBL(4/5*2/3*2)) 6200 D#(2)=M#*LOG(CDBL(4/5*4/5*2/3*2/3*4)) 6210 D#(3)=M#*LOG(CDBL(2/3*2/3*2/3*4)) 6220 D#(4)=M#*LOG(CDBL(4/5*4/5*2)) 6230 D#(5)=M#*LOG(CDBL(2/3*2)) 6240 D#(6)=M#*LOG(CDBL(4/5*2/3*2/3*4)) 6250 D#(7)=M#*LOG(CDBL(4/5*4/5*2/3*2/3*2/3*8)) 6260 D#(8)=M#*LOG(CDBL(4/5*2)) 6270 D#(9)=M#*LOG(CDBL(4/5*4/5*2/3*4)) 6280 D#(10)=M#*LOG(CDBL(2/3*2/3*4)) 6290 D#(11)=M#*LOG(CDBL(4/5*2/3*2/3*2/3*8)) 6300 GOSUB 1080 6310 N$="[NO.41] Pure Temperament (Q-58)" 6320 D#(1)=M#*LOG(CDBL(4/5*2/3*2)) 6330 D#(2)=M#*LOG(CDBL(4/5*4/5*2/3*2/3*4)) 6340 D#(3)=M#*LOG(CDBL(3/2*4/5)) 6350 D#(4)=M#*LOG(CDBL(4/5*4/5*2)) 6360 D#(5)=M#*LOG(CDBL(2/3*2)) 6370 D#(6)=M#*LOG(CDBL(4/5*2/3*2/3*4)) 6380 D#(7)=M#*LOG(CDBL(3/2)) 6390 D#(8)=M#*LOG(CDBL(4/5*2)) 6400 D#(9)=M#*LOG(CDBL(4/5*4/5*2/3*4)) 6410 D#(10)=M#*LOG(CDBL(2/3*2/3*4)) 6420 D#(11)=M#*LOG(CDBL(3/2*4/5*4/5*2)) 6430 GOSUB 1080 6440 N$="[NO.42] Pure Temperament (Q-59)" 6450 D#(1)=M#*LOG(CDBL(4/5*2/3*2)) 6460 D#(2)=M#*LOG(CDBL(3/2*3/2/2)) 6470 D#(3)=M#*LOG(CDBL(3/2*4/5)) 6480 D#(4)=M#*LOG(CDBL(4/5*4/5*2)) 6490 D#(5)=M#*LOG(CDBL(2/3*2)) 6500 D#(6)=M#*LOG(CDBL(3/2*3/2*4/5*4/5)) 6510 D#(7)=M#*LOG(CDBL(3/2)) 6520 D#(8)=M#*LOG(CDBL(4/5*2)) 6530 D#(9)=M#*LOG(CDBL(4/5*4/5*2/3*4)) 6540 D#(10)=M#*LOG(CDBL(3/2*3/2*4/5)) 6550 D#(11)=M#*LOG(CDBL(3/2*4/5*4/5*2)) 6560 GOSUB 1080 6570 N$="[NO.43] Pure Temperament (Q-60)" 6580 D#(1)=M#*LOG(CDBL(3/2*3/2*3/2*4/5*4/5/2)) 6590 D#(2)=M#*LOG(CDBL(3/2*3/2/2)) 6600 D#(3)=M#*LOG(CDBL(3/2*4/5)) 6610 D#(4)=M#*LOG(CDBL(4/5*4/5*2)) 6620 D#(5)=M#*LOG(CDBL(3/2*3/2*3/2*4/5/2)) 6630 D#(6)=M#*LOG(CDBL(3/2*3/2*4/5*4/5)) 6640 D#(7)=M#*LOG(CDBL(3/2)) 6650 D#(8)=M#*LOG(CDBL(4/5*2)) 6660 D#(9)=M#*LOG(CDBL(3/2*3/2*3/2/2)) 6670 D#(10)=M#*LOG(CDBL(3/2*3/2*4/5)) 6680 D#(11)=M#*LOG(CDBL(3/2*4/5*4/5*2)) 6690 GOSUB 1080 6700 N$="[NO.44] Pure Temperament (T-39)" 6710 D#(1)=M#*LOG(CDBL(5/3*5/3*5/3*2/3*2/3/2)) 6720 D#(2)=M#*LOG(CDBL(5/3*2/3)) 6730 D#(3)=M#*LOG(CDBL(5/3*5/3*5/3/4)) 6740 D#(4)=M#*LOG(CDBL(5/3*5/3*2/3*2/3)) 6750 D#(5)=M#*LOG(CDBL(2/3*2)) 6760 D#(6)=M#*LOG(CDBL(5/3*5/3/2)) 6770 D#(7)=M#*LOG(CDBL(5/3*2/3*2/3*2)) 6780 D#(8)=M#*LOG(CDBL(5/3*5/3*5/3*2/3/2)) 6790 D#(9)=M#*LOG(CDBL(5/3)) 6800 D#(10)=M#*LOG(CDBL(2/3*2/3*4)) 6810 D#(11)=M#*LOG(CDBL(5/3*5/3*2/3*2/2)) 6820 GOSUB 1080 6830 N$="[NO.45] Pure Temperament (T-40)" 6840 D#(1)=M#*LOG(CDBL(3/2*5/3*5/3/4)) 6850 D#(2)=M#*LOG(CDBL(5/3*2/3)) 6860 D#(3)=M#*LOG(CDBL(5/3*5/3*5/3/4)) 6870 D#(4)=M#*LOG(CDBL(3/2*5/3/2)) 6880 D#(5)=M#*LOG(CDBL(2/3*2)) 6890 D#(6)=M#*LOG(CDBL(5/3*5/3/2)) 6900 D#(7)=M#*LOG(CDBL(3/2)) 6910 D#(8)=M#*LOG(CDBL(5/3*5/3*5/3*2/3/2)) 6920 D#(9)=M#*LOG(CDBL(5/3)) 6930 D#(10)=M#*LOG(CDBL(3/2*5/3*5/3*5/3/4)) 6940 D#(11)=M#*LOG(CDBL(5/3*5/3*2/3*2/2)) 6950 GOSUB 1080 6960 N$="[NO.46] Pure Temperament (T-41)" 6970 D#(1)=M#*LOG(CDBL(3/2*5/3*5/3/4)) 6980 D#(2)=M#*LOG(CDBL(3/2*3/2/2)) 6990 D#(3)=M#*LOG(CDBL(5/3*5/3*5/3/4)) 7000 D#(4)=M#*LOG(CDBL(3/2*5/3/2)) 7010 D#(5)=M#*LOG(CDBL(3/2*3/2*5/3*5/3*5/3/8)) 7020 D#(6)=M#*LOG(CDBL(5/3*5/3/2)) 7030 D#(7)=M#*LOG(CDBL(3/2)) 7040 D#(8)=M#*LOG(CDBL(3/2*3/2*5/3*5/3/4)) 7050 D#(9)=M#*LOG(CDBL(5/3)) 7060 D#(10)=M#*LOG(CDBL(3/2*5/3*5/3*5/3/4)) 7070 D#(11)=M#*LOG(CDBL(3/2*3/2*5/3/2)) 7080 GOSUB 1080 7090 N$="[NO.47] Pure Temperament (T-49)" 7100 D#(1)=M#*LOG(CDBL(3/5*2/3*2/3*4)) 7110 D#(2)=M#*LOG(CDBL(5/3*2/3)) 7120 D#(3)=M#*LOG(CDBL(3/5*2)) 7130 D#(4)=M#*LOG(CDBL(5/3*5/3*2/3*2/3)) 7140 D#(5)=M#*LOG(CDBL(2/3*2)) 7150 D#(6)=M#*LOG(CDBL(5/3*5/3/2)) 7160 D#(7)=M#*LOG(CDBL(5/3*2/3*2/3*2)) 7170 D#(8)=M#*LOG(CDBL(3/5*2/3*4)) 7180 D#(9)=M#*LOG(CDBL(5/3)) 7190 D#(10)=M#*LOG(CDBL(2/3*2/3*4)) 7200 D#(11)=M#*LOG(CDBL(5/3*5/3*2/3*2/2)) 7210 GOSUB 1080 7220 N$="[NO.48] Pure Temperament (T-50)" 7230 D#(1)=M#*LOG(CDBL(3/2*5/3*5/3/4)) 7240 D#(2)=M#*LOG(CDBL(5/3*2/3)) 7250 D#(3)=M#*LOG(CDBL(3/5*2)) 7260 D#(4)=M#*LOG(CDBL(3/2*5/3/2)) 7270 D#(5)=M#*LOG(CDBL(2/3*2)) 7280 D#(6)=M#*LOG(CDBL(5/3*5/3/2)) 7290 D#(7)=M#*LOG(CDBL(3/2)) 7300 D#(8)=M#*LOG(CDBL(3/5*2/3*4)) 7310 D#(9)=M#*LOG(CDBL(5/3)) 7320 D#(10)=M#*LOG(CDBL(3/2*3/5*2)) 7330 D#(11)=M#*LOG(CDBL(5/3*5/3*2/3*2/2)) 7340 GOSUB 1080 7350 N$="[NO.49] Pure Temperament (T-51)" 7360 D#(1)=M#*LOG(CDBL(3/2*5/3*5/3/4)) 7370 D#(2)=M#*LOG(CDBL(3/2*3/2/2)) 7380 D#(3)=M#*LOG(CDBL(3/5*2)) 7390 D#(4)=M#*LOG(CDBL(3/2*5/3/2)) 7400 D#(5)=M#*LOG(CDBL(3/2*3/2*3/5)) 7410 D#(6)=M#*LOG(CDBL(5/3*5/3/2)) 7420 D#(7)=M#*LOG(CDBL(3/2)) 7430 D#(8)=M#*LOG(CDBL(3/2*3/2*5/3*5/3/4)) 7440 D#(9)=M#*LOG(CDBL(5/3)) 7450 D#(10)=M#*LOG(CDBL(3/2*3/5*2)) 7460 D#(11)=M#*LOG(CDBL(3/2*3/2*5/3/2)) 7470 GOSUB 1080 7480 N$="[NO.50] Pure Temperament (T-59)" 7490 D#(1)=M#*LOG(CDBL(3/5*2/3*2/3*4)) 7500 D#(2)=M#*LOG(CDBL(5/3*2/3)) 7510 D#(3)=M#*LOG(CDBL(3/5*2)) 7520 D#(4)=M#*LOG(CDBL(3/5*3/5*2/3*2/3*8)) 7530 D#(5)=M#*LOG(CDBL(2/3*2)) 7540 D#(6)=M#*LOG(CDBL(3/5*3/5*4)) 7550 D#(7)=M#*LOG(CDBL(5/3*2/3*2/3*2)) 7560 D#(8)=M#*LOG(CDBL(3/5*2/3*4)) 7570 D#(9)=M#*LOG(CDBL(5/3)) 7580 D#(10)=M#*LOG(CDBL(2/3*2/3*4)) 7590 D#(11)=M#*LOG(CDBL(3/5*3/5*2/3*8)) 7600 GOSUB 1080 7610 N$="[NO.51] Pure Temperament (T-60)" 7620 D#(1)=M#*LOG(CDBL(3/2*3/5*3/5*2)) 7630 D#(2)=M#*LOG(CDBL(5/3*2/3)) 7640 D#(3)=M#*LOG(CDBL(3/5*2)) 7650 D#(4)=M#*LOG(CDBL(3/2*5/3/2)) 7660 D#(5)=M#*LOG(CDBL(2/3*2)) 7670 D#(6)=M#*LOG(CDBL(3/5*3/5*4)) 7680 D#(7)=M#*LOG(CDBL(3/2)) 7690 D#(8)=M#*LOG(CDBL(3/5*2/3*4)) 7700 D#(9)=M#*LOG(CDBL(5/3)) 7710 D#(10)=M#*LOG(CDBL(3/2*3/5*2)) 7720 D#(11)=M#*LOG(CDBL(3/5*3/5*2/3*8)) 7730 GOSUB 1080 7740 N$="[NO.52] Pure Temperament (T-61)" 7750 D#(1)=M#*LOG(CDBL(3/2*3/5*3/5*2)) 7760 D#(2)=M#*LOG(CDBL(3/2*3/2/2)) 7770 D#(3)=M#*LOG(CDBL(3/5*2)) 7780 D#(4)=M#*LOG(CDBL(3/2*5/3/2)) 7790 D#(5)=M#*LOG(CDBL(3/2*3/2*3/5)) 7800 D#(6)=M#*LOG(CDBL(3/5*3/5*4)) 7810 D#(7)=M#*LOG(CDBL(3/2)) 7820 D#(8)=M#*LOG(CDBL(3/2*3/2*3/5*3/5*2)) 7830 D#(9)=M#*LOG(CDBL(5/3)) 7840 D#(10)=M#*LOG(CDBL(3/2*3/5*2)) 7850 D#(11)=M#*LOG(CDBL(3/2*3/2*5/3/2)) 7860 GOSUB 1080 7870 N$="[NO.53] Pure Temperament (T-69)" 7880 D#(1)=M#*LOG(CDBL(3/5*2/3*2/3*4)) 7890 D#(2)=M#*LOG(CDBL(3/5*3/5*3/5*2/3*8)) 7900 D#(3)=M#*LOG(CDBL(3/5*2)) 7910 D#(4)=M#*LOG(CDBL(3/5*3/5*2/3*2/3*8)) 7920 D#(5)=M#*LOG(CDBL(2/3*2)) 7930 D#(6)=M#*LOG(CDBL(3/5*3/5*4)) 7940 D#(7)=M#*LOG(CDBL(3/5*3/5*3/5*2/3*2/3*16)) 7950 D#(8)=M#*LOG(CDBL(3/5*2/3*4)) 7960 D#(9)=M#*LOG(CDBL(3/5*3/5*3/5*8)) 7970 D#(10)=M#*LOG(CDBL(2/3*2/3*4)) 7980 D#(11)=M#*LOG(CDBL(3/5*3/5*2/3*8)) 7990 GOSUB 1080 8000 N$="[NO.54] Pure Temperament (T-70)" 8010 D#(1)=M#*LOG(CDBL(3/2*3/5*3/5*2)) 8020 D#(2)=M#*LOG(CDBL(3/5*3/5*3/5*2/3*8)) 8030 D#(3)=M#*LOG(CDBL(3/5*2)) 8040 D#(4)=M#*LOG(CDBL(3/2*3/5*3/5*3/5*4)) 8050 D#(5)=M#*LOG(CDBL(2/3*2)) 8060 D#(6)=M#*LOG(CDBL(3/5*3/5*4)) 8070 D#(7)=M#*LOG(CDBL(3/2)) 8080 D#(8)=M#*LOG(CDBL(3/5*2/3*4)) 8090 D#(9)=M#*LOG(CDBL(3/5*3/5*3/5*8)) 8100 D#(10)=M#*LOG(CDBL(3/2*3/5*2)) 8110 D#(11)=M#*LOG(CDBL(3/5*3/5*2/3*8)) 8120 GOSUB 1080 8130 N$="[NO.55] Pure Temperament (T-71)" 8140 D#(1)=M#*LOG(CDBL(3/2*3/5*3/5*2)) 8150 D#(2)=M#*LOG(CDBL(3/2*3/2/2)) 8160 D#(3)=M#*LOG(CDBL(3/5*2)) 8170 D#(4)=M#*LOG(CDBL(3/2*3/5*3/5*3/5*4)) 8180 D#(5)=M#*LOG(CDBL(3/2*3/2*3/5)) 8190 D#(6)=M#*LOG(CDBL(3/5*3/5*4)) 8200 D#(7)=M#*LOG(CDBL(3/2)) 8210 D#(8)=M#*LOG(CDBL(3/2*3/2*3/5*3/5*2)) 8220 D#(9)=M#*LOG(CDBL(3/5*3/5*3/5*8)) 8230 D#(10)=M#*LOG(CDBL(3/2*3/5*2)) 8240 D#(11)=M#*LOG(CDBL(3/2*3/2*3/5*3/5*3/5*4)) 8250 GOSUB 1080 8260 IF FLG=2 THEN CLOSE #1 1000 'save "jmacs-12.bas",a 1010 DIM D#(12):M#=1200#/LOG(2#):OPEN "temp.dat" FOR INPUT AS #1 1020 XX=0 1030 A$="Pitch Differences of Temperaments : Note = [ C ]" 1040 KEY OFF:SCREEN 1,0:LOCATE 1,10,0:PRINT A$ 1050 LOCATE 2,1:PRINT "(Cent)":LOCATE 3,1:PRINT " +45" 1060 LOCATE 6,1:PRINT " +30":LOCATE 9,1:PRINT " +15" 1070 LOCATE 12,1:PRINT " 0":LOCATE 15,1:PRINT " -15" 1080 LOCATE 18,1:PRINT " -30":LOCATE 21,1:PRINT " -45" 1090 LOCATE 23,1:PRINT "Temp : 1 10 20 30"; 1100 PRINT " 40 50 55"; 1110 FOR I=1 TO 55:INPUT #1,A$:FOR J=0 TO 11:INPUT #1,D#(J):NEXT J 1120 X#=D#(XX)-CDBL(100*XX) 1130 X=75+I*900/55 1140 Y=333-X#*293/52 1150 CIRCLE (X,Y),3,,,,.5 1160 LINE (X,Y)-(X,333) 1170 NEXT I 1180 LINE (75,333)-(1000,333),,,&H3333:LINE (75,40)-(1000,625),,B 1190 IF INKEY$="" THEN 1190 ELSE SCREEN 0,0:LOCATE 1,1,1 1000 'save "jmacs-13.bas",a 1010 KEY OFF:SCREEN 1,0:LOCATE 1,1,0 1020 WW=15:A=100:B=80:C=60 1030 I=0'********************** 1040 LINE (0,30+I*232)-(1023,210+I*232),,B 1050 LINE (0,120+I*232)-(1023,120+I*232),,,&H3333 1060 XOLD=0:YOLD=120+I*232:ZPT=YOLD 1070 LOCATE 8*I+1,5:PRINT "[ Pure Temperament ]"; 1080 PRINT " 1st : 3rd = 4 : 5 / 1st : 5th = 2 : 3"; 1090 FOR J=0 TO 1022 1100 Y1=SIN(J*3.1416*2/WW) 1110 Y2=SIN(J*3.1416*2/WW*5/4) 1120 Y3=SIN(J*3.1416*2/WW*3/2) 1130 Y=ZPT-(A*Y1+B*Y2+C*Y3)/3.5 1140 LINE (XOLD,YOLD)-(J,Y):XOLD=J:YOLD=Y 1150 NEXT J 1160 I=1'********************** 1170 LINE (0,30+I*232)-(1023,210+I*232),,B 1180 LINE (0,120+I*232)-(1023,120+I*232),,,&H3333 1190 XOLD=0:YOLD=120+I*232:ZPT=YOLD 1200 LOCATE 8*I+1,5:PRINT "[ 12 Equal Temperament ]"; 1210 PRINT " 3rd = 400 Cent / 5th = 700 Cent" 1220 FOR J=0 TO 1022 1230 Y1=SIN(J*3.1416*2/WW) 1240 Y2=SIN(J*3.1416*2/WW*2^(4/12)) 1250 Y3=SIN(J*3.1416*2/WW*2^(7/12)) 1260 Y=ZPT-(A*Y1+B*Y2+C*Y3)/3.5 1270 LINE (XOLD,YOLD)-(J,Y):XOLD=J:YOLD=Y 1280 NEXT J 1290 IF INKEY$="" THEN 1290 1300 SCREEN 0,0:LOCATE 1,1,1 1000 'save "jmacs-14.bas",a 1010 KEY OFF:SCREEN 1,0:M#=1200#/LOG(2#) 1020 DIM D#(12):DIM X5(12),Y5(12),X3(12),Y3(12),F(12) 1030 DATA 3,8,1,6,11,4,9,2,7,0,5,10 1040 RESTORE 1030:FOR I=0 TO 11:READ F(I):NEXT I 1050 B$="C C#D EbE F F#G G#A BbB " 1060 OPEN "temp.dat" FOR INPUT AS #1 1070 FOR LOOP=1 TO 55 1080 CLS:INPUT #1,A$ 1090 FOR I=0 TO 11:INPUT #1,D#(I):NEXT I 1100 FOR I=0 TO 11:X=644+350*COS(3.1416/6*I):Y=392-350*SIN(3.1416/6*I) 1110 LINE (644,392)-(X,Y),,,&H1111:NEXT I 1120 LOCATE 8,50:PRINT "C":LOCATE 9,43:PRINT "F":LOCATE 9,56:PRINT "G" 1130 LOCATE 11,38:PRINT "Bb":LOCATE 11,61:PRINT "D" 1140 LOCATE 14,36:PRINT "Eb":LOCATE 14,63:PRINT "A" 1150 LOCATE 17,38:PRINT "G#":LOCATE 17,61:PRINT "E" 1160 LOCATE 20,50:PRINT "F#":LOCATE 19,43:PRINT "C#":LOCATE 19,56:PRINT "B" 1170 FOR I=0 TO 11:J=(I+7) MOD 12:K=(I+4) MOD 12 1180 P=D#(I):Q=D#(J):R=Q-P:IF R<0 THEN R=R+1200 1190 S=D#(I):T=D#(K):U=T-S:IF U<0 THEN U=U+1200 1200 X5(I)=644+(20+7*ABS(R-701.955))*COS(3.1416/6*F(I)) 1210 Y5(I)=392-(20+7*ABS(R-701.955))*SIN(3.1416/6*F(I)) 1220 X3(I)=644+(20+7*ABS(U-386.314))*COS(3.1416/6*F(I)) 1230 Y3(I)=392-(20+7*ABS(U-386.314))*SIN(3.1416/6*F(I)) 1240 NEXT I 1250 FOR I=0 TO 11:J=(I+7) MOD 12 1260 LINE (X5(I),Y5(I))-(X5(J),Y5(J)) 1270 LINE (X3(I),Y3(I))-(X3(J),Y3(J)),,,&H6666 1280 NEXT I 1290 LOCATE 2,3,0:PRINT A$ 1300 FOR I=0 TO 11 1310 LOCATE 5+I,6:PRINT "["+MID$(B$,2*I+1,2)+"] ="; 1320 PRINT USING " ####.####";D#(I):NEXT I 1330 LINE (0,0)-(1023,767),,B 1340 IF INKEY$="" THEN 1340 ELSE NEXT LOOP 1350 CLOSE #1:SCREEN 0,0:LOCATE 1,1,1 1000 'save "jmacs-15.bas",a 1010 '===== Data Area ===== 1020 DATA 100,100,100,0,0,0,100,80,60,0,0,0,100,80,90,0,0,0 1030 DATA 100,80,90,0,1,0,100,80,90,0,2,0,100,80,90,0,3,0 1040 DATA 100,80,90,0,5,0,100,80,90,0,10,0,100,80,90,0,20,0 1050 DATA 100,80,90,0,0,1,100,80,90,0,0,2,100,80,90,0,0,3 1060 DATA 100,80,90,0,0,5,100,80,90,0,0,10,100,80,90,0,0,20 1070 DATA 100,80,90,0,2,5,100,80,90,0,10,3,100,80,90,0,10,20 1080 KEY OFF:SCREEN 1,0:LOCATE 1,1,0:DIM M(6,3):RESTORE 1010 1090 FOR LOOP=1 TO 6 1100 CLS:FOR J=1 TO 3: FOR I=1 TO 6:READ M(I,J):NEXT I:NEXT J 1110 FOR I=0 TO 2 1120 A=M(1,I+1):B=M(2,I+1):C=M(3,I+1):D=M(4,I+1):E=M(5,I+1):F=M(6,I+1) 1130 A$=RIGHT$(STR$(A),LEN(STR$(A))-1) 1140 B$=RIGHT$(STR$(B),LEN(STR$(B))-1) 1150 C$=RIGHT$(STR$(C),LEN(STR$(C))-1) 1160 LOCATE 8*I+1,3 1170 PRINT "[Pure Temp.] 1st(";A$;"%)=";D;"ms , "; 1180 PRINT "3rd(";B$;"%)=";E;"ms , "; 1190 PRINT "5th(";C$;"%)=";F;"ms"; 1200 LINE (0,30+I*232)-(1023,210+I*232),,B 1210 LINE (0,120+I*232)-(1023,120+I*232),,,&H3333 1220 G=(A+B+C)/3:A=A*100/G:B=B*100/G:C=C*100/G 1230 XOLD=0:YOLD=120+I*232:ZPT=YOLD 1240 FOR J=0 TO 1022 STEP 1 1250 T=.2*J:X=J 1260 IF D100 OR IY>100 THEN 1340 1240 CLS:LOCATE 11,4,0:PRINT "X =";IX 1250 LOCATE 14,4:PRINT "Y =";IY 1260 FOR I=1 TO 360 STEP TT 1270 X=XP+300*COS(I*3.1415926535#/180*IX) 1280 Y=YP-300*SIN(I*3.1415926535#/180*IY) 1290 CIRCLE (X,Y),1 1300 NEXT I 1310 LINE (0,0)-(1023,767),,B 1320 IF INKEY$="" THEN 1320 1330 GOTO 1220 1340 SCREEN 0,0:LOCATE 1,1,1 1000 'save "jmacs-18.bas",a 1010 KEY OFF:SCREEN 1,0:M#=1200#/LOG(2#) 1020 TT=.1:XP=600:YP=384 1030 DATA 1,"1度",1,1 1040 DATA 1,"完全5度",3,2 1050 DATA 1,"完全4度",4,3 1060 DATA 1,"長3度",5,4 1070 DATA 1,"短3度",6,5 1080 DATA 1,"大全音",9,8 1090 DATA 1,"小全音",10,9 1100 DATA 1,"全音階的半音",16,15 1110 DATA 1,"半音階的小半音",25,24 1120 DATA 1,"大リンマ",27,25 1130 DATA 1,"半音階的大半音",135,128 1140 DATA 1,"ピタゴラス・リンマ",256,243 1150 DATA 999," ",1,1 1160 RESTORE 1030 1170 '#### LOOP #### 1180 READ FLG,A$,IX,IY:IF FLG=0 THEN 1180 ELSE IF FLG=999 THEN 1310 1190 CLS:LOCATE 7,2,0:PRINT "[Name]":LOCATE 9,4:PRINT A$ 1200 LOCATE 13,2:PRINT "[Ratio]":LOCATE 15,4:PRINT IX;":";IY 1210 X=XP+300:Y=YP 1220 FOR I=0 TO 360 STEP TT 1230 XX=XP+300*COS(I*3.1415926535#/180*IX) 1240 YY=YP-300*SIN(I*3.1415926535#/180*IY) 1250 LINE (X,Y)-(XX,YY) 1260 X=XX:Y=YY 1270 NEXT I 1280 LINE (0,0)-(1023,767),,B 1290 IF INKEY$="" THEN 1290 1300 GOTO 1170 1310 SCREEN 0,0:LOCATE 1,1,1:LIST 1000-1170 1000 'save "jmacs-19.bas",a 1010 KEY OFF:SCREEN 1,0:M#=1200#/LOG(2#) 1020 LP=32:TT=.5:XP#=600#:YP#=384# 1030 A$="平均律完全5度" 1040 PP#=1.498307077# 1050 CLS:LOCATE 5,2,0:PRINT "[Name]":LOCATE 7,4:PRINT A$ 1060 LOCATE 11,2:PRINT "[Ratio]":LOCATE 13,4:PRINT PP# 1070 LOCATE 17,2:PRINT "[Count]":LOCATE 19,4:PRINT LP;"Loop" 1080 X=XP#+300:Y=YP# 1090 FOR I=0 TO 360*LP STEP TT 1100 J#=CDBL(I) 1110 XX=XP#+300#*COS(J#*3.1415926535#/180#*PP#*2#) 1120 YY=YP#-300#*SIN(J#*3.1415926535#/180#*2#) 1130 LINE (X,Y)-(XX,YY) 1140 X=XX:Y=YY 1150 NEXT I 1160 LINE (0,0)-(1023,767),,B 1170 IF INKEY$="" THEN 1170 1180 SCREEN 0,0:LOCATE 1,1,1 1000 'save "jmacs-20.bas",a 1010 KEY OFF:SCREEN 1,0:M#=1200#/LOG(2#) 1020 LP=8:TT=.5:XP#=600#:YP#=384# 1030 A$="平均律長3度" 1040 PP#=1.25992105# 1050 CLS:LOCATE 5,2,0:PRINT "[Name]":LOCATE 7,4:PRINT A$ 1060 LOCATE 11,2:PRINT "[Ratio]":LOCATE 13,4:PRINT PP# 1070 LOCATE 17,2:PRINT "[Count]":LOCATE 19,4:PRINT LP;"Loop" 1080 X=XP#+300:Y=YP# 1090 FOR I=0 TO 360*LP STEP TT 1100 J#=CDBL(I) 1110 XX=XP#+300#*COS(J#*3.1415926535#/180#*PP#*2#) 1120 YY=YP#-300#*SIN(J#*3.1415926535#/180#*2#) 1130 LINE (X,Y)-(XX,YY) 1140 X=XX:Y=YY 1150 NEXT I 1160 LINE (0,0)-(1023,767),,B 1170 IF INKEY$="" THEN 1170 1180 SCREEN 0,0:LOCATE 1,1,1 1000 'save "jmacs-21.bas",a 1010 KEY OFF:SCREEN 1,0:M#=1200#/LOG(2#) 1020 LP=1:TT=.5:XP#=600#:YP#=384# 1030 A$="ピタゴラス音律長3度" 1040 PP#=1.265625# 1050 CLS:LOCATE 5,2,0:PRINT "[Name]":LOCATE 7,4:PRINT A$ 1060 LOCATE 11,2:PRINT "[Ratio]":LOCATE 13,4:PRINT PP# 1070 LOCATE 17,2:PRINT "[Count]":LOCATE 19,4:PRINT LP;"Loop" 1080 X=XP#+300:Y=YP# 1090 FOR I=0 TO 360*LP STEP TT 1100 J#=CDBL(I) 1110 XX=XP#+300#*COS(J#*3.1415926535#/180#*PP#*4#) 1120 YY=YP#-300#*SIN(J#*3.1415926535#/180#*4#) 1130 LINE (X,Y)-(XX,YY) 1140 X=XX:Y=YY 1150 NEXT I 1160 LINE (0,0)-(1023,767),,B 1170 IF INKEY$="" THEN 1170 1180 SCREEN 0,0:LOCATE 1,1,1 1000 'save "jmacs-22.bas",a 1010 KEY OFF:SCREEN 1,0:M#=1200#/LOG(2#) 1020 LP=8:TT=.5:XP#=600#:YP#=384# 1030 A$="ミーントーン5度" 1040 PP#=1.495348781# 1050 CLS:LOCATE 5,2,0:PRINT "[Name]":LOCATE 7,4:PRINT A$ 1060 LOCATE 11,2:PRINT "[Ratio]":LOCATE 13,4:PRINT PP# 1070 LOCATE 17,2:PRINT "[Count]":LOCATE 19,4:PRINT LP;"Loop" 1080 X=XP#+300:Y=YP# 1090 FOR I=0 TO 360*LP STEP TT 1100 J#=CDBL(I) 1110 XX=XP#+300#*COS(J#*3.1415926535#/180#*PP#*2#) 1120 YY=YP#-300#*SIN(J#*3.1415926535#/180#*2#) 1130 LINE (X,Y)-(XX,YY) 1140 X=XX:Y=YY 1150 NEXT I 1160 LINE (0,0)-(1023,767),,B 1170 IF INKEY$="" THEN 1170 1180 SCREEN 0,0:LOCATE 1,1,1