Backup of マビノギ/MML作成講座/1 (3) Back


Back to History list

#navi(../)
*その1 MIDIからMMLを作る [#g63a6ecb]
まずは、適当なMIDIをダウンロードして、MMLを打ち込もう。初心者は、初期のドラゴンクエストの音楽といったファミコンの音楽や、バッハなどのバロック音楽から始めるといい。というのは、この時代の音楽は3和音で音楽を作っているため、ちょうどマビノギのMMLの限界と一致するので都合がいいからだ。

2和音だが、ここでは[[2声のインベンション#13>Google:jsbach_bwv784.mid]]を例にとる。まず、jsbach_bwv784.midをダウンロードしてきて、適当なMIDIシーケンサーで開こう。

なお、MIDIからMMLに変換するソフトは数多くあるが、MabinogiのMMLは最小限のMMLコマンドしかサポートしていない(反復やマクロなどは使えない)ため、ソフトによっては正常に変換できなかったり、ゴミデータが含まれる可能性がある。ここではマウス入力で移す説明にしておく。

#ref(compose1.png,nolink);
次に、まきまびしーくで、同じ音階になるようにマウスで打ち込む。なお、先頭の4章節はあえて開けておく。
#ref(compose2.png,zoom,75%);
打ち込んだら聞いてみよう。あれ、なんだか音が低いなぁと感じるだろう。マビノギのMMLは1オクターブ低い音が出る。このため、単純にMIDIを打ち直すだけでは低い音になってしまう。そこで、ツールから移調を選び、12を入れる。これで同じ音がでるはずだ。
#ref(compose3.png,nolink);
音がこのままでは小さいので、各トラックの一番最初にV15を加えておこう。これで、打ち込みは終わり。

*MMLを圧縮する [#c0ac306a]
#ref(compose4.png,nolink,around,right);
もちろん、このままではMMLの文字数的にロスが多い。そこで、ツールからMML圧縮を行う。ただそれだけである。右下に文字数が表示されているので、どれだけ削れたか確認してみよう。146,145,0と書かれているのが文字数である。これを圧縮すると87,87,0になる。つまり半分になるわけだ。

マビノギで使用できる文字数はそう多くないので、この圧縮という機能が重要になってくる。
#floatclear

さて、圧縮したMMLを見て気づくことがあるだろう。この曲の特徴として、和音とメロディの音符が交互に16分音符と8分音符になっているというところがある。メロディトラックの使用可能文字数は多く、和音の使用可能文字数は少ない。つまり、16分音符が多いと言うことはその分容量を空ということを頭に入れておいて欲しい。

そこで、次の圧縮方法は、16分音符の部分をメロディトラックに入れ、8分音符の部分を和音トラックに入れる作業を行う。まきまびしーくでは、右クリックで範囲選択なので、それをコピペで入れ替えていく。
#ref(compose5.png,zoom,75%)
結果、96,53,0となる。この結果、合計174文字だったMMLが149文字まで容量を減らすことができた。(ここでは、和音の文字数を減らすことが目的であって、あまり、トータルの文字数の削減は意味ない。)

こういったテクニックは、長いMMLほど効果的である。

*演奏してみたら音がおかしい [#cb3afc52]
よくあるパターンである。マビノギではMMLが常に正しい音として再生されるとは限らないようになっている。そこで、「調律」と呼ばれる音符をMMLの先頭に入れておくことが慣習となっている。

#ref(compose6.png,nolink)
この調律の内容は、64部音符を32個タイ記号(&)でつなげたものである。
 l64d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d
これを楽譜の先頭に入れておくだけでその演奏が成功したか、失敗したかがわかる。

また、この調律の後ろが
 v0d2t84
と、音量0の音符が並んでいるのは、歌うペットとユニゾンするときに音がずれるのを防ぐためである。マビノギのMML再生機能は、休符の処理にバグがあり、ペットや他のプレイヤーと合奏するとき、音ズレの原因となる。特にテンポコマンドが入っているとより顕著に現れる。この音楽のメロディトラックは、ベースよりも16分音符だけ遅れているので、この末尾にd16を入れてある。

曲が始まるところで、音符を区切ってそこにテンポコマンドを入れるとさらに良い。

*まとめ [#a3e169d6]
-MMLの先頭にはなるべく調律を入れる。
-音符が細かい(16分音符が多い)部分は極力メロディトラックに入れて、和音トラックにはなるべく細かい音符は入れない。
-調律の後ろからメロディが始まるまで、休符(R)を使ってはならない。

*サンプル [#t54f86e3]
ここで説明したMMLのサンプルです。最初の4章節のみ作ってあります。続きは自分で入力しましょう。
#mabimml(2声のインベンション#13,リュート){{
MML@l64d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&dv0d2t86l16dv15eab+beb>do3aeab+beb>daeab+beb>do3aeab+beb>dr>ece<ab+egd<afadf<a>cro5dc-d<gbdf<bgegce<gb,r1v15o2a8>al8g+o5ce<g+>e<c<ag+e>b+ar4c<ab+a>fa>dfo2b>cgb>eg>ce.,;
}}