WAVSET
ユーザー定義楽器音(GM)を直接設定
WAVSET gm,a,d,s,r,wavStr[,tone]
パラメーター
gm:ユーザー定義楽器音番号(224~255)
a,d,s,r:音形(アタック、ディケイ、サスティン、リリース)
wavStr:波形を示す16進数文字列
tone:基本音程(省略時:69)
解説
ユーザー定義楽器音(単音)を作成し、定義します。
gmで、定義する楽器音番号(224~255)を指定。
a,d,s,rで音の形を指定。
a=127が最短、a=21で0.5秒、a=10で1秒、a=6で2秒、a=0で13秒ほど。
d=127が最短、d=120で0.5秒、d=110で1秒、d=95で2秒程度。
d=0だと無限(最大で音符の長さ分)で、s:サスティンの意味がなくなる。
最大音量の127に設定するとd:ディケイに意味がなくなる。
指定値と秒数はd:ディケイと同じ。
ただし、r=0を指定すると演奏終了後も音がずっと消えなくなってしまうので注意(BGMSTOP -1で強制的に止めるしかない)
wavStrで音の波形を設定。波形は、"00"~"FF"を1つのサンプル波形として、16,32,64,128,256,512サンプルで指定。
結果、wavStrの文字数はサンプル数の倍、32,64,128,256,512,1024文字のいずれかになり、これら以外だとエラーになります。
toneで基本音程を指定。省略時は69("O4A":オクターブ4のラ)で、+1で半音下がり、-1で半音上がる。
gmで、定義する楽器音番号(224~255)を指定。
a,d,s,rで音の形を指定。
a:アタック
音量が0から大きくなり最大になるまでに掛かる時間(0~127)a=127が最短、a=21で0.5秒、a=10で1秒、a=6で2秒、a=0で13秒ほど。
d:ディケイ
音量が最大値から小さくなり、一定になるまでに掛かる時間(0~127)d=127が最短、d=120で0.5秒、d=110で1秒、d=95で2秒程度。
d=0だと無限(最大で音符の長さ分)で、s:サスティンの意味がなくなる。
s:サスティン
音を伸ばしている時の音量(0~127)最大音量の127に設定するとd:ディケイに意味がなくなる。
r:リリース
演奏が終わったあと、音量が小さくなって0になるのに掛かる時間(0~127)指定値と秒数はd:ディケイと同じ。
ただし、r=0を指定すると演奏終了後も音がずっと消えなくなってしまうので注意(BGMSTOP -1で強制的に止めるしかない)
wavStrで音の波形を設定。波形は、"00"~"FF"を1つのサンプル波形として、16,32,64,128,256,512サンプルで指定。
結果、wavStrの文字数はサンプル数の倍、32,64,128,256,512,1024文字のいずれかになり、これら以外だとエラーになります。
toneで基本音程を指定。省略時は69("O4A":オクターブ4のラ)で、+1で半音下がり、-1で半音上がる。
サンプルコード
参照
BEEP
BEEP(通知・警告音)や楽器の単音を鳴らす
BGMCHK
BGMトラックの演奏状態を取得
BGMCLEAR
BGMのユーザー定義曲を消去
BGMPLAY
BGMを演奏
BGMSET
BGM定義にユーザーBGMをMMLで定義
BGMSETD
BGM定義にユーザーBGMをDATAからMMLで定義
BGMVAR
BGMトラック用内部変数の値を設定・取得
BGMSTOP
BGMの演奏を停止
BGMVOL
BGMの音量を指定
WAVSET
ユーザー定義楽器音(GM)を直接設定
WAVSETA
ユーザー定義楽器音(GM)を数値配列から設定
EFCOFF
BEEP,BGM,TALKのエコーを止める
EFCON
BEEP,BGM,TALKのエコーを再開
EFCSET
BEEP,BGM,TALKにエコーをかける
EFCWET
BEEP,BGM,TALKそれぞれのエコー量を設定
TALK
音声合成を再生
TALKCHK
音声合成が再生中か調べる
TALKSTOP
音声合成を停止
BGMPAUSE
BGMの演奏を一時停止・状態取得
BGMCONT
BGMの演奏を再開
SNDSTOP
全ての音を停止