日本語English

MMLコマンド仕様

パート本体([partN] / [pcmPartX])に記載する演奏コマンド の一覧です。コマンドは大文字小文字を区別しません。空白・タブ・改行は自由に入れて構いません(解析時 に除去されます)。

コンダクターパートコマンド [conductorPart]専用

コマンド書式説明
TT120テンポを指定値に変更(小数点は無視)。
RR1 R4.休符(経過時間)。数字は 音符長(2=2分音符)、.で付点、3連符は6/12/24。
JJループ時のジャンプポイント(1曲1個のみ有効)。
[conductor]
[conductorPart]
  R1 R1 J
  T120 R4 T115 R4 T110 R4
  T80
[conductorPartEnd]

詳しい設置ルールはMMLファイル構成仕様を参照。

FM / PCM(long)パート 共通コマンド

FM音色パート([partN])と、PCM音色パートのうち partType: long[pcmPartX])は同じコマンド体系を使用します。

コマンド書式説明
C D E F G A BC4ドレミファソラシの各ノート。
RR4休符(レスト)。
数字(長さ)C4 C4. C6 C12 ノート/休符の後につけ、音の長さを表す。2=2分音符、4=4分音符など。.で付点(長さを 1.5倍)。3連符は6・12・24で指定。
# + -C#4 C+4 C-4直前の ノートの半音上げ下げ。#+は同じ意味(シャープ)、-はフラット。
[ ][C4E4G4]コード(和音)。[]内にはノートとオクターブ指定のみ記載可(他のコマンドは無視)。和音内で異なるオクター ブを混在させる場合は各ノートの前にOを個別指定します。
OO4オクターブ指定。以降のノートは指定オクター ブで発音します。
>>1オクターブ下げる(以降のノートに適用)。
<<1オクターブ上げる(以降のノートに適用)。
LL4デフォルト音符長の指定。数字省略時は4。以降、 長さ指定のないノート/休符はこの長さで発音(例: L4 CDREC4D4R4E4と同義)。
QQ2音符長に対する発音長(スタッカート)指定。数字 省略時は4。1=25%、2=50%、3=75%、4=100%。以降のノートに適用。
VV100ベロシティ指定。数字省略時は64。以降のノート に適用。
PP-7パート内でのパン定位変更。[partSetting] と同じ -16(左)〜16(右)のスケール。
@@2音色IDの切り替え。以降のノートは指定音色で 発音。
&C1&C1&C1同音ノート同士の連結(タイ)。 アタックは最初の1回のみで、指定した音符すべての長さ分持続音になります。異なるノート同士を& で連結した場合は無視されます。
|: :||: L4 C D E :|*2パターン繰り返し。 |::|で囲んだコマンド列を、末尾の*n回数分繰り返します (*n省略時は1回のみ)。囲い内には他コマンドを自由に記載可。
## コメント行頭が#の行はコメント 行として無視されます(先頭の空白は無視)。
O3 C4D4E4F#4
G8A8B8
O4 C16C#16D16e16 F2R4G8

ポルタメント(音程スライド) long専用

ノートとノートの間に&&を記載すると、前後のノートをポルタメント(滑らかな 音程移動)で接続します。&&の後ろにポルタメントの長さ(音符長)を指定できます。

L2 C &&4 E

[C E G]
&&
[D F G B]
ルール説明
発動タイミング後ノートの発音タイミングでポルタメントが開始します。
長さ指定&&4のように音符長を指定可能。未指定 (&&のみ)、または後ノートの音符長を超える等の無効値の場合は、後ノートの長さ の50%がポルタメント長になります。
前ノートのスタッカート前ノートにスタッカート(Q)が設定されていても、 ポルタメントを行うために無効化されます。
休符を挟む場合前ノートと後ノートの間に休符があるとポルタメントは無効になります。
単音⇔和音の組み合わせ単音→和音、和音→単音のどちらの組み合わせもポルタメントは 無効です。
和音→和音有効です。和音の先頭ノート同士の音程差分を、和音を構成する各ノートにそれ ぞれ適用してポルタメントします(構成数や音程が異なっていても同様)。
対応パートFM音色パート、PCM音色パート(partType: long)でのみ使用可 能。PCM oneShotパートでは使用できません。

ピッチベンド long専用

ノートの直前・直後に記号を付けることで、発音開始時/発音終了直前にピッチベンドをかけられます。 ピッチ変化は単純な線形変化です。

記法意味差分音数ベンド音符長
_/note発音開始時ピッチベンドアップ(低い音から発音し、指定音 程まで上げる)_の後ろに指定(1=半音、2=全音…)/の後ろに 指定
_\note発音開始時ピッチベンドダウン(高い音から発音し、指定音程 まで下げる)_の後ろに指定\の後ろに指定
note/_発音終了時ピッチベンドアップ(発音し、終了直前に指定音程 まで上げる)/の後ろに指定_の後ろに指定
note\_発音終了時ピッチベンドダウン(発音し、終了直前に指定音程 まで下げる)\の後ろに指定_の後ろに指定

記載例

# 発音開始時: 半音2つ分低い音から始まり、4分音符かけてCの音程へ上げる(全体は2分音符)
L2 _2/4 C2

# 発音終了時: 全2分音符のうち、まずCを4分音符分発音し、残り4分音符でピッチベンドダウン
C2\2_4

# 差分音数・ベンド音符長を省略(デフォルト: 差分1半音、ベンド長は対象ノートの50%)
L1 _/[C E G]
ルール説明
差分音数・ベンド音符長の省略省略時のデフォルトは、差分音数=1(半音)、ベンド音符長 =対象ノートの音符長の50%。
スタッカートとの併用対象ノートにスタッカート設定がある場合、ベンド音符長もスタッカ ート後の実発音時間に合わせて短くなります。
和音への適用対象ノートが和音(コード)であってもピッチベンド可能です。
対応パートFM音色パート、PCM音色パート(partType: long)でのみ使用可能。 PCM oneShotパートでは使用できません。

PCM(oneShot)パート コマンド [pcmPartX] partType: oneShot専用

ワンショットタイプの音色は、音色に割り当てたノート(サンプル)ごとに個別のMMLコマンド列を { }で囲んで記載します。1パート内に複数のノート定義ブロックを記載できます。

コマンド書式説明
XXこのノートに割り当てられたワンショットサンプル を発音します。基本はWAV波形の最後まで再生されますが、再生完了前に同じサンプルの次の発音が来た場合 は、先の発音を止めて後発の発音を優先します。
RR4休符。
数字(長さ)X4 X4.音符/休符の後につけ、長さを 表す(2=2分音符等)。.で付点。
LL4デフォルト音符長の指定(省略時4)。
VV100ベロシティ指定(省略時64)。以降のノートに 適用。
oneShotパートでは無効なコマンド: @[ ](コード)、 # + -(臨時記号)、O<>(オクターブ系)、 Q(スタッカート)、P(パン)は、oneShotパートでは使用できません (記載しても無視されます)。これらはノート=どのサンプルを鳴らすかの選択に使われるため、音程系の コマンドとは意味が両立しません。
C1 {
  V100 L4 X R X8 X8 X
  X R X8 X8 X
}
E1 {
  V100 L4 R X R X
  R X R X8 X8 X
}
F#1 {
  L8 V70 X V50 X X X V70 X V50 X X X
  V70 X V50 X X X V70 X V50 X X X
  X
}

上の例では C1E1F#1の各ノート(=PCM音色 YAML側のvoiceSettingで割り当てたサンプル)ごとに、独立したリズムパターンを記述してい ます。ノート名はPCM音色設定ファイルのvoiceSetting[].noteと一致させます。