Changes

MGSDRV MML 11 JP

8,765 bytes removed, 04:38, 25 June 2018
MMLについて
わり(CRLF)までをコメントと見なして無視します。
===MMLについて== 行の先頭が1~Hであると、指定されたトラックへMMLデータが書き込まれます。#opll_modeの設定値によって、トラックは次のように割り当てられます。 ===モード0(FM9音モード)===  1~3 ... PSG音源 4~8 ... SCC音源 9~h ... FM音源(a,b,c,d…と続きます) ===モード1(FM6音+リズム音モード)===  1~3 ... PSG音源 4~8 ... SCC音源 9~e ... FM音源 f ... リズム音(rでも可能) トラックの指定と、MMLデータの間は1つ以上のスペース(タブ)で区切って下さい。指定を複数ならべることで一度に複数のトラックへの書き込みができます。  例:123a v15cdef ← トラック1,2,3,aに"v15cdef"が書き込まれる。 音長は、"%"でステップ数を指定することもできます。4分音符は48ステップです。(例:a4 = a%48) 1音のステップ数は256まで指定できます。 以下に、使用可能なMMLを示します。小文字で記述してありますが、実際は大小文字の区別はありませんのでどちらで書いても構いません。<n>は数値を意味します。旧MGSDRVと違い、ほとんどの数値は省略できません。MML中のスペース、タブは無視されます。 ===t<n>=== テンポの指定。範囲は57~2047。すべてのトラックに影響する。 初期値120。 ===l<n>=== デフォルト音長の指定。範囲は1~192(テンポによって制限がある)。 付点や%を用いたりステップ数で指定する事も可能。初期値4。 ===^<n>=== 音長コマンドの後に付けて、音長を加算する(タイ)。音長(<n>)を 省略するとlコマンドで指定した音長になる。足した結果が256を 超えるとエラーになる。 ===&=== スラー。音程の直後で指定された場合のみ意味を持つ。タイとは 区別される。 ===q<n>=== 音長比。範囲は0~8。0はキーオフされなくなる(FM音源のみ)。初期 値8。リズム音トラック不可。 ===v<n>=== 音量の設定。リズム音トラックで指定された場合は全ての楽器の音 量が設定される。範囲は0~15。PSG音源ではハードエンベロープが 無効になる。初期値0。 ===v+|-<n>=== 音量を相対的に変化させる。範囲0~15。リズム音トラックで使用 すると全ての楽器の音量が変化する。 ===)<n>=== 音量を上げる。v+と同じ効果。<n>の範囲1~15。省略値1。 ===(<n>=== 音量を下げる。v-と同じ効果。その他は")<n>"と同じ。 ===v<楽器><n>=== リズム音トラックのみ有効。それぞれの楽器の音量を設定する。 <楽器名>は、bsmhcのいずれかを指定する。<n>の範囲は0~15。 ===v<楽器>+|-<n>=== 指定されたリズム楽器の音量を相対的に変化させる。範囲0~15。 ===k<n>=== PSG音源およびSCC音源のみ有効。キーオフされた後で、音が消える 速さを指定する。範囲は0~255。0が最も速い。@rで定義されたエ ンベロープを使用している場合、およびハードエンベロープ使用中 は無視(設定はされるが効果は表れない)される。初期値0。 ===@<n>=== 音色を変更する。範囲は0~31。リズム音トラック不可。 ===@e<n>=== @eまたは@rで設定されたエンベロープデータを現在使用中の音色に コピーする。SCC音源およびFM音源のみ有効。PSG音源で使用された 場合は@<n>と同じ動作をする。 ===@r<n>=== @e<n>と同じ。 ===m<n>=== PSG音源のみ有効。ハードエンベロープの周期を設定する。範囲は 1~65535。 ===s<n>=== PSG音源のみ有効。ハードエンベロープの形状を設定する。ソフト エンベロープは解除される(音色番号は保持しているのでVコマン ド等を実行すれば元に戻る)。範囲は0~15。 ===n<n>=== ノイズ周波数の設定。PSG音源のみ有効。範囲0~31。 ===o<n>=== オクターブの設定。範囲1~8。初期値4。 ===>=== オクターブを1つ上げる。 ===<=== オクターブを1つ下げる。 ===a~g[+,-][n]=== 音程を発音する。+は半音上がり、-は半音下がる。後に付ける数値 は音長を示す(省略するとlコマンドの値になる)。 ===_音程=== 直前の音程から指定された音程まで滑らかに変化させる。 (例:a_o4c4、a_>>g、a_b%100) ===r=== 休符。音長が省略された場合はBASICと異なりlコマンドの値になる。 ===楽器名[:]=== 指定されたリズム音を発生。":"を指定すると音長をデフォルトと見 なす(例:bh4 bh:)。リズム音トラック以外では無効。 ===\<n>=== デチューン量の設定。範囲-127~127。初期値0。 ===@\<n>=== デチューン量を細かく設定する。PSG音源とSCC音源では、範囲-327 68~32767。128で約半音ずれる。FM音源では、範囲0~255。255で 半音上がる。 ===p<n>=== PSG音源およびSCC音源のみ有効。音程を自動的に下げる量を設定す る。範囲は0~255。LFOと同時使用は不可能。旧MGSDRVのpコマンド と同じ効果を得る場合は128を足す(0~127と128~255では補正の仕 方が異なる)。 ===h<n1>,<n2>,<n3>,<n4>=== 音程LFOを設定、開始する。波形は三角波のみ。  n1:ディレイ(0~255) n2:深さ(0~127) n3:スピード(0~255) n4:粗さ(-127~127) ===@p<n>=== LFOの粗さを細かく設定する。PSG音源およびSCC音源のみ有効。範 囲-32768~32767。通常、音程LFOを設定した直後に用いる。 ===ho=== 音程LFOを開始する。 ===hf=== 音程LFOを停止する。 ===hi=== 音程LFOを初期化してディケイの処理に戻す(LFOのパラメータ自体 は初期化されない)。 ===[<回数>~]=== 囲まれた中を指定された回数だけ繰り返して演奏する。回数は0~ 255。0の場合は無限ループ。省略値は2。16重まで重ねが可能。 ===[~]<回数>=== 上と同じ。ただし回数はカッコの外に書く。 ===|=== 繰り返しのコマンドの中で用いる。最後の1ループを演奏中なら、 そのループを抜ける。 ===so=== FM音源のみ有効。サスティンをonにする。 ===sf=== FM音源のみ有効。サスティンをoffにする(初期状態)。 ===ko=== リズム音トラックのみ有効。リズム音発生の度に音を切らないよ うにする(初期状態)。 ===kf=== リズム音トラックのみ有効。リズム音発生の度に音を切るように する。 ===/<n>=== FM音源では強制的にキーオフさせる(q0実行時などに有効)。PSG音 源ではトーン、ノイズのモードを変更する。範囲は0~3。意味は@ eのModeと同じだが、0は"音を出さない"となる。それ以外のトラッ クでは無効。なお、FM音源で使用する場合、パラメータは無効。 ===y<n1>,<n2>=== レジスタn1へデータn2を書き込む。実際に値を書き込む音源は、演 奏中のトラックによって自動的に判断される。n1の範囲はFM音源(リ ズム)の場合0~56、PSG音源の場合0~15。データの範囲は0~255。 SCC音源では無効。 ===@l<n>=== オリジナル音色(FM音源)のtotal levelを変更する。y2,<n>と同じ。 PSG音源およびSCC音源では無効。 ===*<n>=== 指定された番号のマクロを呼び出す。8重まで重ねが可能。範囲0~ 255(オフセット指定可)。 ===!=== このコマンドを実行したトラックの以降のMMLをすべて無視する。 ===@m<n>=== 制御文字列の呼び出し。範囲0~127。値を省略すると直前に指定 した番号(初期値0)+1が指定されたと見なされる。省略した場合の 処理はコンパイル段階で行なわれるので注意。 ===@o<n>=== 制御文字列番号のオフセットを指定する。例えば"@o2@m12"とする と実際には2(@o2)+12(@m12)で"@m14"が指定されたことになる。歌 詞など、MMLは1ループ分だけで歌詞データのみを変更したいとき などに有効。 ===@f=== MIBの[fadefg]をインクリメントする。MGSELではフェードアウト が開始されるが、実際の動作はプログラムによって異なる(何も起 らない場合もある)。 ===$=== デバッグ用コマンド。-pで演奏させた場合、"$"コマンドの位置まで 自動的に早送りする。
== エラーについて ==