トップへ戻る
MML入門

1.MMLとは
 MMLは Music Markup Language の略で、テキストで音楽データを表現しようというものです。 昔のパソコンでは音楽データを打ち込むのによく使用されていましたが、最近は余り使われていません。 ですがWindows用にもいくつかMMLを使用して音楽を作るツールがありますので使ってみるといいとおもいます。
 MMLには標準規格みたいなものは無いので、いろんな方言がありますが、基本的なところは同じなので覚えておくといいことがあるかもしれません(...ないかな(^^;;)
 ちなみに、MML2MMF.EXEのMMLは長 慎也さんの「M-Two」Z-MUSICを参考にさせていただきました。

2.MMLを作ってみよう
それでは早速作ってみましょう。

  用意するもの
    ・テキストエディタ
    ・作りたい曲の楽譜
               以上(笑

特別なツールが無くても作れるのがMMLのいいところです。
MML2MMF用のMMLを作るだけならこれだけで十分なんですが、 ここではMML入門なので作ったMML確認するのに上記の「M-Two」が便利なので、これをつかわせてもらうことにします。
ではまず、「M-Two」を起動して下さい。
次に、コンソール部分に

   1[c4d4e4f4g4a4b4]

と半角で打ち込んでください。大文字でも小文字でもかまいません。
これだけでもう音を鳴らすことが出来ます。F9キーを押してみてください。 「ドレミファソラシ」と鳴ったとおもいます。
もうおわかりかとおもいますが、アルファベットの A 〜 G までが音程をあらわしています。

音程 ファ
MML C D E F G A B


で、各アルファベットの後ろの数字は音長を表しています。4分音符なら4、8分音符なら8 といった感じです。

音長 全音符 2分音符 4分音符 8分音符 16分音符 32分音符
MML 1 2 4 8 16 32


また中途半端な音長 "C6" とか "D12" のような値を指定することも出来ます。"C6" は4分音符より短く8分音符より長い、"D12" は8分音符より短く16分音符より短い音長になります。

残りの、先頭の "1[" と最後の "]" ですが、これは音を鳴らすパートをあらわしています。この場合ですと1パート目でドレミファソラシを全部4分音符で鳴らしてね、ということになります。
では、複数パートで音を鳴らしてみましょう。

   1[c4d4e4f4g4a4b4]
   2[c4d4e4f4g4a4b4]

と打ち込んでみてください。コピーして先頭の1を2に変えるだけでOKです。このへんはテキストエディタの機能がそのまま使えるので非常に便利です。曲には同じようなフレーズが何回も出てくることがよくあるのでテキストエディタで編集できるMMLだと作るのが非常に楽です。
話がそれましたが、先ほど打ち込んだデータを鳴らしてみてください。 どうでしょう?同じ音で鳴っているのでわかりづらいかもしれませんね。
では、2パート目の先頭に "R16" を追加して

   1[c4d4e4f4g4a4b4r4]
   2[r16c4d4e4f4g4a4b4]

として鳴らしてみてください。今度はわかりましたか?エコーが効いたようになったと思います。
追加した "R" は、休符をあらわしています。これも音符と同じく後ろに音長がつきます。使用できる音長は音符と同じです。
"R16" は16分休符、"R4" は4分休符といった感じになります。
次に、

   1[cdefgabr]
   2[r16cdefgab]

として鳴らしてみてください。何も変わらなかったと思います(笑
実は、音長は省略することができます。では、省略した場合の音長はどうなるかというと "L"+音長 で指定することができます。デフォルトで "L4" が設定されていますのでさっきの場合は変化が無かったのです。

   1[L8cdefgabr]
   2[r16L8cdefgab]

と修正すると音長が変わるのが確認できると思います。

   1[L8cdeL2fgabr]
   2[r16L8cdeL2fgab]

このように、"L" は何回も指定することができます。指定した以降のデフォルトの音長が変更されます。

では用意した楽譜を見ていざ作ってみましょう!と言いたいところですが楽譜を見ていると足りないものがありますね。
付点とシャープ、フラットそしてタイ、スラーです。
付点は

   1[c2.d4.e8.f16.g.abr]
   2[r16.c2.d4.e8.f16.g.ab]

のように、音長の後ろに "."(ピリオド) をつけます。また音長を省略している場合にもつけることができます。
シャープ、フラットは、

   1[c+2d-4e#8f+g-a#br]
   2[r16c+2d-4e#8f+g-a#b]

のように、音長の前に "+"、"-"、"#" をつけます。シャープは "+"、"#" のどちらでも使用できます。フラットは "-" を使用します。
先ほどの付点も合わせて使えますので

   1[c+2.d-4.e#8.f+.g-.a#.b.r.]
   2[r16.c+2.d-4.e#8.f+.g-.a#.b.]

組み合わせるとこんな感じになります。
タイ、スラーは、つなぎたい音符の間に "&" を入れます。
   1[c2&c4d48f&gabr]
   2[r16c2&d4d4e8f&gab]


まとめると音符データは

   A〜G{+,-,#}{1〜128}{.,..}({}の中は省略可能なもの、M-Twoでは33以上の音長はエラーになります)

休符データは

   R{1〜128}{.,..}({}の中は省略可能なもの、M-Twoでは33以上の音長はエラーになります)

のようになります。

さぁ、一通りの音符をMMLで表現できるようになりましたが、オクターブの違う音はどおすればいいのでしょうか?
それには "O"(アルファベットのオーです)、">" と "<" を使用します。

   1[o5 cdefgabr]
   2[o5 r16cdefgab]

としてみましょう。オクターブ高い音に変わったと思います。
今度は、

   1[o5>cdefgabr]
   2[o5>r16cdefgab]

どうでしょう?元にもどりましたね。"O" はオクターブを直接指定することができます。"<"と">" はそれぞれオクターブをひとつ上げる、下げるを表します。もちろん、音符データの間に入れることが可能です。

   1[cdo5ef>ga<br]
   2[r16cdo5ef>ga<b]

ちなみにデフォルトのオクターブは "O4"(オー4ね) が指定されています。いまのところMML2MMF.EXEではオクターブは 2〜5 までしか指定することができませんので気をつけてください。

では、せっかく複数パートで音を鳴らすことができるので、音色を変えてみましょう。

   1[@56 cdefgabr]
   2[@26 r16cdefgab]

これで音が変わったと思います。"@" は、各パートの音色を設定します。
M-Twoでは実際に携帯で再生した場合の音色とはだいぶん違いますが、実際の携帯での音色と指定する番号の関係はGM規格音色マップに対応しています。
ボリュームも変更することができます。

   1[@56v12 cdefgabr]
   2[@26v10 r16cdefgab]

"V" は、0〜15 までの値を指定できます。数値が大きくなるほどボリュームは大きくなります。また、"@V" も使用できます。こちらは 0〜127 までで、より細かなボリュームの調整ができます。

   1[@56@v96 cdefgabr]
   2[@26@v74 r16cdefgab]

あと、楽譜にはテンポが書いてあります。これも指定することができます。

   1[@56@v96 t140 cdefgabr]
   2[@26@v74 r16cdefgab]

"T" は 1〜1024 まで指定できます(M-Twoでは31以下を指定するとエラーになるので注意)
テンポは各パートごとではなく全パート共通です。また、途中でテンポを変えることも出来ます。

最後に、連符の記述方法です。

   1[@56@v96 t140 {cde}8fg{abr}]
   2[@26@v74 r16{cde}8fg{abr}]

連符は、連符にしたい音符を "{}" で囲みます。で連符全体の音長を "}" の後ろに付けます。音長を省略すると"L"で指定した値が使用されます。また "{}" で囲まれた中の音符に音長を付けるとエラーになります。


以上でMMLの説明は終わりです。では最初に用意した楽譜を見ながら思う存分打ち込んでください!
きっと慣れてくると音符をぷちぷち置いていくタイプのツールより早く作れるようになると思いますよ。


3.MML2MMF.EXEのMMLマニュアル(ver1.00)

大文字小文字は区別しません。スペース、改行もOKです。

・現在使えるコマンド
コマンド デフォルト
設定値
説明
●音符パート(1[]〜16[])
{C〜G,A,B}{+-#}{*}{1〜128}{.,..} 音符コマンド。各パラメータの意味は {音階}{シャープ及びフラット}{絶対音長指定}{音長}{付点及び複付点} です。
A〜G 以外の引数は省略可能です('*'を使用した場合は音長は必須)。音長を省略した場合は 'L' で指定した値が使用されます。
絶対音長指定'*'を使用した場合は音長がそのままMMFのデルタタイムとして使用されます。値は1〜16511が指定できます。
ダブルシャープ、ダブルフラットも使用できます。(Ex. C++ D-- E## F#+)

ド=C、レ=D、・・・ ラ=A、シ=B です。
R{*}{1〜128}{.,..} 休符データ、R以外は省略可。
@{0〜127,152〜212} 0 音色指定。GM音源の音色マップに準拠。各パートごとに指定します。
16和音モードでは曲中で音色を変更することが出来ます。
4和音モードでは最初に指定した音色が使用されます。
@152〜@212は16和音用のドラムパート、4和音モードでは使用できません。
L{1〜128} 4 デフォルト音長。音符の後の音長を省略した場合の音長を指定します。
V{0〜15} 12 各パートごとのボリューム。
4和音モードでは2回以上(@Vと共通)書いても最初の値が使用されます。
@V{0〜127} 96 各パートごとのボリューム。
4和音モードでは2回以上(Vと共通)書いても最初の値が使用されます。
T{1〜1024} 120 テンポ。パート共通。
途中でテンポを変更することも出来ます。
O{-8〜16} 4 オクターブの指定。
16和音モードでは O0C# 〜 O8C まで、4和音モードでは O2C# 〜 O8C まで使用できます。
('K'及び'@K'コマンドにより上記の範囲は変動します。)
ただし、4和音モードでは機種によっては1パート3オクターブ以内に抑えないといけません。
また、4和音モードでは音色によって使用可能なオクターブが設定されています。
< オクターブを下げる。
> オクターブを上げる。
P{1〜3} 3 パンポット。1:左 2:右 3:両方
16和音モードのみ。4和音モードでは無視されます。
@P{0〜127} 64 パンポット。0 〜 64 〜 127 で 左 〜 真中 〜 右 を細かく指定できます。
16和音モードのみ。4和音モードでは無視されます。
@M{0〜127} 0 モジュレーション(ビブラート)を設定します。
4和音モードの場合は 0〜63 でOFF、64〜127 でON。
16和音モードではモジュレーションの強さを指定できます。0 でOFF 127 で強くかかります。
※音色によってかかる場合とかからない場合があります。
X{1〜15} 15 エクスプレッション(ベロシティ)を指定します。
16和音モード専用です4和音モードでは無視されます。
15 で V 及び @V で指定した音量、値を小さくすると音量が小さくなります。
※MMFに変換された際には @X を使用した場合よりもファイルサイズが若干小さくなります。
@X{0〜127} 127 エクスプレッション(ベロシティ)を指定します。Xよりも細かい指定が出来ます。
16和音モード専用です4和音モードでは無視されます。
127 で V 及び @V で指定した音量、値を小さくすると音量が小さくなります。
※MMFに変換された際には X を使用した場合よりもファイルサイズが若干大きくなります。
Q{0〜8} 8 ゲートタイム(音のなっている長さ)を設定します。
1 がもっとも短く 8 で音長どおりの長さになります。つまりゲートタイムが n/8 になります。
Q4C8D8 とすると、スタッカートのようになります。
K{-127〜127} 0 キートランスポーズを指定します。
指定した以降の音程を半音単位で上下させます。
※'@K'とは管理が別なので、それぞれ独立して指定できます。
@K{-512〜512} 0 ディチューン。
1/16半音単位で音程を上下させます。
4和音モードでは16単位(半音)で切り捨てられます。
※16和音モードではこのコマンドを使用するとサイズが非常に大きくなるので注意が必要です。 ※'K'とは管理が別なので、それぞれ独立して指定できます。
@K{~,_}{1〜512} 相対ディチューン。
現在のディチューン値を相対的に1/16半音単位で音程を上下させます。
'@K~' でプラス、'@K_' でマイナスになります。
値を省略すると 1 になります。
4和音モードでは16単位(半音)で切り捨てられます。
※16和音モードではこのコマンドを使用するとサイズが非常に大きくなるので注意が必要です。
@O{2,4} 2 音色に使用するオペレータ数を指定します。
16和音モード専用です4和音モードでは無視されます。
各パートごとで音色に使用するオペレータ数を指定します、複数記入しても最初に指定した値が使用されます。
各パートのオペレータ数の合計が32以下でないといけません。
@O4を指定すると音色がよくなります、でもすべてのパートに@O4を指定すると最大で8和音までしか
指定できなくなります。
Ex.
  1[T120 @O4 @10 L8 CCCC]
  2[   @O4 @20 L8 DDDD]
  3[   @O4 @30 L8 EEEE]
  4[   @O4 @40 L8 FFFF]
  5[   @O4 @50 L8 GGGG]
  6[   @O4 @60 L8 AAAA]
  7[   @O4 @70 L8 BBBB]
  8[   @O4 @80 L8 CCCC]
  9[   @O4 @80 L8 CCCC] ← 9パート目を使用するとオペレータの合計が36になるのでエラー

  1[T120 @O4 @10 L8 CCCC]
  2[   @O4 @20 L8 DDDD]
  3[   @O4 @30 L8 EEEE]
  4[   @O4 @40 L8 FFFF]
  5[   @O4 @50 L8 GGGG]
  6[   @O4 @60 L8 AAAA]
  7[   @O4 @70 L8 BBBB]
  8[   @O2 @80 L8 CCCC]
  9[   @O2 @80 L8 CCCC] ← この場合はオペレータの合計が32なのでOK
& タイ及びスラー。
^{音長} 加算式タイ。
音長を省略した場合は 'L' で指定した値が使用されます。
意味は L8C2&C4&C を L8C2^4^ のように表現できます。
入力がちょっと楽になるかも(^^;
{音符コマンド}音長 連符。 音長を省略した場合は 'L' で指定した値が使用されます。
Ex.
 {ccc}4  ・・・ 合計音長4の3連符
 {cdrfg}2 ・・・ 合計音長2の途中で休符つきの5連符
 {cc&c}4  ・・・ '&' も使えます
|:n ・・・ :| 2 繰り返し。n には2以上の繰り返し回数を指定する。
|: ・・・ :| で囲まれた部分をn回繰り返します。
n の値を省略した場合は2になります。
(開始音, 終了音)音長,s,m,e ポルタメント。
16和音モードでは開始音から終了音まで滑らかに音程を変化させます。
4和音モードでは開始音と終了音をタイで結ぶだけです。
音長を省略した場合は 'L' で指定した値が使用されます。
s は開始音を持続させる時間を音長を100としたパーセントで表します。
m は開始音から終了音までの変化させる時間を音長を100としたパーセントで表します。
e は終了音を持続させる時間を音長を100としたパーセントで表します。
ですのでs,m,e の合計は100になるように指定してください。
s,m,e は省略することも可能です。
すべてを省略した場合は 1,98,1 を指定した場合と同じになります。
Ex.
  (C,D)4 は (C,D)4,1,98,1 と同じ。

また、一部を省略することも可能です。
その場合、省略された部分は100から指定された値を引いた値が使用されます。
Ex.
  (C,D)4,,50,10 は (C,D)4,40,50,10 と同じ。
  (C,D)4,20,70 は (C,D)4,20,70,10 と同じ。

2箇所を省略した場合は、100から指定された値を引いた値の半分がそれぞれに使用されます。
Ex.
  (C,D)4,,50 は (C,D)4,25,50,25 と同じ。
  (C,D)4,40 は (C,D)4,40,30,30 と同じ。

※16和音の場合このコマンドを使用するとサイズが非常に大きくなるため注意が必要です。
●ADPCM音符パート(A[]) ※16和音モード専用
{A〜J}{*}{1〜128}{.,..} F[] パートにて割り当てられたADPCMデータを再生します。
各パラメータの意味は {設定ADPCM}{絶対音長指定}{音長}{付点及び複付点} です。
絶対音長指定'*'を使用した場合は音長がそのままMMFのデルタタイムとして使用されます。値は1以上を指定してください。
A〜J 以外の引数は省略可能です('*'を使用した場合は音長は必須)。音長を省略した場合は 'L' で指定した値が使用されます。
R{*}{1〜128}{.,..} 休符データ、R以外は省略可。
L{1〜128} 4 デフォルト音長。音符の後の音長を省略した場合の音長を指定します。
V{0〜15} 12 ADPCMパートのボリューム。
@V{0〜127} 96 ADPCMパートのボリューム。
T{1〜1024} 120 テンポ。パート共通。
途中でテンポを変更することも出来ます。
Q{0〜8} 8 ゲートタイム(音のなっている長さ)を設定します。
1 がもっとも短く 8 で音長どおりの長さになります。つまりゲートタイムが n/8 になります。
& タイ。※ADPCMパートではスラーは使えません。
^{音長} 加算式タイ。
音長を省略した場合は 'L' で指定した値が使用されます。
意味は L8C2&C4&C を L8C2^4^ のように表現できます。
入力がちょっと楽になるかも(^^;
{音符コマンド}音長 連符。 音長を省略した場合は 'L' で指定した値が使用されます。
Ex.
 {ccc}4  ・・・ 合計音長4の3連符
 {cdrfg}2 ・・・ 合計音長2の途中で休符つきの5連符
 {cc&c}4  ・・・ '&' も使えます
|:n ・・・ :| 2 繰り返し。n には2以上の繰り返し回数を指定する。
|: ・・・ :| で囲まれた部分をn回繰り返します。
n の値を省略した場合は2になります。
●データ設定パート(D[])
Z@{0〜127},{0〜255},・・・ 4和音用の音色データを設定します。(16和音モードでは無視されます)
'@'の後ろで音色番号を指定します。
コンマの後のパラメータは13個まで指定出来ます。
(MMFでの音色設定のパラメータに対応しています)
各要素の意味は解ってないです効果がわかった方教えてください(^^;
Ex.
  Z@1,113,97,123,137,128,49,87,140,0,48,49,98,00
X@{0〜127,152〜212},{0〜255},・・・
X4@{0〜127,152〜212},{0〜255},・・・
16和音用の音色データを設定します。(4和音モードでは無視されます)
'@'の後ろで音色番号を指定します。
コンマの後のパラメータ要素は'X@'は12個、'X4@'は22個まで指定出来ます。
(MMFでの音色設定のパラメータに対応しています)
X4@は4オペレータの音色指定。
W@{0〜127,152〜212},{右記の範囲},・・・
W4@{0〜127,152〜212},{右記の範囲},・・・
16和音用の音色データを設定します。(4和音モードでは無視されます)
'@'の後ろで音色番号を指定します。
コンマの後のパラメータ要素は'W@'は33個、'W4@'は63個指定してください。※省略は出来ません
W4@は4オペレータの音色指定。

各要素の意味:
  1番目エフェクト周波数 0〜3 0:1.9HZ 1:4.2Hz 2:6.1Hz 3:7.2Hz
  2番目フィードバック 0〜7
  3番目アルゴリズム W@では0〜1 W4@では0〜3
  4,19,34,49番目ウェーブフォーム 0〜7
  5,20,35,50番目マルチプル 0〜15 0:0.5 1:1 2:2 … 15:15
  6,21,36,51番目エンベロープ 0〜1 0:減衰音 2:持続音
  7,22,37,52番目サスティーンフラグ 0〜1
  8,23,38,53番目キースケールレート 0〜1
  9,24,39,54番目キースケールレベル 0〜3
  10,25,40,55番目ビブラートフラグ 0〜1
  11,26,41,56番目ビブラートレベル 0〜3
  12,27,42,57番目トレモロフラグ 0〜1
  13,28,43,58番目トレモロレベル 0〜3
  14,29,44,59番目アタックレート 0〜15 0:遅い 15:早い
  15,30,45,60番目ディケイレート 0〜15 0:遅い 15:早い
  16,31,46,61番目サスティーンレベル 0〜15 0:大きい 15:小さい
  17,32,47,62番目リリースレート 0〜15 0:長い 15:短い
  18,33,48,63番目トータルレベル 0〜63 0:大きい 63:小さい
※4〜18が第1オペレータ、19〜33が第2オペレータ、34〜48が第3オペレータ、49〜63が第4オペレータを表しています。
※Ver0.24からKL,AR,DR,SL,RR,TLの各値の指定方法を'X@'と同じに変更しました。'W@'及び'W4@'を使用したデータがありましたら各値を反転(KLはビット反転)してください。

Ex.
4オペレータの@0の音色を指定した場合
FQFBALWFMLENSUKRKLVFVLTFTLARDRSLRRTL
D[W4@0,1,4,1,0,1,1,0,1,2,0,2,0,2,11,1,5,14,15,
0,1,0,0,1,2,0,2,0,2,11,1,8,15,0,
0,1,1,0,1,0,0,2,0,2,10,1,11,4,25,
0,1,1,0,1,0,0,2,0,2,10,1,13,7,0]
@D{0〜255} 16 一応、4和音用のテンポを指定します。(16和音モードでは無視されます)
値を小さくすると速いテンポ、大きくすると遅いテンポを意味しています。
テンポがもつれる場合にこの値を変える事で直ります。ほとんどの場合この値を小さくすれば直るようです。
@C{0〜3} 1 コピープロテクトの指定。
0:制限無し 1:メールなどへの添付禁止 2:着メロ登録禁止(BGMに使用する場合など) 3:添付禁止&着メロ禁止
@R{0〜3,16〜19} 2 デルタタイム(音長)のタイムベースを指定する。(デフォルトが2なので1にするとテンポが2倍に0だと4倍になると思えばいい)
0:1デルタタイム1ms 1:1デルタタイム2ms 2:1デルタタイム4ms 3:1デルタタイム5ms
16:1デルタタイム10ms 17:1デルタタイム20ms 18:1デルタタイム40ms 19:1デルタタイム50ms
※通常は@Lと同じ値を指定する。そうしないとおかしくなるかも。
@L{0〜3,16〜19} 2 ゲートタイム(音の鳴ってる長さ)のタイムベースベースを指定する。(デフォルトが2なので1にするとゲートタイムが2倍に0だと4倍になると思えばいい)
0:1ゲートタイム1ms 1:1ゲートタイム2ms 2:1ゲートタイム4ms 3:1ゲートタイム5m
16:1ゲートタイム10ms 17:1ゲートタイム20ms 18:1ゲートタイム40ms 19:1ゲートタイム50m
※通常は@Rと同じ値を指定する。そうしないとおかしくなるかも。
●ADPCM設定パート(F[]) ※16和音モード専用
S{4,8} 8 使用するADPCMのサンプリングレートを指定します。
4で4KHz、8で8KHzになります。
A〜J<ファイル名> 各A〜Jに設定するADPCMデータの格納されたファイルを指定します。ファイル名にパスを指定しなかった場合はMMLファイルのパスが使用されます。
ADPCMデータファイルはYAMAHAのMA2コンバータを使用して作成したMMFファイルからバイナリエディタ等でADPCM部分のみを切り出して作成するか、ADPCMCUTTER.EXEを使用して作成してください。

Ex.
F[S8 A<ばすどら.AP8>   B<すねあ.AP8>
   C<たむ1.AP8>    D<たむ2.AP8>
   E<たむ3.AP8>    F<しんばる.AP8>
   G<はいはっとO.AP8> H<はいはっとC.AP8>
   I<どら.AP8>     J<はんどくりっぷ.AP8> ]
A[@V127 L8 ABAB EDCF I2 J4J4]
●コメント設定パート(C[])

MMFのCNTIチャンクに書かれるコメント。必ずしも必要ではないのでサイズを小さくしたい場合は書かなくてもOK!
この中身はタブ、改行などそのまま書かれるので、タブ、改行は使わないほうがイイと思います。
YAMAHAの仕様によると

 [タグ名]:[データ],[タグ名]:[データ],・・・

のように記述するらしい。
タグ名は、

名称タグ名
ベンダー名VN
キャリア名CN
カテゴリー名CA
曲名ST
アーティスト名AN
作詞WW
作曲SW
編曲AW
CopyrightCR
作成日時CD
更新日時UD
のようですが、基本的にタグは英数2文字なら何でもOKっぽいです。
Ex.
C[ST:かえるの歌,SW:誰かわからん,CR:Puc.2001,]

データ部で "]" や "," を使用する場合は直前に "\" を付けて "\]"、"\," のように記述してください。
このため "\" を使用する場合も "\\" のように記述してください。
また、"\x"を使用することで16進数の数値を直接書き込むことも出来ます(この場合必ず16進数2桁で入力してください)。
Ex.
C[ST:[ \\ほげほげ\,うにうに\x01,]
●パート指定方法
1[音符データ] 1パート目の音符データ。
2[音符データ] 2パート目の音符データ。
3[音符データ] 3パート目の音符データ。
4[音符データ] 4パート目の音符データ。
5[音符データ] 5パート目の音符データ。




・ (5パート目から16パート目は16和音モードでしか使用されません)

16[音符データ] 16パート目の音符データ。
A[音符データ] ADPCMパートの音符データ。
C[コメント] MMFのCNTIチャンクに書かれるコメント。
D[設定データ] MMFの細かい設定を行う。
F[ADPCM設定データ] ADPCMの設定を行う。(16和音モードでしか使用されません)
※かっこで囲まれた中身しか認識しないのでそのほかの部分は全部コメント扱い


トップへ戻る