MIDI から MML へ
できあいの曲を、マビノギで演奏できる楽譜に
そのまま変換できない理由
MIDI と MML では表現力が大きく違い、そこがすべての根っこです:
| MIDI | マビノギ MML | |
|---|---|---|
| 同時に鳴る音 | 1 つの声部が同時に何音も鳴らせます | 1 トラックは同時に 1 音だけ |
| 声部の数 | 16 channel、それぞれ制限なし | 楽譜 1 件につき 4 トラック(メロディ、ハーモニー1、ハーモニー2、歌唱) |
| 楽器 | 1 トラックの途中で変えられます | 1 トラックに 1 楽器、途中で変えられません |
| 時間の精度 | 非常に細かく、人の演奏のわずかなずれまで記録できます | マス目に乗らないと、そもそも書けません |
ですから変換の本質は捨てることです。どの瞬間についても、複数の音から 1 つだけを残します。出てくるものは必ず元より少なく、問題は「減ったのが自分の気にしていた部分かどうか」だけ——そしてそれこそが、取り込みモードの決めていることです。
操作の手順
- エディターのタイトルバーでファイルを押します
- 読み込みの欄で
.midファイルを選びます - ファイルの枠がひとりでに閉じ、トラック一覧に変わります
- 読み込みたい行にチェックを入れ、行ごとに取り込みモードを選びます
- 読み込むを押します
読み込みは置き換えではなく追加です——いまあるトラックは上書きされません。声部を何回かに分けて読み込みたいときは、これを繰り返せば済みます。
トラック一覧の読み方
一覧の各行は Ch 3 · Bright Acoustic Piano のような形で表示されます。2 か所、説明する価値があります:
1 行は 1 channel ではありません
1 行が表すのは(MIDI トラック, channel)の組 1 つであって、単純に channel ごとではありません。理由は、ピアノ譜が左手と右手を 2 つのトラックに書きながら同じ channel を共有していることが多いからです——channel でまとめてしまうと左右の手が混ざり、取り込み側は両手の間から選ぶことになって、聴けたものではなくなります。
同じ理由で、途中で楽器が変わったからといってトラックを分けることもしません。マビノギはそもそもトラックの途中で楽器を変えられないので、分けてもその変化は表現できず、トラックの枠を 2 つ食って両方が半分空くだけです。この種の行には「▸ N 種類の音色」と印が付きます。
表示されるのは GM 音色名で、トラック名ではありません
これは意図的です。トラック名は人が打った自由なテキスト、GM 音色は機械が書いた、プレイヤーが実際にそのとおり鳴らす値です。 実際に出会ったファイルの例:
| ファイル内のトラック名 | 実際の GM 音色 |
|---|---|
MIDI main | Vibraphone(ヴィブラフォン)——名前からはまったく分かりません |
MIDI violin | String Ensemble 1——名前が間違っています。これは弦楽の群奏です |
©MidiStar(全 12 トラック同じ) | すべて別々——名前は書き出したツールの透かしにすぎません |
この行を見て取り込みモードを決める(ピアノにはどれ、ベースにはどれ)わけですから、間違っているかもしれない名前で選べば選び間違えます。トラック名が表示されるのは、ファイルに音色が書かれていないときの代わりとしてだけです。
Channel 10 は打楽器セットで、「打楽器」と印が付き、既定ではチェックが外れています。マビノギに対応するドラムセットはなく、無理に変換しても訳の分からない音の高さが並ぶだけです。
3 つの取り込みモード
モードが決めるのは 1 つだけです:同じ瞬間に複数の音が鳴っているとき、どれを残すか。
| モード | 残すもの | 向いているもの |
|---|---|---|
| メロディ優先 | いちばん高い音 | 主旋律、右手、フルート、独奏 |
| 根音優先 | いちばん低い音 | ベース、左手の和音の根音 |
| メロディ + 根音 | 両方を 1 回ずつ走らせ、2 トラックを作ります | ピアノアレンジ |
覚えておく価値のある帰結が 2 つあります:
- 単音の声部では、どちらのモードでも結果はまったく同じです。 ベース、主旋律、独奏はもともと同時に 1 音しかないので、どちらを選んでも違いはありません。
- 「長い音が消えた」は壊れているのではなく、モードの選び違いです。 全音符の上に 8 分の装飾音が乗っている場合、メロディ優先は装飾音の線を、根音優先は長い音の線を取り込みます。どちらが欲しいかを決めるのはあなたであって、プログラムが当てにいくことではありません。
ピアノ譜の正解は「メロディ + 根音」です。 読み込む素材でいちばん多いのはピアノアレンジで、曲全体で channel が 1 つか 2 つしかありません——1 対 1 で読み込むと、マビノギの 6 つのトラック枠のうち 4 つが遊びます。このモードなら 1 つのピアノ MIDI が「右手のメロディ、右手の内声、左手の和音、左手の根音」の 4 トラックになり、ずいぶん厚く聞こえます。
分散和音はきちんと取り込まれます
取り込みの規則は新しい音が入ってきたら、いま鳴っている音をそこで切るというもので、新しい音が高いか低いかは問いません。ですから、ずらして入って一緒に放す分散和音(C → E → G)は c16 e16 g2.. のように取り込まれ、全体がいちばん高い G になることはありません。規則が「区間ごとに最高音を取る」だったら、アルペジオはまるごと消えていたはずです。
トラック数の枠
一度に読み込めるのは最大 15 トラックで、しかも数えるのは合計です——「メロディ + 根音」の行は 1 行で 2 トラック分になります。超えると何トラック超えたかが赤字で表示され、読み込みのボタンは押せなくなります。
読み込んだあとに確認すること
- まず一度再生して聴いてください。 取り込みの規則に「エラー」という状態はありません。うまく取れていなくても何も出ず、ただ変に聞こえるだけです。
- 文字数を見てください。 読み込んだ結果はたいていゲームの上限を超えます。超えていたら次へ。
- 減らすならツールバーの「最適化」を使います。 これはエディター全体で唯一、音が変わる機能です——動かすのは音符の長さ(伸ばすか、早く切るか)で、どの音の開始時刻も動かしません。ですからリズムが構造的に壊れることはありえません。3 つの規則は一度に 1 つだけ選べ、実行後に何文字減ったかを教えてくれます。
- 楽器を確認してください。 読み込みがマビノギの音色を選んでくれるわけではありません。タブで自分で選びます。
- ベロシティを調整してください。 伴奏のトラックを数段下げてはじめて、主旋律が浮かび上がります。
既知の制限
- 三連符はずれます。 読み込み時にすべての音がまず 1/32 音符のマス目に吸着します——人が弾いた和音(3 音が数ティックずれている)を「同時」と認識させるため、そしてピアノロールのマスをすべて合わせるためです。その代償として、8 分三連符はマス目に乗りません。これは意図的な取捨です:ロールで直せない音を取り込むくらいなら、吸着させたほうがましだからです。
- ピッチベンド、ペダル、ベロシティカーブは扱いません。 マビノギの MML にそんなものはありません。
- テンポの変化は残りますが、テンポは曲全体で共通だということを忘れないでください(MML 文法ガイド)。
- 読み込んだ結果を圧縮し直す必要はありません。 読み込み器が MML を生成する最後の一手が圧縮器そのものなので、可逆圧縮を押しても 1 文字も減りません。上限超えと出ていたら本当に超えているので、「最適化」を使うか自分で削るしかありません。
MML の文法をまだ見ていない場合は、先にマビノギ MML 文法ガイドをどうぞ。読み込んだあと手で直すときに必要になります。エディターの操作に慣れていない場合はエディター入門と機能とショートカット総覧を。その他はよくある質問へ。