先說結論
AI 扒譜通常能聽出大部分音,但寫得不好。我們用鋼琴獨奏選項扒一段公共領域的《給愛麗絲》錄音,初稿 130 個音一個不少,卻多出 67 個音,其中 66 個是被寫成音符的泛音;調和拍號也成了 E 大調、6/8 拍,而不是 A 小調、3/8 拍。讓一個語言模型用樂譜內建的編輯工具校對一遍,兩次執行都刪光了多餘的音,並把調、拍號和弱起小節改對了。在吉他上它幫得少一些;在我們的測試裡,它從沒找回初稿漏掉的音。
AI 扒譜常出哪些錯?
扒譜模型聽出的是音高和時間;樂譜還需要調、拍號、小節線,以及看得懂的時值。我們在初稿裡見到的問題,大多是下面五種:
- 幽靈音。鋼琴的琴弦每發一個音都帶著泛音,模型可能把高八度的泛音聽成另一個鍵,在同一時刻按下。
- 一個音被拆成幾段。一個長音可能變成兩個;歌手滑進一個音,會變成它前面一個短短的錯音;顫音會變成在兩個音高之間來回晃。
- 調號錯了。每個音高都可能是對的,調號卻錯了:《給愛麗絲》是 A 小調,不需要升號,但曲中的升 G 和升 D 會讓模型猜成 E 大調。
- 拍號錯了。時值整體翻倍或減半(把 3/8 寫成 6/8),或者把 3/4 拍的曲子讀成 4/4 拍。
- 小節線位置不對。從弱拍開始的曲子需要一個較短的第一小節;而一段速度平穩的錄音,只要速度每分鐘差零點幾拍,就會慢慢偏離小節線。
怎樣自己檢查扒譜結果?
把樂譜和錄音對照著播放,每次幾個小節,留意下面這些地方:
- 錄音裡沒有、卻上下疊著相差八度的音:上面那個通常是幽靈音。
- 樂句在哪裡結束。樂句落腳的那個音和它的和弦通常就是調,拿它和調號比一比。
- 數一數第一個樂句。如果強拍落在小節中間,拍號或第一條小節線就錯了。
- 長音前面、與它相差二度的極短音符:在人聲裡,這是滑進那個音的過程,不是旋律裡的音。
- 連奏段落裡零零散散的休止符和連結線:音多半是對的,只是時值寫得不好。
AI 校對都做些什麼?
ScoreStarling 的 AI 精修是上傳表單裡的一個開關,適用於鋼琴獨奏,以及單一樂器或人聲。轉譜完成後,一個語言模型會讀初稿,用編輯器裡人能用的那些工具,按固定的順序修改。這個順序來自我們試過的最強的模型:它用同樣的工具、不限時間和步數,校對了六份初稿:
- 清理由程式碼根據音符和錄音,找出幽靈音和被拆成幾段的音
- 結構拍號、速度、第一個強拍和調
- 通讀把整份樂譜讀一遍,對照曲中反覆出現的樂句
- 記譜音名寫法、左右手、長音和易讀的節奏
- 收尾刪掉結尾之後的空小節,檢查譜面
它被告知以錄音為準:絕不重新扒譜、改編、簡化或移調。它最後會說明改了什麼,以及哪幾個小節值得再聽一遍。
改好的譜長什麼樣?
下面是《給愛麗絲》測試的開頭,分別是初稿和校對之後的樣子。初稿很難讀,但彈到的每個音都在;校對刪掉了多餘的複製音,改回貝多芬原本的調和拍號,並讓左右手各自一行譜表。
之前:轉譜初稿
AI 精修之後
我們鋼琴錄音轉樂譜頁面上那段 19 秒的《吉諾佩蒂第一號》錄音,錯法又不一樣:初稿是 4/4 拍,左手的和弦跑到上面一行譜表,和旋律混在一起。兩次校對最後都得到了薩提原譜的音符,八個小節全部一致,每個音高、時值和所在譜表都對,3/4 拍,D 大調。
之前:轉譜初稿
AI 精修之後
效果怎麼樣?
2026年10月12日,我們用它實際使用的模型 OpenAI GPT-6.1 Sol,在每段有參考標註的錄音上各跑了兩次。音高相同、起點相差不超過 0.1 秒,就算這個音對;F1 同時計入漏掉的音和多餘的音,1.0 表示所有音都對、一個不多。
| 錄音 | 初稿 F1 | 精修後 F1 | 多餘的音 | 精修後的調和拍號 |
|---|---|---|---|---|
| 《給愛麗絲》開頭(鋼琴,24 秒) | 0.795 | 1.000 | 67 → 0 | A 小調,3/8 拍(初稿:E 大調,6/8 拍) |
| 波薩諾瓦吉他獨奏(GuitarSet) | 0.839 | 0.887 | 25 → 12 | E 大調,4/4 拍 |
| 波薩諾瓦吉他伴奏(GuitarSet) | 0.696 | 0.716 | 46 → 26 | E 大調,4/4 拍 |
另外兩段人聲錄音來自一個研究資料集,授權不允許放在本站。它們的 F1 分別從 0.78 升到 0.89、從 0.79 升到 0.87;以音符開頭的小節,從大約三分之一增加到九成以上。
七段錄音(其中六段不到一分鐘)只能當作診斷樣本,算不上基準測試。吉他錄音提升不大,因為它們初稿的錯誤大多是漏掉或合併了的音,而校對找不回這些音。
它做不到什麼?
- 找回初稿漏掉的音。表格裡的每一點提升都來自刪掉多餘的音:每次測試裡,漏掉的音都還是漏著。
- 分清每一個真實的音和多餘的音。在有參考標註的五段錄音裡,有四段它在刪多餘音時也刪掉了 1 到 6 個真實的音;在伴奏上,是 117 個裡刪了 6 個。
- 替你判斷沒有參考標註的錄音。在一段 2 分 48 秒的流行鋼琴錄音上,它刪掉了初稿裡的幽靈八度音,左手的音型也留在下面一行譜表,但刪掉的是否全是幽靈音,只能靠耳朵確認。
- 處理樂團錄音:樂團錄音是好幾個聲部混在一起的。
要多長時間?
轉譜完成後再等幾分鐘:在我們 19 到 82 秒的測試錄音上用了 1 到 4 分鐘,在那段 2 分 48 秒的鋼琴錄音上不到 3 分鐘。校對結束後樂譜就完成了,並附上幾句話說明改了什麼。
參考資料
- Für Elise——網際網路檔案館,公共領域(Public Domain Mark 1.0)
- Erik Satie, Gymnopédie No. 1——維基共享資源
- GuitarSet 1.1.0——Xi、Bittner、Pauwels、Ye 和 Bello,Zenodo(CC BY 4.0)
- High-resolution Piano Transcription with Pedals by Regressing Onset and Offset Times——Kong 等,2020
- A Lightweight Instrument-Agnostic Model for Polyphonic Note Transcription and Multipitch Estimation——Bittner 等,Spotify,2022
常見問題
為什麼鋼琴扒譜裡會多出高八度的音?
鋼琴的琴弦發出一個音的同時,也會發出它的泛音,最強的那個就在高八度。扒譜模型可能把它當成同時按下的另一個鍵。在我們對一段 24 秒《給愛麗絲》錄音的扒譜初稿裡,67 個多餘的音中有 66 個落在正在彈的音上方,高出一個八度或其他泛音的位置。
為什麼扒出來的調號不對?
音符可能全對,調號卻還是錯的,因為調是對音樂的一種解讀,而不是聲音本身。我們的《給愛麗絲》初稿每個音高都對,卻標了四個升號(E 大調),而不是 A 小調。看看樂句停在哪裡:落腳的那個音和那個和弦,通常就是調。
AI 能把扒譜結果完全改對嗎?
不能。校對只能刪掉不該有的音,並重寫已有的內容。在我們的測試裡,它從沒找回初稿漏掉的音;五段錄音中有四段,它在刪多餘音的同時還刪掉了 1 到 6 個真實的音。它說不確定的那幾個小節,要再聽一遍。
AI 校對會改動我的音樂嗎?
不應該。它被要求絕不改編、簡化或移調。每處修改都儲存為同一份樂譜的新版本,所以復原可以一步步退回到未經精修的轉譜。