Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2018/11/29 09:14:53

MixJuice GET URL : kidspod.club/mj/680

きよしこのよる PWM-MUSIC

OUT5に圧電サウンダを挿して PWM 5 で音を鳴らします。
PLAY文よりも音程が正確です。

同じフレーズはサブルーチンを2回呼び出すことでデータ量を削減しました。

SOURCE CODE

10 'キヨシコノヨル
20 CLS:PRINT"キヨシコノヨル"
30 L=15:N=1:P=50
40 M="G--AG-E-----":GSB@PL:GSB@PL
50 M=">D---D-<B----->C---C-<G-----":GSB@PL
60 M="A---A->C--<BA-G--AG-E-----":GSB@PL:GSB@PL
70 M=">D---D-F--D<B->C-----E-----":GSB@PL
80 M=">C-<G-E-G--FD-C-----------":GSB@PL
90 END
100 @PL:O=20:I=0
110 @RD:C=PEEK(M+I):I=I+1:F=0
120 IFC=34OUT5,0:RTN
130 IFC=60O=O/2
140 IFC=61O=20
150 IFC=62O=O*2
160 IFC=95GSB@RE
170 IFC=45GSB@WT
180 IFC=67F=3822
190 IFC=99F=3608
200 IFC=68F=3405
210 IFC=100F=3214
220 IFC=69F=3034
230 IFC=70F=2863
240 IFC=102F=2703
250 IFC=71F=2551
260 IFC=103F=2408
270 IFC=65F=2273
280 IFC=97F=2145
290 IFC=66F=2025
300 IFF>0GSB@NT
310 GOTO@RD
320 @RE:OUT5,0:WAITL:GSB@P:RTN
330 @NT:F=F/O:PWM5,F*P/100,F
340 @WT:WAITL-N:IFPEEK(M+I)<>45OUT5,0
350 WAITN:GSB@P:RTN
360 @P:IFINKEY()=10OUT5,0:END:ELSERTN

COMMENT