Changes

MGSDRV MML 11 JP

5,372 bytes added, 20:12, 20 June 2018
音色定義
== プログラム制御用文字列定義 ==
== 音色定義 ==
 
行の先頭が"@"である場合、音色定義となります。<number>はすべて音色番号を意味します。範囲は0~31です。
 
===@e<number> = { Mode,Noise,data...data }===
エンベロープデータを定義します。旧MGSDRV(以下MGSDRV ver2.xxのことを示します)の_ESETと同じ形式です。
 
====(1)Mode====
PSG音源で使用された場合のトーン・ノイズのモードを指定します。範囲は0~3、省略値は1です。
 
 0 ... 無指定(変化なし)
 1 ... トーンのみ
 2 ... ノイズのみ
 3 ... トーンとノイズ
 
====(2)Noise====
PSG音源のノイズ周波数を指定します。PSG音源以外のトラックで使用された場合は無視されます。Modeが2以上の場合のみ有効です。範囲0~31、省略値0。
 
※ ModeとNoiseは@コマンド実行時に設定されるだけです。
 
====(3)Data====
エンベロープデータを指定します。約255文字(内容により異なる)まで書けます。
 
=====0~f(16進数)=====
その音量を設定して、1カウント待ちます。以下<音量>と記します。
 
=====<音量> : <カウント>=====
音量を設定して、カウント数だけ待ちます。
 
=====<音量> = <カウント>=====
現在の音量から指定された音量まで、カウント数の時間を掛けて自動的に変化させます。
 
=====n<ノイズ周波数>=====
PSG音源のノイズ周波数を変更します。(2)のNoiseと同じです。
 
=====/<モード> 又は *<モード>=====
PSG音源のモードを変更します。(1)のModeと同じです。
 
=====[=====
繰り返し開始位置の定義。
 
=====]=====
繰り返し終了位置の定義。
 
=====@<音色番号>=====
音色データの変更を行ないます。SCC音源およびFM音源のみ有効です。エンベロープは変更されず、音色データのみが変更されます。当然、@v(@s)でその音色が定義されていなければなりません。
 
=====y<r>,<d>=====
レジスタ<r>へ、データ<d>を書き込みます。実際に書き込まれるレジスタはこのエンベロープを使用中の音源になります。SCCの場合は無視され、実行されません。
 
=====\<n>=====
現在の周波数に<n>を加えます。範囲は-127~127。正の数で周波数は高くなります。単位はMMLの"\"と同じです。
 
=====.,=====
区切り。数値と数値の間に入れて下さい。(例:n4.456789)
 
※ <カウント>の範囲は2~239です。
 
===@r<number> = { Mode,Noise,AL,AR,DR,SL,SR,RR }===
エンベロープデータを定義します。
 
Mode ... @eと同じ
Noise .. @eと同じ
 
AL,AR,DR,SL,SR,RRについて簡単に説明します。それぞれの値の範囲は0~255です。
 
====AL ..... アタックレベル====
キーオンされた瞬間の音量。値が大きい程音量も大きくなります。
 
====AR ..... アタックレート====
キーオンされた時から音量が最大点(255)に達する速さ。実際の処理ではALにARを毎回加算して255を超えると次のDRの処理に移行します。
 
====DR ..... ディケイレート====
最大点から次のSLに達する速さ。最大点からDRの値を毎回減算してSLと同じか、小さくなると次のSRの処理に移行します。
 
====SL ..... サスティンレベル====
DRからSRへの移行点。
 
====SR ..... サスティンレート====
音量が減衰する速さ。SLの値からこの値が毎回減算されます。音量が0になるか、キーオフされるまでこの処理は続きます。あまり大きい値を指定すると一瞬で音が切れてしまいますので10位までが適当な値です(意図的に行う場合は別として)。
 
====RR ..... リリースレート====
キーオフされた時から音量が減衰する速さ。現在保持しているエンベロープの音量からRRの値を毎回減算します。
 
※@rと@eは同じ領域を使用して定義されますので、同じ番号に対して両方を定義することはできません。そのような場合は後に設定された方が有効になります。
 
===@s<number> = { data1 .... data32 }===
SCC音源の音色データを定義します。dataは16進数(00~ff)です。データは必ず32個必要です(省略は出来ません)。
 
例:@s02 = { 7f7f7f7f 7f7f7f7f 7f7f7f7f 7f7f7f7f ;PSG
80808080 80808080 80808080 80808080 }
 
===@v<number> = { data ... }===
FM音源のオリジナル音色を定義します。
 
例:@v15 = { ;BRASS
; TL FB
25, 7,
; AR DR SL RR KL MT AM VB EG KR DT
8, 8, 1, 2, 0, 0, 0, 1, 0, 0, 0,
8, 2, 1, 1, 1, 1, 0, 1, 0, 0, 0 }
 
パラメータの並びは旧MGSDRVの_VSETCと同じです。
 
===@#<number> = <n>===
音色に割り付けられているROM音色番号を変更します。MGSCでは@0~@14にそれぞれ、1~15のROM音色を割り当てています。@15以上はすべて0(オリジナル音色)となっていますので、@vでの音色設定は<number>が15以上である場合のみ意味を持ちます。@#はそれぞれの音色に割り当てられているROM音色番号を変更するものです。<n>は0~15で、0がオリジナル音色を意味します(その他の番号については後述)。
 
== コメント ==