MIDI Converter マニュアル
標準MIDIファイル(.mid / .midi)を、8bitパソコン向けの音楽プレイヤー用MMLに変換するツールの使い方です。チャンネルの選別、声(ボイス)への割り当て、MML生成、DLEへの送信までを1つの画面で行います。
概要
- 対応形式はMIDIフォーマット0/1です。曲中のテンポ変化も読み取ります。
- MIDIの各チャンネルを解析し、メロディ度・ベース度・ドラム度・重複度などの目安を表示します。
- 設定を変えるたびにMMLを自動で作り直します。変換ボタンはありません。
- 変換したパートは、波形グラフをクリックして試聴できます。
3分でできる変換
- 左上のプルダウンで、使うプレイヤー(機種)を選びます。
- 水色の大きなボタンをクリックして MIDIファイルを選ぶか、画面にファイルをドラッグ&ドロップします。
- 「使用CHの選択」と右側の Melody / Bass / Drums にチェックが自動で入ります。波形グラフを見て、必要なら手で直します。
- 右下のMMLを確認します。ここまでで変換は終わっています。
- 「DLE本体に送る」ボタンでDLEへ送ります。ファイルとして保存するときは、メニューの「File出力」を使います。
画面の見かた
画像の番号をクリックすると、その部分の説明へ移動します。
- 1機種・クオンタイズ
- 2ファイル選択ボタン
- 3変換情報・警告
- 4基本設定タブ
- 5使用CHの選択
- 6MIDI波形グラフ
- 7Melody/Bass/Drums/Chord
- 8スライダー・自動設定
- 9MMLチャンネル情報
- 10MML波形グラフ
- 11変換結果・DLE送信
1. 機種とクオンタイズ
機種(左上のプルダウン)
出力先のプレイヤーを選びます。選んだ名前から、同時に鳴らせる声の数が決まります。
| 名前に含まれる語 | 声の数 |
|---|---|
| 「6音」 | 6声(例:MZ-1500 6音プレイヤー) |
| 「9音」 | 9声 |
| 「15音」 | 15声 |
| 上記以外 | 3声 |
| CMU-800 | メロディ等のCH1〜6に加えて、ドラムCH7〜13を使う合計13声 |
機種を変えると、次の項目が自動で切り替わります。
- クオンタイズ:名前にBASICまたはADDCOMを含む機種は「32分音符」側、それ以外は「64分音符」側になります。
- 「1オクターブ音を低くする」:CMU-800以外はオン、CMU-800はオフになります。
- File出力メニュー:選んだ機種で使える項目だけが有効になります(11章)。
名前に「未対応」と付いた機種は、DLEへ送ろうとすると「このモデルは未対応です。」と表示されます。
クオンタイズ(右のプルダウン)
音の開始・終了位置を、指定した音価の格子に揃えます。細かいほど原曲に近づきますが、MMLは長くなります。「64:クオンタイズ64分音符単位」のように、音符の分解能を選びます。原曲の分解能(Division)で割り切れない場合は、近い粗めの格子に揃えます。
2. MIDIファイルの読み込み
- 水色のボタンをクリックしてファイルを選びます。
- またはボタンや画面へ .mid / .midi をドラッグ&ドロップします。複数ドロップすると順に読み込みます。
- メニュー「File入力」からも読み込めます。
読み込むと、上の「File :」にファイル名が表示されます。読み込み中は進捗バーが動き、その間は「DLE本体に送る」ボタンが隠れます。
3. 変換情報・警告
ファイル選択ボタンの右の欄に、読み込んだMIDIの情報と注意が出ます。
Format1 Tracks:49 Division:1920ticks TEMPO:160BPM 曲中に2回のテンポ変化があります。…
| 表示 | 意味 |
|---|---|
| Format / Tracks | MIDIのフォーマットとトラック数 |
| Division | 全音符あたりのtick数 |
| TEMPO | 曲頭のテンポ(BPM) |
| テンポ変化の警告 | テンポ変化コマンド(t)を、最初のパート(ch1相当)に挿入して対応します |
| 最大N声に自動で振り分けました | 選んだ機種の声の数です。声が足りないときは超過分を無視し、警告だけを追記します |
4. 基本設定
画面右上の「基本設定」タブです。どの項目も、変更するとすぐMMLに反映されます。
| 項目 | 働き |
|---|---|
| 1対1固定モード | チャンネル間の分配・併合を行わず、チャンネルごとに変換します。詳しくは声の割り当て方式を見てください。 |
| 1オクターブ音を低くする | 出力の先頭に [CH0]K-12 を入れ、全体を1オクターブ下げます。 |
| title行に、最初のトラック名を使う | 先頭の // #title = … に、ファイル名ではなく最初のトラック名を使います。 |
| 変換範囲指定(小節番号単位) | チェックすると開始・終了の小節番号(先頭が1)を入力できます。範囲内のテンポ変化だけが残ります。 |
| 休符を音符と一体化させる (ドラムCH/通常CH) | 音符の後ろの休符を音符に取り込み、MMLを短くします。通常CHでオンにすると、ゲート長の情報がなくなるため、ゲートを固定値(CH1=Q15、他=Q12)にします。 |
| 実行時ループ命令を使う (ドラムCH/通常CH) | 同じ並びの繰り返しをループ記号で圧縮します。サイズ対策に役立ちます。 |
5. 使用CHの選択
MIDIのチャンネルごとに1行ずつ並びます。チェックを入れたチャンネルだけが変換されます。ノートのないチャンネルは表示されません。
Ch1 楽器:Lead 6 (voice) ノート数:287 音域:48-82 トラック名:Track1
メロディ度:77% 重複度:93%(Ch15) 減衰度:5%(定常系) ゲート割合:…
| 項目 | 意味 |
|---|---|
| 楽器 | プログラムチェンジから求めたGM音色名。Ch10はPercussion(ドラム) |
| ノート数・音域 | ノートの数と、最低〜最高のMIDIノート番号 |
| メロディ度/ベース度/ドラム度 | そのチャンネルらしさの目安。50%以上のときだけ表示 |
| 重複度 | 他のチャンネルとどれだけ同じ音か。(Ch15)は重なっている相手 |
| オクターブ重複度 | オクターブ違いで同じ旋律になっている度合い |
| 減衰度 | 音の減衰しやすさ。高いと「減衰系」(ピアノ・打楽器など)、低いと「定常系」(オルガン・ストリングスなど)。Ch10は100% |
| ゲート割合 | MIDI側で、音符が実際に鳴っている長さの割合の目安 |
6. 波形グラフと試聴
各チャンネルの音を、簡易ピアノロールで表示します。行の左端の数字がチャンネル番号です。
- グラフの好きな位置をクリックすると、そのチャンネルの旋律を、クリックした所から約15秒間、矩形波で再生します。
- 次のクリックや画面を閉じたとき、再生は止まります。
- テンポ変化は再生にも反映されます。
重複していそうなチャンネルや、メロディ・ベースらしいチャンネルを、耳と目で確かめるのに使います。
7. Melody / Bass / Drums / Chord
右端の4つの列で、各チャンネルの役割を決めます。
| 列 | 働き |
|---|---|
| Melody | チェックしたチャンネルを1声にまとめます(ch1)。複数トラックに分かれたメロディも1声にできます。 |
| Bass | チェックしたチャンネルを1声にまとめます(ch2)。 |
| Drums | ドラムとして扱います。CMU-800のドラムCH7〜13に、音の種類で7分類して割り当てます。ドラムにしたチャンネルは、通常の声からは除かれます。 |
| Chord(自動割当) | 「使用」のうち、Melody・Bass・Drumsのどれにも入らなかったチャンネルです。自動で計算され、手では変えられません。 |
8. スライダーと自動設定
チェックを自動で決める仕組みです。画面の中ほどに、スライダーが2本あります。
| 操作 | 働き |
|---|---|
| 左:重複CH削除 | 左端は削除なし。右へ動かすほど、重複度の高いチャンネルの「使用」を外します。 |
| 右:Melo/Bass/Drum選択 | 左端は選択なし。右へ動かすほど、Melody・Bass・Drumsのチェックが増えます。 |
| midiファイル読込時にチェックボックスを自動的に設定する | オンのとき、読み込み直後に、メロディ度・ベース度が最も高いチャンネルを1つずつ選びます。オフのときは、ドラム以外をすべて「使用」にするだけです。 |
9. MMLチャンネル情報
画面左下に、変換後の各MMLチャンネルが、元のどのMIDIチャンネルから来たかを表示します。
MMLch / 元MIDIch / 総合減衰度 / 総合ゲート割合 CH1 / Ch1 / 5%(定常系) / 95% CH3 / Ch13(31%),Ch15(17%),Ch7(16%),… / 73%
括弧内の%は、そのMMLチャンネルの中で各MIDIチャンネルが占める割合です。複数のチャンネルがひとつの声に混ざっている様子が分かります。
10. MML波形グラフ
画面下の中央に、生成したMMLの各パート(ch1〜)を、MIDI側と同じ簡易ピアノロールで表示します。クリックすると、その位置から矩形波で試聴できます。ループ圧縮や一体化、クオンタイズの後の、実際に出力される内容です。
11. 変換結果とDLEへの送信
右下のテキストが、変換されたMMLです。先頭には、機種に応じた設定が付きます。
// #title = Getter.mid [CH0]K-12// 1 octave down [CH1]V15[CH2]V15[CH3-6]V13 [CH1-6]Q15 [CH1]@D24[Ch2]@D6[CH3-6]@D12 [CH1-6]@R0 [CH1]t160r1r1…(本体のMML)
| 機種 | 先頭に入る設定 |
|---|---|
| 6音・15音 | 音量V、ゲートQ、減衰@D、リリース@R。メロディやベースがないときは音量を自動で調整 |
| CMU-800 | ゲートQ15。ビブラート、デチューンは入れません |
| その他 | オルガンモード([CH0]Q16) |
// で始まる行はコメントです。ビブラート @V1,5,100 とデチューン @T+1 / @T-1 は、行頭の // を消すと有効になります。
DLE本体に送る
MMLの右下の水色のボタンで、DLE本体へ送ります。変換中は表示されません。送る際に機種の設定もDLE側へ反映されます。
File出力メニュー
DLEへ送ったあと、そのままファイルを書き出します。選べる項目は、機種によって変わります。
| 機種 | 書き出し先 |
|---|---|
| PC-8001系 | CMT、N80、D88 |
| MZ-1500系 | MZT |
| CMU-800 | CMUファイル、CMUテープ、CMUをDLEに送る |
メニューのヘルプからは、配布元のWebページ(bugfire2009.ojaru.jp/mid2mml/)が開きます。
声の割り当て方式
| プール方式(標準) | 1対1固定 | |
|---|---|---|
| メロディ | 選んだチャンネルをまとめて1声(ch1) | 同じ |
| ベース | 選んだチャンネルをまとめて1声(ch2) | 同じ |
| それ以外の使用CH | トラックの垣根を越えて、残りの声に自動で再配分 | 併合せず、1チャンネル=1声で空いたchに詰める |
| 向いている曲 | チャンネル数が声の数より多い曲 | チャンネル数が少ない曲。使用チェックは声の数まで |
コツ・困ったとき
- 音が足りない・多すぎる:「重複CH削除」を右へ動かし、同じ旋律の重なりを減らします。
- メロディが埋もれる:Melodyに主旋律のチャンネルをチェックし、それ以外は「使用」を外します。
- サイズが大きすぎる:クオンタイズを粗くする、「実行時ループ命令」と「休符を音符と一体化」をオンにする、変換範囲を絞る、のどれかを試します。
- MMLが出ない:使用CHがすべて外れていないか確認します。
- ボタンが出ない:「DLE本体に送る」は、変換が終わるまで表示されません。