資料採譜Andrew Carlins•読むのに約9分

AIはどうやって音楽を採譜するのですか?

AIによる採譜は、録音を聴いて音を楽譜に書き起こす技術です。音声を取り込み、音を見つけ、楽譜にまとめるという流れで進みます。得意な音源もあれば、今も採譜が難しい音源もあります。

AIはどうやって音楽を採譜するのですか?

AIによる採譜は、録音から音を拾い、楽譜に書き起こす技術です。作業は3つの段階に分かれます。まず音声を、周波数を表す画像に変えます。次に、数千件の録音で学習したモデルが画像を読み取り、音を予測します。その音を拍に合わせて並べ、楽譜やMIDIにまとめます。今の精度にたどり着いた背景には、音を見つける仕組みの変化があります。人が書いたルールを使う方法から、音の見え方を実例で学ぶニューラルネットワークに変わったのです。

大まかな仕組み

耳コピでは、音を聴き、楽器で同じ音を探し、長さを確かめて書き留めます。曲を採譜するには、この作業を何千回も繰り返します。AIも同じ仕事を、ずっと速く、まとめて処理します。音を分析できるデータに変え、その中から音を見つけて、人が読める記号に置き換えます。AIが音を見分けるのは、この途中の段階です。ここ数年で特に進歩したのも、この部分です。

第1段階:音を画像に変える

デジタル録音の中身は、スピーカーの振動板をどう動かすかを示す、長い数値の列です。1秒あたり数万個の値が並んでいます。この列を見ても、メロディーは分かりません。そこでソフトウェアは数値を変換して、各瞬間に、それぞれのピッチの音がどれくらいの強さで含まれているかを調べます。その結果がスペクトログラムです。横軸に時間、縦軸に周波数を取り、音が鳴っているところを明るく示した図になっています。

見た目はピアノロールに近く、生の波形よりも音楽の形が分かります。伸ばした音は横に続く筋になり、コードは何本もの筋が縦に重なります。ドラムを叩いた音は、広い周波数数にわたって一瞬だけ現れる、縦ににじんだ帯になります。こうして画像にすると、画像から特徴を学ぶモデルが読み取れる形になり、次の段階で音を見つけやすくなります。

第2段階:モデルが音を見つける

スペクトログラムから音を読み取るのは、見た目ほど簡単ではありません。ピアノで1つの音を弾いても、きれいな線が1本だけ現れるわけではないからです。基音と呼ばれる周波数の上に、倍音が階段状に並びます。複数の音を同時に弾くと、それぞれの倍音が重なり合います。ギターの低いミと、1オクターブ上のミにも、共通する倍音があります。採譜で難しいのは、明るく見える部分が実際に弾いた音なのか、別の音の倍音なのかを見分けることです。

現在のシステムでは、録音と正確な音符を組み合わせた大量のデータで、ニューラルネットワークを学習させます。ピアノでは、音声と鍵盤を押した正確なタイミングを両方記録できる楽器が使われました。その結果、実際に弾いた音符と録音のタイミングがぴったり合った、数千件の演奏データが集まりました。ネットワークはそれらを調べ、弾いた音と倍音の違い、音が始まるときの見え方、音が減衰する様子を学びます。一般には、時間を細かく区切り、各ピッチについて、音が始まるか、鳴っているか、どれくらいの強さかを予測します。予測をつなぎ合わせると、ピッチ、開始時刻、終了時刻、ベロシティーを持つ音符データの一覧になります。

「第3倍音は無視する」といったルールを、人が一つずつプログラムしたわけではありません。モデルが実例から学び取っています。学習用のデータが増えれば、同じ方法をほかの楽器にも広げられます。人が処理のルールを書き直さなくても、結果が改善していく理由もそこにあります。音源によって仕上がりが違う理由は、AIによる採譜の精度に差が出る理由で詳しく説明しています。

第3段階:音を読みやすい楽譜にする

音の開始と終了の正確な時刻が分かれば、MIDIを作ったり、ピアノロールに表示したりできます。ただ、楽譜にするには時刻だけでは足りません。テンポや拍子を決め、音符の長さを読みやすいリズムに整える必要があります。1分間に120拍のテンポでも、人が弾く4分音符の長さが正確に500ミリ秒になることはありません。ソフトウェアは演奏のもとになる拍を探し、小節線の位置を決めます。そして、それぞれの音を4分音符や8分音符など、リズムとして自然な長さのうち最も近いものにそろえます。この処理をクオンタイズと呼びます。読みやすい楽譜になるか、演奏できないような32分音符が並ぶ楽譜になるかは、この処理にかかっています。

