環境
spalm more iアプリ版
確認機種
SH-06B
内容
スレ情報を元に試行錯誤で音楽テストを作成。
spalm more専用です。
play中に別なplayを実行すると、エラーになるようです。
この場合、演奏が終わるまで待つか、stopで演奏を停止する必要があるようです。
'***** スレ477
docomoでも音が使えるようにした。ただ、beepみたいに気軽には使えないかも。。
makesound(a1)
a1に楽曲型変数(仮)を代入
addnt(a1,a2,a3,a4,a5[,a6])
a1(のチャンネルa6)に音符を加える。a2:音程。60がドa3:音の強さ。%ではない。a4:前の音符からの時間。0だったら和音。a5:発音の長さ。(a6:ch番号)
addrest(a1,a2[,a3])
a1(のチャンネルa3)に長さa2の休符を加える。
changp(a1,a2[,a3])
a1(のチャンネルa3)の楽器をNOa2に変える。
play(a1)
a1を演奏(非同期)
*****'
'***** スレ478
次にリッチな演奏関数
xset(a1)
組み込みプレイヤーに楽曲型変数をセット
xplay(a1)
セットされた楽曲を演奏。a1が0以外だとリピート演奏
xstop(),xpause(),xrestart() そのまんま
xtempo(a1) テンポを0-200%で指定
xvolume(a1) 音量を0-100%で指定。
以上。これでゲームサウンド的なものがSPALMでもできるかな、と。
*****'
'***** 以下は動いた
makesound(a1)
changp(a1,1)
addnt(a1,60,100,48,40)
addnt(a1,62,100,48,40)
addnt(a1,64,100,48,40)
addnt(a1,65,100,48,40)
addnt(a1,67,100,48,40)
addnt(a1,69,100,48,40)
addnt(a1,71,100,48,40)
addnt(a1,72,100,48,40)
play(a1,0)
input()
*****'
'***** 以下は動かなかった
xset(a1)
xplay(1)
xtempo(200)
xvolume(50)
*****'
makesound(a1); changp(a1,1,1); changp(a1,1,2); changp(a1,1,3); addnt(a1,60,100,0,40,1); addnt(a1,64,100,0,40,2); addnt(a1,67,100,0,40,3); addrest(a1,100,1); addrest(a1,100,2); addrest(a1,100,3); addnt(a1,62,100,0,40,1); addnt(a1,65,100,0,40,2); addnt(a1,69,100,0,40,3); addrest(a1,100,1); addrest(a1,100,2); addrest(a1,100,3); addnt(a1,60,100,0,40,1); addnt(a1,64,100,0,40,2); addnt(a1,67,100,0,40,3); 'tempo(200);' 'volume(80);' play(a1,0); input(3200); stop(); dissound(a1); soft2("end"); k=0; @(nth,0,60,62,64,65,67,69,71,72,74,76,77,79); ntv=100; ntr=48; ntn=40; pf=0; for(i=0;i<=12;i++){ makesound(snd[i]); changp(snd[i],1); addnt(snd[i],nth[i],ntv,ntr,ntn); } text("簡易キーボード",0,0,0); text("1-#:ドレミファソラシドレミファソ",0,40,0); label 1001; k=input(); if(k==262144){end;} nt=1*(k==2)+2*(k==4)+3*(k==8)+4*(k==16)+5*(k==32)+6*(k==64)+7*(k==128)+8*(k==256)+9*(k==512)+10*(k==1024)+11*(k==1)+12*(k==2048); if(pf==1){stop();} play(snd[nt],0); pf=1; sleep(1); goto 1001;
FrontPage
関数一覧
記号一覧
SPALM入門
作品集
自作関数活用術
ダウンロード先
うpロダ
wikiの使い方
SPALMまでの歴史
現行スレ