MML記法の各初期値を調べてみた
すでに誰かがやってるかもしれないけどMML記法の演奏エンジンであるFlMMLのソースを読んでMML記法の各初期値を調べてみた。
なお小数になっている値は厳密にMMLで指定することを仮定した場合のものであり、実際には小数での指定は意味がありません。
テンポ | t120 |
オクターブ | o4 |
デフォルト音長 | l4 |
ボリューム | v11.625 |
ゲートタイム | q15 |
エンベロープ | @e1,0,50.8,25.4,0*1 |
音色 | @3 (パルス波) |
ノイズ周波数 | @n0 |
パルス波のデューティ比 | @w50 |
備考
- リリースに0を指定すると127を指定したのと同じになる
- デフォルト音長をl0と指定するとl4と指定したのと同じになる
- 分解能は384
- ボリュームをv0と指定すると実際には最大音量(v15)の7/127を指定したことになる
- コマンドの後ろの数字を省略すると基本的には現在の設定値と同じになるが
- vコマンドの場合現在の設定値*8+7を指定したことになってしまう
- @e1はアタックが0、ディケイが64、サスティンレベルが32、リリースが0となる(値を入れたところはその通りになる)
- @n, @wは初期値
10/23追記
FlMMLがアップデートされたので現在では違うところがあるかもしれません。そのうち確認します。
*1:実際にこのようにするとリリースは127になるが、初期値は本当に0である