MIDI と五線譜から MML へ
MIDI ファイルや、五線譜の PDF・写真を、マビノギで演奏できる楽譜に
そのまま変換できない理由
MIDI と MML では表現力が大きく違い、そこがすべての根っこです:
| MIDI | マビノギ MML | |
|---|---|---|
| 同時に鳴る音 | 1 つの声部が同時に何音も鳴らせます | 1 トラックは同時に 1 音だけ |
| 声部の数 | 16 channel、それぞれ制限なし | 楽譜 1 件につき 4 トラック(メロディ、和音1、和音2、歌唱) |
| 楽器 | 1 トラックの途中で変えられます | 1 トラックに 1 楽器、途中で変えられません |
| 時間の精度 | 非常に細かく、人の演奏のわずかなずれまで記録できます | マス目に乗らないと、そもそも書けません |
ですから変換の本質は捨てることです。どの瞬間についても、複数の音から 1 つだけを残します。出てくるものは必ず元より少なく、問題は「減ったのが自分の気にしていた部分かどうか」だけ——そしてそれこそが、取り込みモードの決めていることです。
五線譜も同じことですが、もう一層だけ重いものを背負います。ピアノ譜の両手も、和音の 4 つの音も、マビノギの 4 トラックに収めるには結局どれかを選ぶことになります。違うのは、五線譜がその前に画像を音符として読むという層をくぐる点で、その層は読み違えます。MIDI は違います——MIDI の音高と時間は、すでに書かれた数値です。ですから五線譜には MIDI より確認することが 1 つ多く、それは既知の制限にあります。
操作の手順:MIDI ファイルと五線譜
2 つの入り口は入れ方こそ違いますが、入ったあとは同じ道です——同じトラック一覧が開き、同じ取り込みモードを使い、同じ 16 件の枠に収まります。お手元のものに合う節を読んでから、トラック一覧の読み方へ進んでください。
MIDI ファイル
- エディターのタイトルバーでファイルを押します
- 読み込みの欄で
.midファイルを選びます - ファイルの枠がひとりでに閉じ、トラック一覧に変わります
- 読み込みたい行にチェックを入れ、行ごとに取り込みモードを選びます
- 読み込むを押します
五線譜の画像または PDF
こちらは先にログインが必要です。認識はこちらのサーバーで動いていて、当サイトでログインを求める唯一の読み込みです。そのボタンはファイルを選ぶ前に止めます——画像を並べ終えてから言われることはありません。
- エディターのタイトルバーでファイルを押します
- 読み込みの欄で PDF か画像を選ぶ… を押します——
.midの選択と同じ枠の中、そのすぐ下です - ファイルを入れます。サムネイルはドラッグして並べ替えられます
- 認識を開始を押して、終わるまで待ちます
- そのあとはトラック一覧で、MIDI とまったく同じです
PDF があるなら PDF を送ってください。一度にまとめて認識され、テンポと拍子は曲全体に沿い、解像度を自分で選ぶ必要もありません。画像しかない場合は、1 曲が 1 束の画像になります。取り込むならスキャンで 300 DPI 以上を——スマートフォンでの撮影はスキャンよりはっきり劣ります。
サムネイルの並び順がページ順で、間違えると曲全体が狂います。左上から右下へが、読まれる順番です。3 ページ目を 5 ページ目の位置に置けば、出てくる曲は間違っていますし、認識はそれを教えてくれません——渡された順に読むだけだからです。送る前に一度だけ確かめてください。
| 送れるもの | |
|---|---|
| 画像 | 最大 12 枚、PNG または JPEG |
| 1 つ、40 ページまで。画像と混ぜられません | |
| 容量 | 1 ファイル 20 MB まで、全部で 25 MB まで |
認識には数十秒から数分かかります。その間、あの枠を閉じないでください。オフラインでもできません——画像を選んで並べるところまでは進めますが、認識を開始は回線が戻るまで押せません。途中で 1 ページでも失敗したときは、中途半端な結果が読み込まれることはありません。送ったファイルは画面に残るので、問題のあった 1 枚だけ差し替えてやり直せます。
トラック一覧の読み方
2 つの入り口は同じ枠を開き、その枠がまず訊くのはこれです。読み込みは既定で新規取り込み——すべての楽譜を置き換えます。いまある内容のうしろに続けたいときは追加取り込みに切り替えてください。本当に消えてしまうときは、その枠が先に警告します。ですから声部を何回かに分けて読み込むときは、2 回目からは追加取り込みを選ぶのを忘れないでください。
一覧の各行は 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 は打楽器セットで、「打楽器」と印が付き、その行は2 つのドラムモードしか選べません——GM の規格がこの channel を打楽器に固定しているので、そこの音高は音階ではなくドラムの番号であり、旋律のモードで取り込んでも訳の分からない音の高さが並ぶだけです。ただし打楽器はもう「読み込めないもの」ではありません:GM の 47 のドラム音がそれぞれマビノギ側の打楽器の音高に対応づけてあるので、ドラムはちゃんと変換できます。
逆に、ほかの channel には 7 つのモードがすべて出ます。ドラムの 2 つも含みます——書き出しのときにドラムを別の channel に置く DAW があり、こちら側を締めると出口のない行き止まりを作ってしまうからです。承知のうえで払っている代償は、本当に旋律楽器を channel 10 に書いたファイル(GM 由来でないもの、古いトラッカーからの変換)が読み込めないことです。
7 つの取り込みモード
モードが決めるのは 1 つだけです:同じ瞬間に複数の音が鳴っているとき、どれを残すか。はじめの 5 つは普通の声部用、あとの 2 つは打楽器用です。
| モード | 残すもの | 何件 | 向いているもの |
|---|---|---|---|
| メロディ優先 | いちばん高い音 | 1 | 主旋律、右手、フルート、独奏 |
| 根音優先 | いちばん低い音 | 1 | ベース、左手の和音の根音 |
| メロディ + 根音 | 高音と低音を 1 回ずつ走らせ、同じ楽譜の 2 トラックに入れます | 1 | ピアノアレンジ |
| スマート声部分割 | まず主旋律を抜き出し、残りの和音を最大 3 本の伴奏線に分けます | 1–2 | 曲全体で channel が 1 つか 2 つしかないアレンジ |
| 和音まるごと取り込み | 1 声部 1 件、できるだけ音を落とさずに | 1–16 | 素材として取り込み、自分で選んで合流させる |
| ドラム分軌 | 右手/左手/足で 3 本に分けます | 1 | 打楽器の行 |
| 打楽器まるごと取り込み | 打楽器の音ごとに 1 本、音の長さは互いに譲り合います | 1–16 | 打楽器の行で、素材として自分で合流させる |
覚えておく価値のある帰結が 3 つあります:
- 単音の声部ではどれを選んでも同じです。 ベース、主旋律、独奏はもともと同時に 1 音しかないので、メロディ優先と根音優先の結果はまったく同じになります。
- 「長い音が消えた」は壊れているのではなく、モードの選び違いです。 全音符の上に 8 分の装飾音が乗っている場合、メロディ優先は装飾音の線を、根音優先は長い音の線を取り込みます。どちらが欲しいかを決めるのはあなたであって、プログラムが当てにいくことではありません。両方残したいなら 1 つ上のモードへ進んでください。
- 和音まるごと取り込み ⊃ スマート声部分割。 まず小さいほうを押して足りるか聴き、足りなければ大きいほうに変える——さきほど聴いたものはそのまま中に残っています。打楽器の 2 つはその関係ではありません:ドラム分軌は「ドラマー一人が叩ける 1 件の楽譜」、打楽器まるごと取り込みは「これ以上分けられないところまで分けた素材」——大小 2 つではなく、別の製品です。
ピアノ譜はまず「スマート声部分割」を試してください。 読み込む素材でいちばん多いのはピアノアレンジで、曲全体で channel が 1 つか 2 つしかありません——1 対 1 で読み込むと、マビノギのトラック枠の大半が遊びます。スマート声部分割は主旋律を独立した 1 本に抜き出し、残りを数本の伴奏線に分けるので、1 つのピアノ MIDI が「主旋律 + 和音 3 本」になり、ずいぶん厚く聞こえます。楽譜 1 件で済ませたいならメロディ + 根音を使ってください。高音と低音を同じ楽譜の 2 トラックに入れます。
打楽器:2 つのモードは 2 つの製品です
ドラム分軌は打楽器の行をドラマー一人として扱い、右足/右手/左手の 3 本に分けます——ちょうど楽譜 1 件。同じ手が同時に 2 つやることになったら強いほうだけを残し、キット外の打楽器(マラカス、タンバリン、コンガ)はまるごと捨てます——ドラマーが叩いているものではないし、無理に寄せると本物のハイハットを押しのけてしまうからです。出てきたものはそのままゲームに貼れます。
打楽器まるごと取り込みは逆です:打楽器の音ごとに 1 本——バスドラムに 1 本、スネアに 1 本、ハイハットに 1 本、マラカスに 1 本。マビノギには打楽器の音色が 15 種類しかないので、マラカスはハイハットの音で鳴ります——でも独立した 1 本であることは変わらず、残すかどうかを決めるのはあなたです。
音の長さは後ろへ伸びますが、「ほかのどれかの打楽器が鳴る瞬間」までで止まり、最長でも半拍です。これは合流のための規則です:合流のとき、ほかの本の音の長さの中に入ってしまった音は飲み込まれます——ですから各本はほかが鳴り出す手前で必ず止まり、何本か合わせても何も落ちません。余った時間は休符として書くので、小節位置もそろったままです。
密なところは放っておいても短くなり(すぐ隣で別の打楽器が鳴っています)、空いているところだけが長くなります。それでも多くの本はゲームの上限を超えます——それで正常です。合流させたら「最適化」を一度押してください。休符を前の音に戻し、文字数はさらに減ります。
どちらのモードもドラムの楽譜になり、その楽譜ではロールが 15 のパッドを 1 行ずつ並べた形に変わります——取り込んだあとの編集については打楽器ロールをご覧ください。
分散和音はきちんと取り込まれます
取り込みの規則は新しい音が入ってきたら、いま鳴っている音をそこで切るというもので、新しい音が高いか低いかは問いません。ですから、ずらして入って一緒に放す分散和音(C → E → G)は c16 e16 g2.. のように取り込まれ、全体がいちばん高い G になることはありません。規則が「区間ごとに最高音を取る」だったら、アルペジオはまるごと消えていたはずです。
楽譜数の枠
一度に読み込めるのは最大 楽譜 16 件で、しかも数えるのは合計です。超えると何件超えたかが赤字で表示され、読み込みのボタンは押せなくなります。
どの行の件数も実数です。 最悪の場合の見積もりではありません。ですからモードの一覧に出ている数字がその行の本当の件数です——和音まるごと取り込み(10 件)なら 10 件を使い、チェックすればカウンタも 10 増えます。
いちばん効くのは和音まるごと取り込みが枠を使い切らなくなったことです:4 件で済む行なら、隣にドラムも他の声部も置けます。以前は一律 16 件と数えていたので、それをチェックすると他のどれを足しても赤字になりました。
行の件数は実際に入ってくる数と必ず一致します——一覧の数字と実際の取り込みは同じ計算を通るので、「9 件と言っておいて 10 件来る」ことは起きません。
読み込んだあとに確認すること
- 五線譜なら、まず原譜と見比べてください。 読み違えた音は、自分で描いた音とまったく同じ見た目です——赤くもならず、警告も出ません。それは正しい音符ではあり、ただ譜面に印刷されたものと違うだけだからです。どれが間違いかを教えられるのは原譜だけです。
- まず一度再生して聴いてください。 取り込みの規則に「エラー」という状態はありません。うまく取れていなくても何も出ず、ただ変に聞こえるだけです。
- 文字数を見てください。 読み込んだ結果はたいていゲームの上限を超えます。超えていたら次へ。
- 減らすならツールバーの「最適化」を使います。 6 つの方式は 3 種類に分かれます:可逆圧縮と再編成圧縮は音符を 1 つも動かしません。非標準音価圧縮もゲームに貼れば音符は 1 つも変わりませんが、サイト上のピアノロールと再生はズレます。音長を埋める/部分的に埋める/終端を休符には音符の長さを変えますが、どの音の開始時刻も動かしませんので、リズムが構造的に壊れることはありえません。一度に 1 つだけ選べ、実行後に何文字減ったかを教えてくれます。
- 楽器を確認してください。 読み込みがマビノギの音色を選んでくれるわけではありません。タブで自分で選びます。
- ベロシティを調整してください。 伴奏のトラックを数段下げてはじめて、主旋律が浮かび上がります。
既知の制限
2 つの入り口では制限の性質が違いますので、分けて見たほうが誤解がありません。MIDI の制限は「表現力が噛み合わない」ことで、同じファイルを何度変換しても結果は同じ、つまり予測できます。五線譜はそこに「認識が読み違える」という層をもう 1 つ背負い、こちらは確率的です——同じ譜面でも解像度が変われば、PDF で送れば、結果は変わりえます。
まず、どちらでも起きることから:
- ピッチベンド、ペダル、ベロシティカーブは扱いません。 マビノギの MML にそんなものはありません。
- 読み込んだ結果は「そのまま書いた」もので、圧縮はかかっていません。 1 トラックに
lは 1 つ、休符はまとめず、文字数を減らすための書き換えもしません——これは意図的で、手に入るのは読みやすく直しやすい楽譜であって、最短だが誰にも追えない塊ではありません。代償は文字数が多いことなので、読み込んで上限超えと出たら、まず可逆圧縮を押してください(実測で 1〜18% 減)。音符は 1 つも動きません。
MIDI だけで起きること
- 手で弾き込んだ三連符は拾えません。 読み込み時にすべての音は 1/32 音符のマス目に吸着し、三連符はそのマス目に乗りません——ですから読み込み器は先に三連符を見つけて正確な 3 等分点に置きます(全音符・2 分・4 分・8 分・16 分の 5 つの基底を認識します)。ただし判定の線は「マス目より 3 等分点に近いこと」で、演奏を録ったファイルは十数ティック揺れるため、全体がその線の外側に出てマス目に吸着されます。譜面作成ソフトや DAW で作ったファイルの三連符は正確なので拾えます。また三連符の区間の中ではスタッカートがレガートに伸びます。理由はよくある質問に。
- テンポの変化は残りますが、テンポは曲全体で共通だということを忘れないでください(MML 文法ガイド)。
五線譜だけで起きること
- 認識率は高くても 9 割ほどで、必ず人の手で直す必要があります。 壊れているのではなく、この技術のいまの水準です。「音符をおおよそ打ち込んでくれるもの」と考えてください。「一度押せば使える楽譜が出てくるもの」ではありません。
- テンポ記号はしばしば読めません。 読めなかったときは既定のテンポが使われ、読み込み後にその旨をお伝えします——譜面に印刷されたテンポはご自分で入れ直してください。
- 音価を読み違えた場所では、リズムがつまずきます。 1 小節の音符の合計が 1 小節分にならないとき、そうなった小節がいくつあるかをお伝えします。そこは原譜と照らして直してください。
- 三連符以外の連符はマス目に寄せられます。 三連符は MIDI と同じく正確な位置を保ちます(ページをまたぐつなぎも含みます)。5 連符や 7 連符などは量子化され、警告が出ます。
- 楽譜でないもの、解像度が低すぎるものは、まるごと差し戻されます。 五線が見つからないとき、中途半端な結果を渡すことはしません。スキャンは 300 DPI 以上を。PDF があるなら画像にしないでください。
- 手書きの譜面、傾いた写真、折り目や綴じの影が入ったスキャンは、いずれも認識率を落とします。印刷された譜面を、まっすぐ、均一な明るさで——それだけで大きく変わります。
MML の文法をまだ見ていない場合は、先にマビノギ MML 文法ガイドをどうぞ。読み込んだあと手で直すときに必要になります。エディターの操作に慣れていない場合はエディター入門とエディター機能ガイドを。その他はよくある質問へ。