演奏する人が読み慣れた書き方に整える作業も必要です。どの音を右手と左手に割り振るか、臨時記号をどう使って音を書き表すか、休符をどこに置くかを決めます。用途に応じた形式で出力するので、同じ採譜結果から、印刷用のPDF、DAW用のMIDIファイル、楽譜編集ソフトで開くMusicXMLファイルを作れます。リズムや左右の手の分け方が違っていたら、この段階で整えた部分を直します。採譜の間違いを直す作業は、通常、最初からのやり直しではなく、少しの編集で済みます。

得意なことと、今も難しいこと

AIによる採譜が最も得意なのは、ピアノソロです。学習データが最も充実していて、音の特徴も捉えやすいためです。性能のよいモデルなら、クリアな録音から大半の音を拾えます。1つの楽器でコードを弾く演奏も、今ではうまく採譜できます。複数の音を同時に拾うこの作業は、ポリフォニック採譜と呼ばれます。ピアノの場合については、ピアノのポリフォニック採譜の仕組みで説明しています。

苦手な音源にも、はっきりした傾向があります。バンド全体を1つのトラックにミックスした録音では、同じ周波数帯で同時に鳴る複数の楽器を分けなければならず、採譜が難しくなります。強い歪み、深いリバーブ、音質の低さは、どれもスペクトログラムを不鮮明にし、精度を下げます。とても速いフレーズや小さな音は、拾い損ねやすくなります。人の確認は必要ですが、直せば十分に使える、よくできた下書きが得られます。AIによる音楽の採譜精度では、どれくらいの精度を期待できるかを数字で紹介しています。

よりよい結果を得るには

最初の段階の結果が、その後の処理すべてに使われます。手元で工夫できることの中では、録音の選び方が結果に最も大きく影響します。音源がクリアで聴き取りやすいほど画像も鮮明になり、モデルが正しく音を拾いやすくなります。見つかる中で最もクリアな音源を選んでください。ツールに楽器を指定して適切なモデルを使い、出来上がった下書きをひととおり確認します。Songscriptionでは、ファイルをアップロードするか、リンクを貼り付けると、AIがこの3つの段階を経て採譜します。結果はピアノロールと楽譜で表示されます。書き出す前に、ブラウザーで再生し、再生速度を落とし、移調や編集ができます。音を聴き取る大変な作業はAIに任せ、最後は自分で確かめて仕上げます。

よくある質問

AIはどうやって音楽を採譜するのですか?

大きく分けて3つの段階があります。最初に、音声をスペクトログラムという画像に変えます。どの瞬間にどの周波数の音が鳴っているかを表したものです。次に、録音と正解の音符を組み合わせた数千件のデータで学習したニューラルネットワークが、その画像を読み取ります。そこから、音の始まり、ピッチ、終わりを予測します。最後に、予測した音を拍のグリッドに合わせて、MIDIや五線譜にまとめます。モデルは、人が一つひとつ書いたルールに従うのではなく、データから学んだパターンを見分けています。録音と音符のタイミングがそろった大量のデータと、近年のニューラルネットワークが使えるようになり、精度が大きく上がりました。

AIによる採譜は正確ですか?

単一の楽器をクリアに録音した音源なら、今ではかなり高い精度で採譜できます。特にピアノソロでは、大半の音を捉えられるモデルが一般的になっています。ただし、多くの音が重なるバンド全体のミックス、ノイズの多いスマートフォンの録音、深いリバーブ、速く重なり合う音などは、採譜が難しくなります。出来上がる楽譜は、確認して直せば使える、よくできた下書きと考えてください。人の確認がいらない、間違いのない楽譜を期待するのは現実的ではありません。

AIは楽器を区別して採譜できますか?

ピアノやギター1台で弾いたコードも含め、単一の楽器から音を拾うのはモデルの得意な作業です。1つのミックスで同時に鳴る複数の楽器を分けるのは、それより難しくなります。SongscriptionのMulti-Instrumentモードなら一度の処理で分けられますが、先に音源をステムに分離したほうが、各パートを最もきれいに採譜できます。各パートを取り出すより、曲全体を弾きたいときは、ミックス全体をピアノ用の楽譜にまとめることもできます。

手元の曲でも、音声から楽譜ができるまでの3つの段階を確かめられます。録音をアップロードすると、読んで編集できる音符に変わる様子を見られます。

著者について

Andrew Carlins

著者

Andrew Carlins

Songscription共同創業者・CEO

アンドリューは、弾きたい曲の楽譜が見つからないことにうんざりしていた音楽仲間数人と、スタンフォード大学でSongscriptionを共同創業しました。子どもの頃からピアノとバリトンサクソフォンを演奏し、ミュージカルの舞台にも立っていました。もう何年も舞台には立っていませんが、今も腕は鈍っていないつもりです。録音から音を拾って楽譜にすることについて書いています。

チームについて詳しく見る

同じテーマの記事を読む