ブログリサーチ

AI採譜の精度はどのくらい?実際に測りました

楽器ひとつの下書きとしては十分ですが、完成した楽譜には届きません。数字、測定方法、そして数字が及ばない範囲を紹介します。

執筆
公開日
更新日
長さ
約14分で読めます

先に結論

楽器ひとつの下書きとしては十分で、そのあと耳で確かめる使い方が前提です。公開されているギター録音12本に対し、2026年10月4日の再測定で、ScoreStarlingの「楽器ひとつまたは歌」はオンセットF1が0.763でした。1.0は、すべての音符が正しい音高と時刻で見つかり、余分な音符がない状態を表します。その2日前に単独で測ると、Basic Pitchは0.744、MireloのAudio-to-MIDIは0.471でした。これらのスコアが調べるのは、音高と各音符の開始時刻です。リズムが適切に書かれているか、そのまま演奏できる譜面かどうかは、わかりません。

オンセットF1は何を測るのですか?

オンセットF1は、採譜結果を正解の採譜と音符ごとに比べる指標で、見逃した音符も余分な音符も同じように減点します。採譜された音符は、音高が正解の音符から50セント(四分音)以内で、開始が50ミリ秒以内であれば、一致とみなされます。正解の音符1つが一致できるのは、1回だけです。

この照合から、2つの割合が出ます。適合率は、モデルが書いた音符のうち一致したものの割合です。再現率は、正解の音符のうちモデルが見つけたものの割合です。F1はこの2つの調和平均で、どちらかが低ければ低いままです。音符が100個あるフレーズで考えてみましょう。100個の音符を書き、そのうち75個が正しいモデルは、0.75になります。100個のうち90個を見つけたものの、そのために150個の音符を書いたモデルは、再現率が0.9、適合率が0.6、F1が0.72です。余分な60個の音符が減点になります。

オンセット+オフセットF1では、条件がもう1つ加わります。各音符の終わりも、正解の音符の長さの20%以内、または50ミリ秒のほうが長ければ50ミリ秒以内に収まっている必要があります。SpotifyのBasic Pitchの論文は、音符の終わりを決めるのが難しいため、主な指標にオンセットF1を使っています。終わりが難しい理由として、リバーブ、サステインペダル、注釈の付け方を挙げています。この記事では両方を示します。どちらも、音符にどの楽器が割り当てられたか、調号、リズムをどう記譜するかは調べません。

テストの方法

GuitarSet 1.1.0(Xiら、ISMIR 2018)を使いました。約30秒のギター演奏360本からなる公開データセットです。6人のギタリストが、同じ30曲のリードシートを5つのスタイルで演奏します。最初に伴奏(「comp」)、次にその上でソロを弾きます。録音には、弦ごとに別の信号を拾うヘキサフォニックピックアップが使われており、そのおかげで制作者らは、音符の注釈付けをほぼ自動化できました。

