NERD HPCで電子ピアノ+ピポ音プログラムを作ってみた。

前回公開した電子ピアノプログラムにピポ音が鳴らせるよう手を加えたもの。
ピポ音を奏でる周波数2000Hzと1000Hzの音階は12平均律には含まれず
そのままでは再生が出来ないので機能追加した感じ。

■説明

HERD HPC本体キーボードのキー行4段を使った電子ピアノ+ピポ音プログラムです。

■使い方

1段目に半音高い(低い)黒鍵盤音を、2段目に通常の白鍵盤音を割り当てています。
また、3~4段目には1オクターブ下げた音を割り当てています。
↑または→を押す事で鍵盤全体の音が1オクターブ上がり、
↓または←を押す事で鍵盤全体の音が1オクターブ下がります。
オクターブは0~8の範囲で選択、ローテーションします。(初期オクターブは4です。)
1段目の右から3つのキーにはピポ音(PC-98起動音)を割り当てています。
Escを押す事でプログラムを中断(終了)します。

■キー情報

キー,機能
1,ド♯4
2,レ♯4
3,ミ♭4
4,ファ♯4
5,ソ♯4
6,ラ♯4
7,シ♭4
8,ド♯5
9,レ♯5
0,ミ♭5

Q,ド4
W,レ4
E,ミ4
R,ファ4
T,ソ4
Y,ラ4
U,シ4
I,ド5
O,レ5
P,ミ5

A,ド♯3
S,レ♯3
D,ミ♭3
F,ファ♯3
G,ソ♯3
H,ラ♯3
J,シ♭3
K,ド♯4
L,レ♯4
;,ミ♭4

Z,ド3
X,レ3
C,ミ3
V,ファ3
B,ソ3
N,ラ3
M,シ3
,,ド4
.,レ4
/,ミ4

↑,鍵盤音を1オクターブ上げる
→,鍵盤音を1オクターブ上げる
↓,鍵盤音を1オクターブ下げる
←,鍵盤音を1オクターブ下げる

