SHIROのIchigoJam日記

IchigoJamの電子工作とプログラミングをメインに

プチギター

プチコンmkIIで音楽演奏ができるようになったので、新作プログラム「プチギター」を作ってみました。DSiLLでギターが弾けます!(笑)
プレイ動画はこちら。

起動すると、タッチパネルにギターの6本の弦とフレットが表示されます。
画面右側の縦2本線がベースフレットで、ベースフレットの右側の弦をタッチすると、開放弦の音が出ます。
そこから左へ、1フレット〜4フレットを表していて、それぞれタッチするとそのフレットを押さえた時の音が出ます。
DSiはマルチタッチに対応していないので、単音しか出せません。残念ながらコード弾きはできないので、アルペジオで弾いてみています。
プチコンmkII用のQRコードはこちら。

プログラムリストはこちら。1画面に収まる短いプログラムです。

ACLS:? "*** プチ ギタ- ***"
CLEAR:VISIBLE 1,1,0,0,0,1
PNLTYPE "OFF":GPAGE 1:GCLS 0
G$="@25":DIM SM$(6,5)
FOR S=0 TO 5:FOR F=0 TO 4:READ SM$(S,F):NEXT F:NEXT S
FOR X=1 TO 4:GLINE X*51,0,X*51,191,6:NEXT
GLINE 4*51+2,0,4*51+2,191,6
FOR Y=0 TO 5:GBOX 0,Y*32+15,255,Y*32+16,15:NEXT

@LOOP
IF TCHST==FALSE THEN T=0:GOTO @LOOP
IF T==1 THEN @LOOP
PS=FLOOR(TCHY/32):PF=4-FLOOR(TCHX/51)
BGMPLAY ":"+STR$(PS)+G$+SM$(PS,PF)
T=1:GOTO @LOOP

DATA O2E,O2F,O2F#,O2G,O2G#
DATA O2A,O2A#,O2B,O3C,O3C#
DATA O3D,O3D#,O3E,O3F,O3F#
DATA O3G,O3G#,O3A,O3A#,O3B
DATA O3B,O4C,O4C#,O4D,O4D#
DATA O4E,O4F,O4F#,O4G,O4G#

4行目の「G$="@25"」の値を変えると、音色が変わります。
現在は「Acoustic Guitar (steel)」でフォークギターっぽい音です。
「@24」=「Acoustic Guitar (nylon)」だとクラシックギター、「@29」=「Overdriven Guitar」だとノリノリのエレキギターになります。いろいろ試してみてください。
簡単なプログラムなので、改造も歓迎します(^^)