録音は12本、切り出さずに丸ごと使いました。ギタリストごとにソロと伴奏を1本ずつで、モノラルのマイク音声を使い、合計433秒です。この選び方は、どのモデルも動かす前に決めてあります。ギタリストとモードごとに、「scorestarling-v1:」にファイル名を続けた文字列のSHA-256ハッシュが、並べ替えて最初に来るファイルを選びました。その前に、注釈に誤りがあると知られている3本の録音を除外しています(GuitarSetのissue #4と#5:音符の重複とタイミングの誤り)。選ばれた12本は、下の録音ごとの結果に名前を載せています。

採点にはmir_eval 0.8.2を、上で説明した既定の許容誤差のまま使い、録音ごとに平均して、各録音が同じ重みになるようにしました。調整は何もしていません。タイミングのずれの補正も、フィルタリングも、位置合わせのシフトもありません。Basic Pitch 0.4.0はMacで実行し、2回の全実行でバイト単位まで同一の出力になりました。MireloのAudio-to-MIDI API(モデル名はa2m-1.1と報告)には、2026年10月2日に同じ12本の録音を入力しました。Mireloの変更履歴によると、このAPIは2026年8月6日から任意の楽器リストを受け付けていますが、今回は送っていません。

以下のすべてに、4つの制約があります:

  • Basic Pitchの論文は、学習データにGuitarSetとSlakhを挙げているため、2つのテストはどちらもBasic Pitchに有利です。今回使った12本のGuitarSet録音が学習用の分割に入っていたかどうかは、私たちにはわかりません。バンドの抜粋は、Slakhのテスト用の分割から取りました。
  • ギター録音12本と60秒のバンド抜粋1つは、診断用のサンプルであり、ベンチマークではありません。歌声と、実際に録音されたバンド演奏は、測っていません。ピアノは、合成音に限り、別のモデルで測っています(末尾の質問を参照)。
  • Mireloには、ギター録音を10月2日に1回だけ実行しました。結果が空だった3本は、アコースティックギターであることを伝えるなどの方法でも、再試行していません。10月5日にもう一度送ったバンドの抜粋は、同じ音符が返ってきました。
  • これらの数字は、書かれた楽譜そのものを評価するものではありません。拍子、声部、音価も調べるMV2Hのような楽譜レベルの指標は、これからの課題です。

私たちは、この結果に利害関係があります。ScoreStarlingは、楽器ひとつまたは歌にBasic Pitchを、バンドにはバンド採譜のパートナーであるMireloを使っています。方法、サンプル、制約をここにすべて書いているのは、そのためです。

ギター録音でのBasic PitchとMirelo

Basic Pitchが上回りました。ソロの旋律では大きく、伴奏ではわずかな差でした。

GuitarSet、録音12本、マクロ平均、2026年10月2日
録音Basic PitchのオンセットF1MireloのオンセットF1Basic Pitchのオンセット+オフセットF1Mireloのオンセット+オフセットF1
ソロ(6本)0.8180.3010.6540.168
伴奏(6本)0.6690.6420.3620.280
全体(12本)0.7440.4710.5080.224

更新(2026年10月4日):ScoreStarlingの「楽器ひとつまたは歌」に2点の変更を加えたあと、同じ12本の録音をもう一度通しました。全体に音程が高め、または低めにずれた録音は、先にA440に合わせて補正するようになり、メロディーは単音で書くようになりました。結果は、ソロが0.846、伴奏が0.679、全体が0.763で、音符の終わりまで含めると0.522でした。表には、Basic Pitch単体の10月2日の結果をそのまま載せています。

Mireloは、ソロ録音6本のうち3本で、音符をまったく返しませんでした。空の結果は利用者が実際に受け取るものなので、ソロの平均では0として数えています。再実行はしていません。音符が返ってきた録音でも、結果はまちまちでした。最初の録音00_BN3-154-E_soloでは、2つのエンジンは音符の開始で同等でした(Basic Pitchが0.809、Mireloが0.814)。Mireloは音符の終わりのずれが大きく(オンセット+オフセットF1は、Basic Pitchの0.524に対して0.320)、154 BPMの曲を約76.9 BPM、つまり半分のテンポとして出しました。伴奏では、6本中2本でMireloの結果が明らかに良好でした。12本全体のオンセット+オフセットF1は0.224でした。

録音ごとのオンセットF1、GuitarSet、2026年10月2日
録音Basic PitchMirelo
00_BN3-154-E_solo0.8090.814
01_Rock2-85-F_solo0.8690.326
02_BN1-147-Gb_solo0.8600.667
03_SS1-68-E_solo0.7820(音符なし)
04_SS3-84-Bb_solo0.8210(音符なし)
05_SS1-68-E_solo0.7680(音符なし)
00_BN3-154-E_comp0.6850.810
01_SS1-68-E_comp0.6220.854
02_SS1-100-C#_comp0.5670.491
03_SS3-98-C_comp0.7310.745
04_Rock3-117-Bb_comp0.6830.385
05_Rock2-85-F_comp0.7270.564

Basic Pitchの0.744は、開発者らが自分たちの72本のGuitarSetテスト用分割で報告した値に近いものです。オンセットF1が0.79、音符の終わりまで含めると0.56でした。エンジンは、速度も違いました。Basic Pitchは、音声433秒をMacで54秒で処理しましたが、これは本番環境での処理時間ではありません。最初の録音では、Basic Pitchが6.1秒、Mireloが37秒でした。

バンド全体ではどうなりますか?

ミックスはさらに難しく、ここではMireloが上回りました。Slakh2100のテスト用の分割から、Track01881の最初の60秒を使っています。Slakh2100は、MIDIからサンプルベースの仮想楽器でレンダリングした2,100曲のデータセットなので、正解の音符は正確です。この1分間には、スチール弦ギター、ジャズギター、ピアノ、ベース、ヴィブラフォン、ドラムが聞こえます。音程のあるすべての楽器をまとめ、音符にどの楽器が割り当てられたかは問わずに、各エンジンが返すMIDIファイルで採点した結果、オンセットF1はBasic Pitchが0.520、Mireloが0.672でした。

Basic Pitchは、1つにまとめたパートを書き、ドラムは書きません。Mireloは楽器ごとにパートを書くので、楽器別に採点できるのはMireloだけです。ここではGeneral MIDIの楽器グループにまとめました:

ピアノとドラムは最もよく聞き取られ、ヴィブラフォンはほとんど見逃されました。正解の音符数は、下の表にあります。
Mireloの楽器グループ別の結果、Slakh2100 Track01881、最初の60秒
楽器グループ(正解の音符数)オンセットF1
ピアノ(178)0.827
ギター:スチール弦とジャズ(334)0.681
ベース(127)0.455
ヴィブラフォン(64)0.137
ドラムの打音(423)0.698

2本のギターの区別は、さらに難しいものでした。10月2日にMireloの音符リストをパートごとに採点すると、スチール弦ギターは0.364、ジャズギターは0.148でした。MIDIファイルの音符は、そのリストより約20ミリ秒早く始まるため、数値はわずかに異なります。Mireloは、曲に存在しない楽器、つまりオルガン、シンセパッド、ヴァイオリン、チェロにも、92個の音符を書いています。ドラムの打音は、どのドラムを叩いたかを問わず、タイミングだけで採点しています。これは録音ではなくレンダリングした1曲なので、順位ではなく傾向として受け止めてください。

どの音符が間違いやすいですか?

Basic Pitchの場合は、音の小さい音符です。Basic Pitchは、各音符のMIDIベロシティを、その音符の区間でのモデルの平均活性値の127倍に設定します。つまり、ベロシティは確信度の目安にもなります。ギター録音12本で書かれた2,715個の音符を、同じ50ミリ秒の窓で照合したところ、ベロシティの低い音符はほとんどが間違いでした:

Basic Pitchが小さく書いた音符ほど、間違っている可能性が高くなりました。件数は下の表にあります。
Basic Pitchのベロシティと正誤、音符2,715個
ベロシティ音符数全体に占める割合正解の割合
50未満2479.1%21%
50–592509.2%40%
60–7987232.1%67%
80–1271,34649.6%86%

ベロシティは、正しい音符と間違った音符をAUC 0.77で分けます。0.5はコイン投げと同じで、1.0は完璧です。音符の長さは0.53なので、短い音符は目安になりません。ベロシティが50未満の音符をすべて削除すると、全体のオンセットF1は0.744から0.765に上がりますが、そのうち5音に1音は正しい音符です。ScoreStarlingの楽譜の確認で、それらを削除せずに「要確認」として挙げ、判断を耳に任せているのは、そのためです。Basic Pitchを自分で動かす場合も、ピアノロールでベロシティごとに音符を色分けするか並べ替えれば、同じ候補の一覧が得られます。

なぜ、公表されている精度の数字は食い違うのですか?

異なる録音で異なるものを測っているうえ、何を測ったのかを書いていないものもあるからです。

公表されている数値(2026年10月3日確認)
出典数値測定対象
Basic Pitchの論文(Bittnerら、2022)オンセットF1が0.79、音符の終わりまで含めると0.56GuitarSetのテスト用分割、録音72本
MuScriptorの論文(Rouardら、2026)0〜100のスケールでオンセットF1が60.4、YourMT3+は32.52著者ら自身のデータにある、丁寧に注釈を付けた実際の録音372本
ScoreCloudのガイド「音高の精度は通常85〜95%」(原文:pitch accuracy is typically 85-95%)単独の楽器や歌声。測定方法の記載なし
今回のテストBasic Pitchが0.744、Mireloが0.471(オンセットF1)GuitarSetの録音12本

2つの数値を比べられるのは、指標、許容誤差、録音が一致するときだけです。Basic Pitchについての今回の結果は、論文の結果と並べて見られます。どちらもGuitarSetでのオンセットF1ですが、使った録音の部分集合は異なります。MuScriptorの結果とは並べられません。ScoreCloudのページには、音高の精度をどう数えたのか、何本の録音で測ったのか、タイミングを考慮したのかが書かれていません。MuScriptorは、MireloのAudio-to-MIDI Proの土台になったオープンな研究モデルで、Mireloは自社の製品モデルのほうが精度が高いと説明しています。2026年9月17日のMireloの投稿は、更新したモデルで音符と楽器の精度が「in our evaluations」(自社の評価で)向上したとしていますが、数値は公表していません。

音符が正確なら、読みやすい楽譜になりますか?

いいえ。オンセットF1は、音符を秒単位で比べるだけで、書かれた楽譜の読みやすさについては何も語りません。楽譜には、調号、適切な♯と♭、書かれた休符、声部、拍子が必要ですが、Basic Pitchのようなモデルが出すMIDIには、そのどれもありません。同じBasic Pitchの音符から、私たちが最初に作った記譜処理が書いた楽譜は、12本すべてで調号がなく、休符も見えませんでした。MuseScore StudioのMIDI読み込みは、注釈にある調を12本中10本で書き、すべての休符を表示しました。Mirelo自身のMusicXMLは、完了した9件のうち5件で注釈どおりの調が入っていましたが、常にト音記号の譜表1段だけでした。

つまり、採譜の点数が高くても読みづらいことがあり、整って見える譜面にも間違った音符が含まれていることがあります。変更前と変更後の詳しい比較は、MuseScoreでMIDIを読み込むと楽譜が乱れる理由にあります。

どの採譜エンジンを使えばいいですか?

録音に合わせて選んでください。私たちは、この結果を次のように読んでいます:

  • 楽器ひとつ、またはメロディー1本の場合は、Basic Pitch。ソロギターでは大きく上回り、無料のオープンソースで、READMEにも、一度に1つの楽器で最も力を発揮すると書かれています。
  • バンド、またはパート別の楽譜やドラムが必要なミックスの場合は、Mireloのような複数楽器向けのモデル。Basic Pitchは、1つにまとめたパートしか書かないためです。
  • ギターの伴奏の場合は、どちらでも構いません。平均では近く、録音によって得意なほうが異なるので、選択が重要なら、短い抜粋で両方を試してください。
  • 歌声は、まだ測っていません。ピアノは、測ったのが自社の「ピアノソロ」だけで、しかも合成音の録音なので、エンジンの優劣はつけられません。

どのエンジンを使う場合も、リズムと音符の長さは耳で確認してください。ScoreStarlingのAI採譜は、選んだ選択肢に応じてエンジンを選びます:

ScoreStarlingの採譜の選択肢(2026年10月24日確認)
選択肢エンジン料金長さ拍子
楽器ひとつまたは歌Basic Pitch1曲10クレジット最長6分(Plusでは15分)4/4で開始
ピアノソロKongらの研究をもとにしたピアノモデル1曲10クレジット最長6分(Plusでは15分)演奏から判定
バンドMirelo1分あたり30クレジット最長30分(Plusなしでは6分)演奏から検出、または開始前に指定

アップロードできるのは最大95MiBまでです。ギター、ベース、ウクレレのパートは、TAB譜としても表示できます(チョーキング、スライド、ハンマリングは書きません)。そのほかの内容は、仕様をご覧ください。上の測定(10月2日と、10月4日の再測定)には「ピアノソロ」は含まれていません。

現時点で、この結果がカバーする範囲

10月4日のギターの結果が測ったのは、パイプラインの特定の1バージョンです。Basic Pitch 0.4.0、ScoreStarlingのソースリビジョン0775b4d、GuitarSetのマイク録音12本です。オンセットF1の平均は0.7626、オンセット+オフセットF1は0.5224、ソロのオンセットF1は0.8462、伴奏は0.6791です。その後にデプロイされたすべてのバージョンを測ったものではありません。

Slakhの例は、Track01881の最初の60秒で、生のバンドではなく、合成したマルチトラックのミックスです。保存してある10月2日の結果は、音程のある音符のオンセットF1が0.6722、オンセット+オフセットF1が0.1262です。ドラムのオンセットF1は0.6983で、どのドラムかは問いません。また、92個の音符は、正解に存在しない楽器グループに割り当てられました。そのため、音符の開始が合っているかだけを見ると、パートが実際より使えるように見えてしまいます。

10月18日には、別のオフライン調査として、SMDデータセットの実際のピアノ録音5本(各60秒)を、オンセットの許容誤差50ミリ秒で比較しました。オンセットF1の平均は、Transkun v2が0.9945、それ以前のKongモデルが0.9871でした。これは同じ録音で2つのモデルを比べた小規模なテストで、ステージングにも本番にも採用が決まっていません。実際の製品のスコアではなく、音声もここでは公開しません。

これらの音符の指標は、どれも拍、拍子、弱起、譜表への割り当て、譜面の読みやすさを採点しません。末尾の質問にある合成ピアノ演奏50本は、この問題の別の側面を測っています。権利処理が済んで公開されている、録音された歌のベンチマーク、実際のバンド録音を代表するサンプルでの調査、Yamahaの録音を使った対比較の精度テストは、まだありません。

保存したテストケースを聴く

上の測定の元になった、保存済みのパイプライン出力と、比較用のデータセットの正解の音符です。「未修正」は、あとから手で直していないという意味で、完璧な楽譜という意味ではありません。正解のMIDIはデータセットの注釈から作ったもので、修正したScoreStarlingの楽譜ではありません。ギターの音高はMIDIの半音に丸めてあり、録音された楽器のような音はしません。

GuitarSetのソロ、02_BN1-147-Gb_solo、19.6秒

Slakh Track01881、最初の60秒、合成ミックス

GuitarSet(Q. Xi、R. M. Bittner、J. Pauwels、X. Ye、J. P. Bello)とSlakh2100(E. Manilow、G. Wichern、P. Seetharaman、J. Le Roux)は、CC BY 4.0のもとで使用しています。GuitarSetの録音は無加工です。Slakhの録音は、60秒のWAV抜粋にしています。出典と加工の詳細は、サンプルのクレジットにあります。

出典

  1. GuitarSet 1.1.0 — Xi、Bittner、Pauwels、Ye、Bello、Zenodo(CC BY 4.0)
  2. GuitarSetのプロジェクトページ — GuitarSetの制作者
  3. GuitarSetのissue — marl/GuitarSet、GitHub
  4. Slakh2100 — Manilow、Wichern、Seetharaman、Le Roux、Zenodo(CC BY 4.0)
  5. Cutting Music Source Separation Some Slakh — Manilowら、WASPAA 2019
  6. A Lightweight Instrument-Agnostic Model for Polyphonic Note Transcription and Multipitch Estimation — Bittnerら、Spotify、2022
  7. Basic Pitchとnote_creation.py — Spotify、GitHub
  8. mir_eval.transcription — mir_evalのドキュメント
  9. MuScriptor: An Open Model for Multi-Instrument Music Transcription — Rouardら、2026
  10. Audio-to-MIDI Pro: full mixes to editable MIDI — Mirelo、2026年9月17日
  11. Audio to MIDI converterとChangelog — Mirelo
  12. How Accurate Is Automatic Music Transcription? — ScoreCloud

よくある質問

AIはMP3から採譜できますか?

はい。音を1つずつMIDIにできますが、直す必要のある誤りが出ます。SpotifyのBasic Pitchのようなモデルは、楽器がひとつの録音で最も力を発揮します。複数の楽器が混ざった曲には複数楽器向けのモデルが必要で、精度は下がります。2026年10月2日のテストで、グループ別の最高結果は、ソロギターでのBasic PitchのオンセットF1が0.818でした(ScoreStarlingでの使い方を2点変えたあとの10月4日の再測定では0.846)。一部の音符は、耳で確かめて直すつもりでいてください。

Basic Pitchは、楽譜を作れるほど正確ですか?

楽器ひとつの下書きとしてなら、はい。ギター録音12本で、音符の開始を見たオンセットF1は0.744、音符の終わりまで数えると0.508でした。出力されるMIDIには調号も休符も声部もないため、記譜の段階で補う必要があります。その段階で何が変わるかは、MuseScoreでMIDIを読み込むと楽譜が乱れる理由で確認できます。

採譜の精度を自分で測るには、どうすればいいですか?

信頼できる正解の採譜が必要です。各音符の時刻を秒単位で記録したものを用意してください。それがあれば、オープンソースのライブラリmir_evalで、音符の一致を採点できます。私たちが使った許容誤差は、開始が50ミリ秒、音高が50セント、音符の終わりが音符の長さの20%か50ミリ秒です。正解がない場合は、短い箇所をループ再生して、楽譜と録音を耳で聞き比べてください。

なぜMireloは、一部のギターソロで音符を返さなかったのですか?

わかりません。2026年10月2日に、ソロ録音6本のうち3本で結果が空でした。Mireloの任意の楽器リストを指定せずに実行し、その後は再試行していません。伴奏ではBasic Pitchに迫る結果で、複数楽器の抜粋ではMireloが上回りました。

歌やピアノの採譜は、AIでどのくらい正確ですか?

歌については、自前の数値がまだありません。ピアノは、合成音の録音でしか測っていません。2026年10月6日に、25曲の冒頭の小節を、それぞれルバートで2回ずつ演奏した音源で測定しました。Kongらのピアノモデルをもとにした「ピアノソロ」は、楽譜に書かれた音符の約92%を検出しましたが、拍を正しくとらえたのは50演奏中35演奏だけで、拍・拍子・弱起がすべて正しかったのは26演奏でした。Basic Pitchの開発者は、歌声を含め、さまざまな楽器で動くように作っています。歌声や楽器がひとつだけの、クリアでドライな録音が、どのモデルにとっても最も有利です。

AI採譜を、耳で確かめながら