-,ピ
=,ポ
`,ピポ

Esc,プログラムの中断

■キーマップ表

■プログラム

NERD ELE Piano+PiPo(ELPIANO+.TXT)

0 REM 'MAIN'
10 GOSUB 1000; REM 'initialize'
20 GOSUB 2000; REM 'loop'

1000 REM 'INITIALIZE'
1010 CLS
1020 GCLS
1030 A=0; REM 'key now'
1040 B=0; REM 'key old'
1050 C=4; REM 'octave'
1060 PRINT 'NERD ELE Piano+PiPo'
1070 PRINT 'v1.0.0'
1080 PRINT ''
1090 PRINT '30 Jun, 2025'
1100 PRINT '(C)REGEKATSU SOFT'
1110 PRINT ''
1999 RETURN

2000 REM 'LOOP'
2100 REM 'INPUT'
2110 B=A
2120 A=GETKEY(0)

2200 REM 'UPDATE'
2210 IF ((A=249)+(A=252))*(A#B) C=C+1; IF C>8 C=0
2220 IF ((A=250)+(A=251))*(A#B) C=C-1; IF C<0 C=8
2230 IF ((A>=249)*(A<=252))*(A#B) PRINT "OCTAVE:",C

2300 REM 'OUTPUT'
2305 IF C=0 GOSUB 3000; GOSUB 6400; REM 'KEYBOARD OCTAVE0 BLOCK1 & OCTAVE8 BLOCK2'
2310 IF C=1 GOSUB 3400; GOSUB 3200; REM 'KEYBOARD OCTAVE1 BLOCK1 & OCTAVE0 BLOCK2'
2320 IF C=2 GOSUB 3800; GOSUB 3600; REM 'KEYBOARD OCTAVE2 BLOCK1 & OCTAVE1 BLOCK2'
2330 IF C=3 GOSUB 4200; GOSUB 4000; REM 'KEYBOARD OCTAVE3 BLOCK1 & OCTAVE2 BLOCK2'
2340 IF C=4 GOSUB 4600; GOSUB 4400; REM 'KEYBOARD OCTAVE4 BLOCK1 & OCTAVE3 BLOCK2'
2350 IF C=5 GOSUB 5000; GOSUB 4800; REM 'KEYBOARD OCTAVE5 BLOCK1 & OCTAVE4 BLOCK2'
2360 IF C=6 GOSUB 5400; GOSUB 5200; REM 'KEYBOARD OCTAVE6 BLOCK1 & OCTAVE5 BLOCK2'
2370 IF C=7 GOSUB 5800; GOSUB 5600; REM 'KEYBOARD OCTAVE7 BLOCK1 & OCTAVE6 BLOCK2'
2380 IF C=8 GOSUB 6200; GOSUB 6000; REM 'KEYBOARD OCTAVE8 BLOCK1 & OCTAVE7 BLOCK2'
2500 GOSUB 6600; REM 'PIPO SOUND BLOCK1'
2990 IF A=0 STPSND
2999 GOTO 2000

3000 REM 'keyboard #/b octave0 block1 line1'
3005 IF (A=49)*(A#B) PLYSND 17,0; PRINT 'C#0 (17Hz)'
3010 IF (A=50)*(A#B) PLYSND 19,0; PRINT 'D#0 (19Hz)'
3020 IF (A=51)*(A#B) PLYSND 19,0; PRINT 'Eb0 (19Hz)'
3030 IF (A=52)*(A#B) PLYSND 23,0; PRINT 'F#0 (23Hz)'
3040 IF (A=53)*(A#B) PLYSND 26,0; PRINT 'G#0 (26Hz)'
3050 IF (A=54)*(A#B) PLYSND 29,0; PRINT 'A#0 (29Hz)'
3060 IF (A=55)*(A#B) PLYSND 29,0; PRINT 'Bb0 (29Hz)'
3070 IF (A=56)*(A#B) PLYSND 35,0; PRINT 'C#1 (35Hz)'
3080 IF (A=57)*(A#B) PLYSND 39,0; PRINT 'D#1 (39Hz)'
3090 IF (A=48)*(A#B) PLYSND 39,0; PRINT 'Eb1 (39Hz)'
3100 REM 'keyboard normal octave0 block1 line2'
3105 IF (A=113)*(A#B) PLYSND 16,0; PRINT 'C0 (16Hz)'
3110 IF (A=119)*(A#B) PLYSND 18,0; PRINT 'D0 (18Hz)'
3120 IF (A=101)*(A#B) PLYSND 21,0; PRINT 'E0 (21Hz)'
3130 IF (A=114)*(A#B) PLYSND 22,0; PRINT 'F0 (22Hz)'
3140 IF (A=116)*(A#B) PLYSND 24,0; PRINT 'G0 (24Hz)'
3150 IF (A=121)*(A#B) PLYSND 28,0; PRINT 'A0 (28Hz)'
3160 IF (A=117)*(A#B) PLYSND 31,0; PRINT 'B0 (31Hz)'
3170 IF (A=105)*(A#B) PLYSND 33,0; PRINT 'C1 (33Hz)'
3180 IF (A=111)*(A#B) PLYSND 37,0; PRINT 'D1 (37Hz)'
3190 IF (A=112)*(A#B) PLYSND 41,0; PRINT 'E1 (41Hz)'
3199 RETURN
3200 REM 'keyboard #/b octave0 block2 line3'
3205 IF (A=97)*(A#B) PLYSND 17,0; PRINT 'C#0 (17Hz)'
3210 IF (A=115)*(A#B) PLYSND 19,0; PRINT 'D#0 (19Hz)'
3220 IF (A=100)*(A#B) PLYSND 19,0; PRINT 'Eb0 (19Hz)'
3230 IF (A=102)*(A#B) PLYSND 23,0; PRINT 'F#0 (23Hz)'
3240 IF (A=103)*(A#B) PLYSND 26,0; PRINT 'G#0 (26Hz)'
3250 IF (A=104)*(A#B) PLYSND 29,0; PRINT 'A#0 (29Hz)'
3260 IF (A=106)*(A#B) PLYSND 29,0; PRINT 'Bb0 (29Hz)'
3270 IF (A=107)*(A#B) PLYSND 35,0; PRINT 'C#1 (35Hz)'
3280 IF (A=108)*(A#B) PLYSND 39,0; PRINT 'D#1 (39Hz)'
3290 IF (A=59)*(A#B) PLYSND 39,0; PRINT 'Eb1 (39Hz)'
3300 REM 'keyboard normal octave0 block2 line4'
3305 IF (A=122)*(A#B) PLYSND 16,0; PRINT 'C0 (16Hz)'
3310 IF (A=120)*(A#B) PLYSND 18,0; PRINT 'D0 (18Hz)'
3320 IF (A=99)*(A#B) PLYSND 21,0; PRINT 'E0 (21Hz)'
3330 IF (A=118)*(A#B) PLYSND 22,0; PRINT 'F0 (22Hz)'
3340 IF (A=98)*(A#B) PLYSND 24,0; PRINT 'G0 (24Hz)'
3350 IF (A=110)*(A#B) PLYSND 28,0; PRINT 'A0 (28Hz)'
3360 IF (A=109)*(A#B) PLYSND 31,0; PRINT 'B0 (31Hz)'
3370 IF (A=44)*(A#B) PLYSND 33,0; PRINT 'C1 (33Hz)'
3380 IF (A=46)*(A#B) PLYSND 37,0; PRINT 'D1 (37Hz)'
3390 IF (A=47)*(A#B) PLYSND 41,0; PRINT 'E1 (41Hz)'
3399 RETURN

3400 REM 'keyboard #/b octave1 block1 line1'
3405 IF (A=49)*(A#B) PLYSND 35,0; PRINT 'C#1 (35Hz)'
3410 IF (A=50)*(A#B) PLYSND 39,0; PRINT 'D#1 (39Hz)'
3420 IF (A=51)*(A#B) PLYSND 39,0; PRINT 'Eb1 (39Hz)'
3430 IF (A=52)*(A#B) PLYSND 46,0; PRINT 'F#1 (46Hz)'
3440 IF (A=53)*(A#B) PLYSND 52,0; PRINT 'G#1 (52Hz)'
3450 IF (A=54)*(A#B) PLYSND 58,0; PRINT 'A#1 (58Hz)'
3460 IF (A=55)*(A#B) PLYSND 58,0; PRINT 'Bb1 (58Hz)'
3470 IF (A=56)*(A#B) PLYSND 69,0; PRINT 'C#2 (69Hz)'
3480 IF (A=57)*(A#B) PLYSND 78,0; PRINT 'D#2 (78Hz)'
3490 IF (A=48)*(A#B) PLYSND 78,0; PRINT 'Eb2 (78Hz)'
3500 REM 'keyboard normal octave1 block1 line2'
3505 IF (A=113)*(A#B) PLYSND 33,0; PRINT 'C1 (33Hz)'
3510 IF (A=119)*(A#B) PLYSND 37,0; PRINT 'D1 (37Hz)'
3520 IF (A=101)*(A#B) PLYSND 41,0; PRINT 'E1 (41Hz)'
3530 IF (A=114)*(A#B) PLYSND 44,0; PRINT 'F1 (44Hz)'
3540 IF (A=116)*(A#B) PLYSND 49,0; PRINT 'G1 (49Hz)'
3550 IF (A=121)*(A#B) PLYSND 55,0; PRINT 'A1 (55Hz)'
3560 IF (A=117)*(A#B) PLYSND 62,0; PRINT 'B1 (62Hz)'
3570 IF (A=105)*(A#B) PLYSND 65,0; PRINT 'C2 (65Hz)'
3580 IF (A=111)*(A#B) PLYSND 73,0; PRINT 'D2 (73Hz)'
3590 IF (A=112)*(A#B) PLYSND 82,0; PRINT 'E2 (82Hz)'
3599 RETURN
3600 REM 'keyboard #/b octave1 block2 line3'
3605 IF (A=97)*(A#B) PLYSND 35,0; PRINT 'C#1 (35Hz)'
3610 IF (A=115)*(A#B) PLYSND 39,0; PRINT 'D#1 (39Hz)'
3620 IF (A=100)*(A#B) PLYSND 39,0; PRINT 'Eb1 (39Hz)'
3630 IF (A=102)*(A#B) PLYSND 46,0; PRINT 'F#1 (46Hz)'
3640 IF (A=103)*(A#B) PLYSND 52,0; PRINT 'G#1 (52Hz)'
3650 IF (A=104)*(A#B) PLYSND 58,0; PRINT 'A#1 (58Hz)'
3660 IF (A=106)*(A#B) PLYSND 58,0; PRINT 'Bb1 (58Hz)'
3670 IF (A=107)*(A#B) PLYSND 69,0; PRINT 'C#2 (69Hz)'
3680 IF (A=108)*(A#B) PLYSND 78,0; PRINT 'D#2 (78Hz)'
3690 IF (A=59)*(A#B) PLYSND 78,0; PRINT 'Eb2 (78Hz)'
3700 REM 'keyboard normal octave1 block2 line4'
3705 IF (A=122)*(A#B) PLYSND 33,0; PRINT 'C1 (33Hz)'
3710 IF (A=120)*(A#B) PLYSND 37,0; PRINT 'D1 (37Hz)'
3720 IF (A=99)*(A#B) PLYSND 41,0; PRINT 'E1 (41Hz)'
3730 IF (A=118)*(A#B) PLYSND 44,0; PRINT 'F1 (44Hz)'
3740 IF (A=98)*(A#B) PLYSND 49,0; PRINT 'G1 (49Hz)'
3750 IF (A=110)*(A#B) PLYSND 55,0; PRINT 'A1 (55Hz)'
3760 IF (A=109)*(A#B) PLYSND 62,0; PRINT 'B1 (62Hz)'
3770 IF (A=44)*(A#B) PLYSND 65,0; PRINT 'C2 (65Hz)'
3780 IF (A=46)*(A#B) PLYSND 73,0; PRINT 'D2 (73Hz)'
3790 IF (A=47)*(A#B) PLYSND 82,0; PRINT 'E2 (82Hz)'
3799 RETURN

3800 REM 'keyboard #/b octave2 block1 line1'
3805 IF (A=49)*(A#B) PLYSND 69,0; PRINT 'C#2 (69Hz)'
3810 IF (A=50)*(A#B) PLYSND 78,0; PRINT 'D#2 (78Hz)'
3820 IF (A=51)*(A#B) PLYSND 78,0; PRINT 'Eb2 (78Hz)'
3830 IF (A=52)*(A#B) PLYSND 92,0; PRINT 'F#2 (92Hz)'
3840 IF (A=53)*(A#B) PLYSND 104,0; PRINT 'G#2 (104Hz)'
3850 IF (A=54)*(A#B) PLYSND 117,0; PRINT 'A#2 (117Hz)'
3860 IF (A=55)*(A#B) PLYSND 117,0; PRINT 'Bb2 (117Hz)'
3870 IF (A=56)*(A#B) PLYSND 139,0; PRINT 'C#3 (139Hz)'
3880 IF (A=57)*(A#B) PLYSND 156,0; PRINT 'D#3 (156Hz)'
3890 IF (A=48)*(A#B) PLYSND 156,0; PRINT 'Eb3 (156Hz)'
3900 REM 'keyboard normal octave2 block1 line2'
3905 IF (A=113)*(A#B) PLYSND 65,0; PRINT 'C2 (65Hz)'
3910 IF (A=119)*(A#B) PLYSND 73,0; PRINT 'D2 (73Hz)'
3920 IF (A=101)*(A#B) PLYSND 82,0; PRINT 'E2 (82Hz)'
3930 IF (A=114)*(A#B) PLYSND 87,0; PRINT 'F2 (87Hz)'
3940 IF (A=116)*(A#B) PLYSND 98,0; PRINT 'G2 (98Hz)'
3950 IF (A=121)*(A#B) PLYSND 110,0; PRINT 'A2 (110Hz)'
3960 IF (A=117)*(A#B) PLYSND 123,0; PRINT 'B2 (123Hz)'
3970 IF (A=105)*(A#B) PLYSND 131,0; PRINT 'C3 (131Hz)'
3980 IF (A=111)*(A#B) PLYSND 147,0; PRINT 'D3 (147Hz)'
3990 IF (A=112)*(A#B) PLYSND 165,0; PRINT 'E3 (165Hz)'
3999 RETURN
4000 REM 'keyboard #/b octave2 block2 line3'
4005 IF (A=97)*(A#B) PLYSND 69,0; PRINT 'C#2 (69Hz)'
4010 IF (A=115)*(A#B) PLYSND 78,0; PRINT 'D#2 (78Hz)'
4020 IF (A=100)*(A#B) PLYSND 78,0; PRINT 'Eb2 (78Hz)'
4030 IF (A=102)*(A#B) PLYSND 92,0; PRINT 'F#2 (92Hz)'
4040 IF (A=103)*(A#B) PLYSND 104,0; PRINT 'G#2 (104Hz)'
4050 IF (A=104)*(A#B) PLYSND 117,0; PRINT 'A#2 (117Hz)'
4060 IF (A=106)*(A#B) PLYSND 117,0; PRINT 'Bb2 (117Hz)'
4070 IF (A=107)*(A#B) PLYSND 139,0; PRINT 'C#3 (139Hz)'
4080 IF (A=108)*(A#B) PLYSND 156,0; PRINT 'D#3 (156Hz)'
4090 IF (A=59)*(A#B) PLYSND 156,0; PRINT 'Eb3 (156Hz)'
4100 REM 'keyboard normal octave2 block2 line4'
4105 IF (A=122)*(A#B) PLYSND 65,0; PRINT 'C2 (65Hz)'
4110 IF (A=120)*(A#B) PLYSND 73,0; PRINT 'D2 (73Hz)'
4120 IF (A=99)*(A#B) PLYSND 82,0; PRINT 'E2 (82Hz)'
4130 IF (A=118)*(A#B) PLYSND 87,0; PRINT 'F2 (87Hz)'
4140 IF (A=98)*(A#B) PLYSND 98,0; PRINT 'G2 (98Hz)'
4150 IF (A=110)*(A#B) PLYSND 110,0; PRINT 'A2 (110Hz)'
4160 IF (A=109)*(A#B) PLYSND 123,0; PRINT 'B2 (123Hz)'
4170 IF (A=44)*(A#B) PLYSND 131,0; PRINT 'C3 (131Hz)'
4180 IF (A=46)*(A#B) PLYSND 147,0; PRINT 'D3 (147Hz)'
4190 IF (A=47)*(A#B) PLYSND 165,0; PRINT 'E3 (165Hz)'
4199 RETURN

4200 REM 'keyboard #/b octave3 block1 line1'
4205 IF (A=49)*(A#B) PLYSND 139,0; PRINT 'C#3 (139Hz)'
4210 IF (A=50)*(A#B) PLYSND 156,0; PRINT 'D#3 (156Hz)'
4220 IF (A=51)*(A#B) PLYSND 156,0; PRINT 'Eb3 (156Hz)'
4230 IF (A=52)*(A#B) PLYSND 185,0; PRINT 'F#3 (185Hz)'
4240 IF (A=53)*(A#B) PLYSND 208,0; PRINT 'G#3 (208Hz)'
4250 IF (A=54)*(A#B) PLYSND 233,0; PRINT 'A#3 (233Hz)'
4260 IF (A=55)*(A#B) PLYSND 233,0; PRINT 'Bb3 (233Hz)'
4270 IF (A=56)*(A#B) PLYSND 277,0; PRINT 'C#4 (277Hz)'
4280 IF (A=57)*(A#B) PLYSND 311,0; PRINT 'D#4 (311Hz)'
4290 IF (A=48)*(A#B) PLYSND 311,0; PRINT 'Eb4 (311Hz)'
4300 REM 'keyboard normal octave3 block1 line2'
4305 IF (A=113)*(A#B) PLYSND 131,0; PRINT 'C3 (131Hz)'
4310 IF (A=119)*(A#B) PLYSND 147,0; PRINT 'D3 (147Hz)'
4320 IF (A=101)*(A#B) PLYSND 165,0; PRINT 'E3 (165Hz)'
4330 IF (A=114)*(A#B) PLYSND 175,0; PRINT 'F3 (175Hz)'
4340 IF (A=116)*(A#B) PLYSND 196,0; PRINT 'G3 (196Hz)'
4350 IF (A=121)*(A#B) PLYSND 220,0; PRINT 'A3 (220Hz)'
4360 IF (A=117)*(A#B) PLYSND 247,0; PRINT 'B3 (247Hz)'
4370 IF (A=105)*(A#B) PLYSND 262,0; PRINT 'C4 (262Hz)'
4380 IF (A=111)*(A#B) PLYSND 294,0; PRINT 'D4 (294Hz)'
4390 IF (A=112)*(A#B) PLYSND 330,0; PRINT 'E4 (330Hz)'
4399 RETURN
4400 REM 'keyboard #/b octave3 block2 line3'
4405 IF (A=97)*(A#B) PLYSND 139,0; PRINT 'C#3 (139Hz)'
4410 IF (A=115)*(A#B) PLYSND 156,0; PRINT 'D#3 (156Hz)'
4420 IF (A=100)*(A#B) PLYSND 156,0; PRINT 'Eb3 (156Hz)'
4430 IF (A=102)*(A#B) PLYSND 185,0; PRINT 'F#3 (185Hz)'
4440 IF (A=103)*(A#B) PLYSND 208,0; PRINT 'G#3 (208Hz)'
4450 IF (A=104)*(A#B) PLYSND 233,0; PRINT 'A#3 (233Hz)'
4460 IF (A=106)*(A#B) PLYSND 233,0; PRINT 'Bb3 (233Hz)'
4470 IF (A=107)*(A#B) PLYSND 277,0; PRINT 'C#4 (277Hz)'
4480 IF (A=108)*(A#B) PLYSND 311,0; PRINT 'D#4 (311Hz)'
4490 IF (A=59)*(A#B) PLYSND 311,0; PRINT 'Eb4 (311Hz)'
4500 REM 'keyboard normal octave3 block2 line4'
4505 IF (A=122)*(A#B) PLYSND 131,0; PRINT 'C3 (131Hz)'
4510 IF (A=120)*(A#B) PLYSND 147,0; PRINT 'D3 (147Hz)'
4520 IF (A=99)*(A#B) PLYSND 165,0; PRINT 'E3 (165Hz)'
4530 IF (A=118)*(A#B) PLYSND 175,0; PRINT 'F3 (175Hz)'
4540 IF (A=98)*(A#B) PLYSND 196,0; PRINT 'G3 (196Hz)'
4550 IF (A=110)*(A#B) PLYSND 220,0; PRINT 'A3 (220Hz)'
4560 IF (A=109)*(A#B) PLYSND 247,0; PRINT 'B3 (247Hz)'
4570 IF (A=44)*(A#B) PLYSND 262,0; PRINT 'C4 (262Hz)'
4580 IF (A=46)*(A#B) PLYSND 294,0; PRINT 'D4 (294Hz)'
4590 IF (A=47)*(A#B) PLYSND 330,0; PRINT 'E4 (330Hz)'
4599 RETURN

4600 REM 'keyboard #/b octave4 block1 line1'
4605 IF (A=49)*(A#B) PLYSND 277,0; PRINT 'C#4 (277Hz)'
4610 IF (A=50)*(A#B) PLYSND 311,0; PRINT 'D#4 (311Hz)'
4620 IF (A=51)*(A#B) PLYSND 311,0; PRINT 'Eb4 (311Hz)'
4630 IF (A=52)*(A#B) PLYSND 370,0; PRINT 'F#4 (370Hz)'
4640 IF (A=53)*(A#B) PLYSND 415,0; PRINT 'G#4 (415Hz)'
4650 IF (A=54)*(A#B) PLYSND 466,0; PRINT 'A#4 (466Hz)'
4660 IF (A=55)*(A#B) PLYSND 466,0; PRINT 'Bb4 (466Hz)'
4670 IF (A=56)*(A#B) PLYSND 554,0; PRINT 'C#5 (554Hz)'
4680 IF (A=57)*(A#B) PLYSND 622,0; PRINT 'D#5 (622Hz)'
4690 IF (A=48)*(A#B) PLYSND 622,0; PRINT 'Eb5 (622Hz)'
4700 REM 'keyboard normal octave4 block1 line2'
4705 IF (A=113)*(A#B) PLYSND 262,0; PRINT 'C4 (262Hz)'
4710 IF (A=119)*(A#B) PLYSND 294,0; PRINT 'D4 (294Hz)'
4720 IF (A=101)*(A#B) PLYSND 330,0; PRINT 'E4 (330Hz)'
4730 IF (A=114)*(A#B) PLYSND 349,0; PRINT 'F4 (349Hz)'
4740 IF (A=116)*(A#B) PLYSND 392,0; PRINT 'G4 (392Hz)'
4750 IF (A=121)*(A#B) PLYSND 440,0; PRINT 'A4 (440Hz)'
4760 IF (A=117)*(A#B) PLYSND 494,0; PRINT 'B4 (494Hz)'
4770 IF (A=105)*(A#B) PLYSND 523,0; PRINT 'C5 (523Hz)'
4780 IF (A=111)*(A#B) PLYSND 587,0; PRINT 'D5 (587Hz)'
4790 IF (A=112)*(A#B) PLYSND 659,0; PRINT 'E5 (659Hz)'
4799 RETURN
4800 REM 'keyboard #/b octave4 block2 line3'
4805 IF (A=97)*(A#B) PLYSND 277,0; PRINT 'C#4 (277Hz)'
4810 IF (A=115)*(A#B) PLYSND 311,0; PRINT 'D#4 (311Hz)'
4820 IF (A=100)*(A#B) PLYSND 311,0; PRINT 'Eb4 (311Hz)'
4830 IF (A=102)*(A#B) PLYSND 370,0; PRINT 'F#4 (370Hz)'
4840 IF (A=103)*(A#B) PLYSND 415,0; PRINT 'G#4 (415Hz)'
4850 IF (A=104)*(A#B) PLYSND 466,0; PRINT 'A#4 (466Hz)'
4860 IF (A=106)*(A#B) PLYSND 466,0; PRINT 'Bb4 (466Hz)'
4870 IF (A=107)*(A#B) PLYSND 554,0; PRINT 'C#5 (554Hz)'
4880 IF (A=108)*(A#B) PLYSND 622,0; PRINT 'D#5 (622Hz)'
4890 IF (A=59)*(A#B) PLYSND 622,0; PRINT 'Eb5 (622Hz)'
4900 REM 'keyboard normal octave4 block2 line4'
4905 IF (A=122)*(A#B) PLYSND 262,0; PRINT 'C4 (262Hz)'
4910 IF (A=120)*(A#B) PLYSND 294,0; PRINT 'D4 (294Hz)'
4920 IF (A=99)*(A#B) PLYSND 330,0; PRINT 'E4 (330Hz)'
4930 IF (A=118)*(A#B) PLYSND 349,0; PRINT 'F4 (349Hz)'
4940 IF (A=98)*(A#B) PLYSND 392,0; PRINT 'G4 (392Hz)'
4950 IF (A=110)*(A#B) PLYSND 440,0; PRINT 'A4 (440Hz)'
4960 IF (A=109)*(A#B) PLYSND 494,0; PRINT 'B4 (494Hz)'
4970 IF (A=44)*(A#B) PLYSND 523,0; PRINT 'C5 (523Hz)'
4980 IF (A=46)*(A#B) PLYSND 587,0; PRINT 'D5 (587Hz)'
4990 IF (A=47)*(A#B) PLYSND 659,0; PRINT 'E5 (659Hz)'
4999 RETURN

5000 REM 'keyboard #/b octave5 block1 line1'
5005 IF (A=49)*(A#B) PLYSND 554,0; PRINT 'C#5 (554Hz)'
5010 IF (A=50)*(A#B) PLYSND 622,0; PRINT 'D#5 (622Hz)'
5020 IF (A=51)*(A#B) PLYSND 622,0; PRINT 'Eb5 (622Hz)'
5030 IF (A=52)*(A#B) PLYSND 740,0; PRINT 'F#5 (740Hz)'
5040 IF (A=53)*(A#B) PLYSND 831,0; PRINT 'G#5 (831Hz)'
5050 IF (A=54)*(A#B) PLYSND 932,0; PRINT 'A#5 (932Hz)'
5060 IF (A=55)*(A#B) PLYSND 932,0; PRINT 'Bb5 (932Hz)'
5070 IF (A=56)*(A#B) PLYSND 1109,0; PRINT 'C#6 (1109Hz)'
5080 IF (A=57)*(A#B) PLYSND 1245,0; PRINT 'D#6 (1245Hz)'
5090 IF (A=48)*(A#B) PLYSND 1245,0; PRINT 'Eb6 (1245Hz)'
5100 REM 'keyboard normal octave5 block1 line2'
5105 IF (A=113)*(A#B) PLYSND 523,0; PRINT 'C5 (523Hz)'
5110 IF (A=119)*(A#B) PLYSND 587,0; PRINT 'D5 (587Hz)'
5120 IF (A=101)*(A#B) PLYSND 659,0; PRINT 'E5 (659Hz)'
5130 IF (A=114)*(A#B) PLYSND 698,0; PRINT 'F5 (698Hz)'
5140 IF (A=116)*(A#B) PLYSND 784,0; PRINT 'G5 (784Hz)'
5150 IF (A=121)*(A#B) PLYSND 880,0; PRINT 'A5 (880Hz)'
5160 IF (A=117)*(A#B) PLYSND 988,0; PRINT 'B5 (988Hz)'
5170 IF (A=105)*(A#B) PLYSND 1047,0; PRINT 'C6 (1047Hz)'
5180 IF (A=111)*(A#B) PLYSND 1175,0; PRINT 'D6 (1175Hz)'
5190 IF (A=112)*(A#B) PLYSND 1319,0; PRINT 'E6 (1319Hz)'
5199 RETURN
5200 REM 'keyboard #/b octave5 block2 line3'
5205 IF (A=97)*(A#B) PLYSND 554,0; PRINT 'C#5 (554Hz)'
5210 IF (A=115)*(A#B) PLYSND 622,0; PRINT 'D#5 (622Hz)'
5220 IF (A=100)*(A#B) PLYSND 622,0; PRINT 'Eb5 (622Hz)'
5230 IF (A=102)*(A#B) PLYSND 740,0; PRINT 'F#5 (740Hz)'
5240 IF (A=103)*(A#B) PLYSND 831,0; PRINT 'G#5 (831Hz)'
5250 IF (A=104)*(A#B) PLYSND 932,0; PRINT 'A#5 (932Hz)'
5260 IF (A=106)*(A#B) PLYSND 932,0; PRINT 'Bb5 (932Hz)'
5270 IF (A=107)*(A#B) PLYSND 1109,0; PRINT 'C#6 (1109Hz)'
5280 IF (A=108)*(A#B) PLYSND 1245,0; PRINT 'D#6 (1245Hz)'
5290 IF (A=59)*(A#B) PLYSND 1245,0; PRINT 'Eb6 (1245Hz)'
5300 REM 'keyboard normal octave5 block2 line4'
5305 IF (A=122)*(A#B) PLYSND 523,0; PRINT 'C5 (523Hz)'
5310 IF (A=120)*(A#B) PLYSND 587,0; PRINT 'D5 (587Hz)'
5320 IF (A=99)*(A#B) PLYSND 659,0; PRINT 'E5 (659Hz)'
5330 IF (A=118)*(A#B) PLYSND 698,0; PRINT 'F5 (698Hz)'
5340 IF (A=98)*(A#B) PLYSND 784,0; PRINT 'G5 (784Hz)'
5350 IF (A=110)*(A#B) PLYSND 880,0; PRINT 'A5 (880Hz)'
5360 IF (A=109)*(A#B) PLYSND 988,0; PRINT 'B5 (988Hz)'
5370 IF (A=44)*(A#B) PLYSND 1047,0; PRINT 'C6 (1047Hz)'
5380 IF (A=46)*(A#B) PLYSND 1175,0; PRINT 'D6 (1175Hz)'
5390 IF (A=47)*(A#B) PLYSND 1319,0; PRINT 'E6 (1319Hz)'
5399 RETURN

5400 REM 'keyboard #/b octave6 block1 line1'
5405 IF (A=49)*(A#B) PLYSND 1109,0; PRINT 'C#6 (1109Hz)'
5410 IF (A=50)*(A#B) PLYSND 1245,0; PRINT 'D#6 (1245Hz)'
5420 IF (A=51)*(A#B) PLYSND 1245,0; PRINT 'Eb6 (1245Hz)'
5430 IF (A=52)*(A#B) PLYSND 1480,0; PRINT 'F#6 (1480Hz)'
5440 IF (A=53)*(A#B) PLYSND 1661,0; PRINT 'G#6 (1661Hz)'
5450 IF (A=54)*(A#B) PLYSND 1865,0; PRINT 'A#6 (1865Hz)'
5460 IF (A=55)*(A#B) PLYSND 1865,0; PRINT 'Bb6 (1865Hz)'
5470 IF (A=56)*(A#B) PLYSND 2217,0; PRINT 'C#7 (2217Hz)'
5480 IF (A=57)*(A#B) PLYSND 2489,0; PRINT 'D#7 (2489Hz)'
5490 IF (A=48)*(A#B) PLYSND 2489,0; PRINT 'Eb7 (2489Hz)'
5500 REM 'keyboard normal octave6 block1 line2'
5505 IF (A=113)*(A#B) PLYSND 1047,0; PRINT 'C6 (1047Hz)'
5510 IF (A=119)*(A#B) PLYSND 1175,0; PRINT 'D6 (1175Hz)'
5520 IF (A=101)*(A#B) PLYSND 1319,0; PRINT 'E6 (1319Hz)'
5530 IF (A=114)*(A#B) PLYSND 1397,0; PRINT 'F6 (1397Hz)'
5540 IF (A=116)*(A#B) PLYSND 1568,0; PRINT 'G6 (1568Hz)'
5550 IF (A=121)*(A#B) PLYSND 1760,0; PRINT 'A6 (1760Hz)'
5560 IF (A=117)*(A#B) PLYSND 1976,0; PRINT 'B6 (1976Hz)'
5570 IF (A=105)*(A#B) PLYSND 2093,0; PRINT 'C7 (2093Hz)'
5580 IF (A=111)*(A#B) PLYSND 2349,0; PRINT 'D7 (2349Hz)'
5590 IF (A=112)*(A#B) PLYSND 2637,0; PRINT 'E7 (2637Hz)'
5599 RETURN
5600 REM 'keyboard #/b octave6 block2 line3'
5605 IF (A=97)*(A#B) PLYSND 1109,0; PRINT 'C#6 (1109Hz)'
5610 IF (A=115)*(A#B) PLYSND 1245,0; PRINT 'D#6 (1245Hz)'
5620 IF (A=100)*(A#B) PLYSND 1245,0; PRINT 'Eb6 (1245Hz)'
5630 IF (A=102)*(A#B) PLYSND 1480,0; PRINT 'F#6 (1480Hz)'
5640 IF (A=103)*(A#B) PLYSND 1661,0; PRINT 'G#6 (1661Hz)'
5650 IF (A=104)*(A#B) PLYSND 1865,0; PRINT 'A#6 (1865Hz)'
5660 IF (A=106)*(A#B) PLYSND 1865,0; PRINT 'Bb6 (1865Hz)'
5670 IF (A=107)*(A#B) PLYSND 2217,0; PRINT 'C#7 (2217Hz)'
5680 IF (A=108)*(A#B) PLYSND 2489,0; PRINT 'D#7 (2489Hz)'
5690 IF (A=59)*(A#B) PLYSND 2489,0; PRINT 'Eb7 (2489Hz)'
5700 REM 'keyboard normal octave6 block2 line4'
5705 IF (A=122)*(A#B) PLYSND 1047,0; PRINT 'C6 (1047Hz)'
5710 IF (A=120)*(A#B) PLYSND 1175,0; PRINT 'D6 (1175Hz)'
5720 IF (A=99)*(A#B) PLYSND 1319,0; PRINT 'E6 (1319Hz)'
5730 IF (A=118)*(A#B) PLYSND 1397,0; PRINT 'F6 (1397Hz)'
5740 IF (A=98)*(A#B) PLYSND 1568,0; PRINT 'G6 (1568Hz)'
5750 IF (A=110)*(A#B) PLYSND 1760,0; PRINT 'A6 (1760Hz)'
5760 IF (A=109)*(A#B) PLYSND 1976,0; PRINT 'B6 (1976Hz)'
5770 IF (A=44)*(A#B) PLYSND 2093,0; PRINT 'C7 (2093Hz)'
5780 IF (A=46)*(A#B) PLYSND 2349,0; PRINT 'D7 (2349Hz)'
5790 IF (A=47)*(A#B) PLYSND 2637,0; PRINT 'E7 (2637Hz)'
5799 RETURN

5800 REM 'keyboard #/b octave7 block1 line1'
5805 IF (A=49)*(A#B) PLYSND 2217,0; PRINT 'C#7 (2217Hz)'
5810 IF (A=50)*(A#B) PLYSND 2489,0; PRINT 'D#7 (2489Hz)'
5820 IF (A=51)*(A#B) PLYSND 2489,0; PRINT 'Eb7 (2489Hz)'
5830 IF (A=52)*(A#B) PLYSND 2960,0; PRINT 'F#7 (2960Hz)'
5840 IF (A=53)*(A#B) PLYSND 3322,0; PRINT 'G#7 (3322Hz)'
5850 IF (A=54)*(A#B) PLYSND 3729,0; PRINT 'A#7 (3729Hz)'
5860 IF (A=55)*(A#B) PLYSND 3729,0; PRINT 'Bb7 (3729Hz)'
5870 IF (A=56)*(A#B) PLYSND 4435,0; PRINT 'C#8 (4435Hz)'
5880 IF (A=57)*(A#B) PLYSND 4978,0; PRINT 'D#8 (4978Hz)'
5890 IF (A=48)*(A#B) PLYSND 4978,0; PRINT 'Eb8 (4978Hz)'
5900 REM 'keyboard normal octave7 block1 line2'
5905 IF (A=113)*(A#B) PLYSND 2093,0; PRINT 'C7 (2093Hz)'
5910 IF (A=119)*(A#B) PLYSND 2349,0; PRINT 'D7 (2349Hz)'
5920 IF (A=101)*(A#B) PLYSND 2637,0; PRINT 'E7 (2637Hz)'
5930 IF (A=114)*(A#B) PLYSND 2794,0; PRINT 'F7 (2794Hz)'
5940 IF (A=116)*(A#B) PLYSND 3136,0; PRINT 'G7 (3136Hz)'
5950 IF (A=121)*(A#B) PLYSND 3520,0; PRINT 'A7 (3520Hz)'
5960 IF (A=117)*(A#B) PLYSND 3951,0; PRINT 'B7 (3951Hz)'
5970 IF (A=105)*(A#B) PLYSND 4186,0; PRINT 'C8 (4186Hz)'
5980 IF (A=111)*(A#B) PLYSND 4699,0; PRINT 'D8 (4699Hz)'
5990 IF (A=112)*(A#B) PLYSND 5274,0; PRINT 'E8 (5274Hz)'
5999 RETURN
6000 REM 'keyboard #/b octave7 block2 line3'
6005 IF (A=97)*(A#B) PLYSND 2217,0; PRINT 'C#7 (2217Hz)'
6010 IF (A=115)*(A#B) PLYSND 2489,0; PRINT 'D#7 (2489Hz)'
6020 IF (A=100)*(A#B) PLYSND 2489,0; PRINT 'Eb7 (2489Hz)'
6030 IF (A=102)*(A#B) PLYSND 2960,0; PRINT 'F#7 (2960Hz)'
6040 IF (A=103)*(A#B) PLYSND 3322,0; PRINT 'G#7 (3322Hz)'
6050 IF (A=104)*(A#B) PLYSND 3729,0; PRINT 'A#7 (3729Hz)'
6060 IF (A=106)*(A#B) PLYSND 3729,0; PRINT 'Bb7 (3729Hz)'
6070 IF (A=107)*(A#B) PLYSND 4435,0; PRINT 'C#8 (4435Hz)'
6080 IF (A=108)*(A#B) PLYSND 4978,0; PRINT 'D#8 (4978Hz)'
6090 IF (A=59)*(A#B) PLYSND 4978,0; PRINT 'Eb8 (4978Hz)'
6100 REM 'keyboard normal octave7 block2 line4'
6105 IF (A=122)*(A#B) PLYSND 2093,0; PRINT 'C7 (2093Hz)'
6110 IF (A=120)*(A#B) PLYSND 2349,0; PRINT 'D7 (2349Hz)'
6120 IF (A=99)*(A#B) PLYSND 2637,0; PRINT 'E7 (2637Hz)'
6130 IF (A=118)*(A#B) PLYSND 2794,0; PRINT 'F7 (2794Hz)'
6140 IF (A=98)*(A#B) PLYSND 3136,0; PRINT 'G7 (3136Hz)'
6150 IF (A=110)*(A#B) PLYSND 3520,0; PRINT 'A7 (3520Hz)'
6160 IF (A=109)*(A#B) PLYSND 3951,0; PRINT 'B7 (3951Hz)'
6170 IF (A=44)*(A#B) PLYSND 4186,0; PRINT 'C8 (4186Hz)'
6180 IF (A=46)*(A#B) PLYSND 4699,0; PRINT 'D8 (4699Hz)'
6190 IF (A=47)*(A#B) PLYSND 5274,0; PRINT 'E8 (5274Hz)'
6199 RETURN

6200 REM 'keyboard #/b octave8 block1 line1'
6205 IF (A=49)*(A#B) PLYSND 4435,0; PRINT 'C#8 (4435Hz)'
6210 IF (A=50)*(A#B) PLYSND 4978,0; PRINT 'D#8 (4978Hz)'
6220 IF (A=51)*(A#B) PLYSND 4978,0; PRINT 'Eb8 (4978Hz)'
6230 IF (A=52)*(A#B) PLYSND 5920,0; PRINT 'F#8 (5920Hz)'
6240 IF (A=53)*(A#B) PLYSND 6645,0; PRINT 'G#8 (6645Hz)'
6250 IF (A=54)*(A#B) PLYSND 7459,0; PRINT 'A#8 (7459Hz)'
6260 IF (A=55)*(A#B) PLYSND 7459,0; PRINT 'Bb8 (7459Hz)'
6270 IF (A=56)*(A#B) PLYSND 17,0; PRINT 'C#0 (17Hz)'
6280 IF (A=57)*(A#B) PLYSND 19,0; PRINT 'D#0 (19Hz)'
6290 IF (A=48)*(A#B) PLYSND 19,0; PRINT 'Eb0 (19Hz)'
6300 REM 'keyboard normal octave8 block1 line2'
6305 IF (A=113)*(A#B) PLYSND 4186,0; PRINT 'C8 (4186Hz)'
6310 IF (A=119)*(A#B) PLYSND 4699,0; PRINT 'D8 (4699Hz)'
6320 IF (A=101)*(A#B) PLYSND 5274,0; PRINT 'E8 (5274Hz)'
6330 IF (A=114)*(A#B) PLYSND 5588,0; PRINT 'F8 (5588Hz)'
6340 IF (A=116)*(A#B) PLYSND 6272,0; PRINT 'G8 (6272Hz)'
6350 IF (A=121)*(A#B) PLYSND 7040,0; PRINT 'A8 (7040Hz)'
6360 IF (A=117)*(A#B) PLYSND 7902,0; PRINT 'B8 (7902Hz)'
6370 IF (A=105)*(A#B) PLYSND 16,0; PRINT 'C0 (16Hz)'
6380 IF (A=111)*(A#B) PLYSND 18,0; PRINT 'D0 (18Hz)'
6390 IF (A=112)*(A#B) PLYSND 21,0; PRINT 'E0 (21Hz)'
6399 RETURN
6400 REM 'keyboard #/b octave8 block2 line3'
6405 IF (A=97)*(A#B) PLYSND 4435,0; PRINT 'C#8 (4435Hz)'
6410 IF (A=115)*(A#B) PLYSND 4978,0; PRINT 'D#8 (4978Hz)'
6420 IF (A=100)*(A#B) PLYSND 4978,0; PRINT 'Eb8 (4978Hz)'
6430 IF (A=102)*(A#B) PLYSND 5920,0; PRINT 'F#8 (5920Hz)'
6440 IF (A=103)*(A#B) PLYSND 6645,0; PRINT 'G#8 (6645Hz)'
6450 IF (A=104)*(A#B) PLYSND 7459,0; PRINT 'A#8 (7459Hz)'
6460 IF (A=106)*(A#B) PLYSND 7459,0; PRINT 'Bb8 (7459Hz)'
6470 IF (A=107)*(A#B) PLYSND 17,0; PRINT 'C#0 (17Hz)'
6480 IF (A=108)*(A#B) PLYSND 19,0; PRINT 'D#0 (19Hz)'
6490 IF (A=59)*(A#B) PLYSND 19,0; PRINT 'Eb0 (19Hz)'
6500 REM 'keyboard normal octave8 block2 line4'
6505 IF (A=122)*(A#B) PLYSND 4186,0; PRINT 'C8 (4186Hz)'
6510 IF (A=120)*(A#B) PLYSND 4699,0; PRINT 'D8 (4699Hz)'
6520 IF (A=99)*(A#B) PLYSND 5274,0; PRINT 'E8 (5274Hz)'
6530 IF (A=118)*(A#B) PLYSND 5588,0; PRINT 'F8 (5588Hz)'
6540 IF (A=98)*(A#B) PLYSND 6272,0; PRINT 'G8 (6272Hz)'
6550 IF (A=110)*(A#B) PLYSND 7040,0; PRINT 'A8 (7040Hz)'
6560 IF (A=109)*(A#B) PLYSND 7902,0; PRINT 'B8 (7902Hz)'
6570 IF (A=44)*(A#B) PLYSND 16,0; PRINT 'C0 (16Hz)'
6580 IF (A=46)*(A#B) PLYSND 18,0; PRINT 'D0 (18Hz)'
6590 IF (A=47)*(A#B) PLYSND 21,0; PRINT 'E0 (21Hz)'
6599 RETURN

6600 REM 'PiPo sound block1 line1 left 3 keys'
6610 IF (A=45)*(A#B) PLYSND 2000,0; PRINT 'Pi (2000Hz)'
6620 IF (A=61)*(A#B) PLYSND 1000,0; PRINT 'Po (1000Hz)'
6630 IF (A=96) PLYSND 2000,125; PRINT 'Pi (2000Hz)'
6640 IF (A=96) PLYSND 1000,125; PRINT 'Po (1000Hz)'
6699 RETURN