
MIDIを保存しても、中身が見えなかった
これまでChordMeloが結果を見せる方法は、ピアノロールだけでした。音の高さと長さが四角形で並ぶ表示です。おおよその形は分かりますが、「何の音を弾いているのか」は読み取れません。
MIDIを保存すればDAWで開けます。ただ、それはDAWを持っている人の話です。ギターを弾く人が「このソロのアイデアを試してみたい」と思ったとき、MIDIファイルは何の役にも立ちません。作ったものを確認する手段が、実質ひとつしかない状態でした。
そこで、生成結果をそのまま譜面として読めるようにしました。ギターリードの場合は、押さえ方まで含めたタブ譜も出します。
使い方は3ステップ
メロディを作る
コード進行を選んで「メロディを作る」を押します。これまでどおり3案が出ます。
表示を切り替える
結果カードの上にある「ピアノロール / 楽譜 / タブ譜」で切り替えます。タブ譜はギターリードのときだけ出ます。
SVGで保存する
「SVGで保存」を押すと白地の画像として保存できます。印刷しても線が潰れません。

タブ譜の押さえ方はどう決めているか
ギターは、同じ高さの音を複数の弦で出せます。たとえば5弦の5フレットと6弦の10フレットは同じ音です。つまり1音だけを見ても、押さえ方は決まりません。前後のつながりで決まります。
ChordMeloでは、押さえやすさを次の4つの数値にしています。
- フレットの位置(低いほうが押さえやすい)
- 開放弦(指を使わないので有利に見る)
- ひとつ前の音からの手の移動距離
- 手の位置を保てているか(同じあたりに留まるほうが弾きやすい)
そのうえで、1音ずつ最善を選ぶのではなく、並び全体の合計がいちばん小さくなる組み合わせを選びます。目先で楽な押さえ方が、次の音で大きな移動を強いることがあるからです。
メロディ生成そのものと同じで、ここにも乱数を使っていません。同じメロディからは毎回同じタブ譜が出ます。
チューニングは標準(EADGBE)のみを想定しています。フレットは22フレットまでを使います。
作ってみて見つかった不具合
タブ譜を表示したところ、押さえ方が決まらない音が「?」として出ました。調べると、生成側の問題でした。ギターリードの音域はMIDI 55〜86(1弦22フレットまで)ですが、セクション・ムード・音域指定の持ち上げが重なると上限がMIDI 96まで上がり、実物のギターでは届かない高さの音を書いていました。
用途ごとの上限を設けて、超えないようにしました。これまでに「ギターソロ」で保存したMIDIには、ギターでは弾けない音が入っている可能性があります。作り直すことをおすすめします。歌メロとピアノリードは影響を受けていません。
ピアノロールだけを見ていたときは、この不具合に気づけませんでした。表示を増やすと、作っているものの粗も見えるようになります。
スマホでも読める形に

狭い画面に4小節を押し込むと、フレット番号が読めない大きさになります。譜面は縮めずに原寸のまま置き、枠の中だけを横にスクロールする形にしました。ページ全体が横に動くことはありません。
できないこと
| 音の長さ | 五線譜で書ける長さに寄せて表示します。寄せた場合は画面にその旨を表示します。保存するMIDIは元のままです。 |
|---|---|
| 調号 | 調号を使わず、黒鍵はすべてシャープで書いています。フラット系のキーでは読みにくい場合があります。 |
| チューニング | 標準チューニングのみです。変則チューニングには未対応です。 |
| タブ譜の対象 | ギターリードのみです。歌メロ・ピアノリードでは出ません。 |
試してみる
ギターリードで作ると、楽譜とタブ譜の両方が出ます。登録もインストールも不要です。
FAQ
- タブ譜が出ないのですが
- タブ譜はギターリードのときだけ表示します。歌メロやピアノリードは、ギターでは押さえられない音域になるため出していません。
- 運指はどうやって決めていますか
- 同じ音は複数の弦で出せるので、1音だけ見ても押さえ方は決まりません。フレット位置、開放弦、手の移動距離、ポジションの維持を数値にして、並び全体の合計がいちばん小さい組み合わせを選んでいます。乱数は使っていないので、同じメロディからは毎回同じタブ譜になります。
- 「音の長さをいちばん近い音符へ寄せています」とは
- 五線譜には全音符・4分音符といった決まった長さしかありません。生成したリズムがそのどれとも一致しない場合、表示だけをいちばん近い音符に寄せています。保存するMIDIは元の長さのままです。
- 自分のチューニングに合わせられますか
- 現時点では標準チューニング(EADGBE)のみです。
- 楽譜に調号が付かないのはなぜですか
- 現時点では調号を使わず、黒鍵をすべてシャープで書いています。フラット系のキーでは読みにくい場合があります。