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

2018/12/03 14:13:07

MixJuice GET URL : kidspod.club/mj/690

PWM-MUSIC 平均律・純正律・ピタゴラス音律

音の高さ・周期を計算して鳴らしてみた。
OUT 5 に圧電サウンダを接続。

違いがよくわからない--;

SOURCE CODE

NEW

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

SAVE 0

10 'ジュンセイリツ
20 CLS:PRINT "ジュンセイリツ"
170 IFC=67F=3822
180 IFC=99F=3583
190 IFC=68F=3398
200 IFC=100F=3185
210 IFC=69F=3058
220 IFC=70F=2867
230 IFC=102F=2718
240 IFC=71F=2548
250 IFC=103F=2389
260 IFC=65F=2293
270 IFC=97F=2123
280 IFC=66F=2039
290 IFC=72F=1911

SAVEFILE()+1


10 'ピタゴラスオンリツ
20 CLS:PRINT "ピタゴラスオンリツ"
170IFC=67F=3822
180IFC=99F=3628
190IFC=68F=3398
200IFC=100F=3225
210IFC=69F=3020
220IFC=70F=2867
230IFC=102F=2721
240IFC=71F=2548
250IFC=103F=2419
260IFC=65F=2265
270IFC=97F=2150
280IFC=66F=2013
290IFC=72F=1911

SAVEFILE()+1

FILES

COMMENT

Kidspod運営チーム
Kidspod運営チーム2019/02/06 20:57:25

ピタゴラス音律というのは初めて知りました。しかし残念ながら自分も違いがよく分かりません……。音痴なもので……。しかし、音の違いはともかく、プログラムの書き方が非常に面白いです。なるほど、これならFILEごとの共通部分が一発で書けますね。