部落格研究
ChatGPT 看得懂樂譜嗎?
我們把同一頁鋼琴譜分別以清晰的 PDF 和手機照片的形式交給多個 ChatGPT 模型,把每個音都和原譜逐一比對,再用椋鳥記譜(ScoreStarling)讀同樣的檔案。
先說結論
在清晰的譜面上,它比傳聞中強。在我們 2026年10月13日的測試中,7 個 ChatGPT 模型裡最好的一個讀一首巴哈小步舞曲的 16 個小節,101 個音只錯 1 到 2 個,調號和拍號每次都對。差別最大的是模型:同樣清晰的 PDF,最弱的模型錯了約 90 個。換成這頁譜的照片,結果就忽高忽低,較強的模型也從錯 1 個到錯 37 個不等。在 ChatGPT 應用程式裡,它能把讀到的內容做成 MIDI 檔案,讀錯的音也一併帶上,但給不出能當樂譜編輯的東西。接上像椋鳥記譜(ScoreStarling)這樣的識譜工具(光學樂譜辨識),同一個對話就能把 PDF 讀成一份樂譜:可以試聽、移調,還能下載 MusicXML 或 MIDI。
我們測了什麼
我們用了三首公共領域的樂曲,都由 Mutopia Project 排版,並把每個回答裡的每個音都和原譜逐一比對。
| 譜頁 | 內容 | 計分小節 | 音符數 |
|---|---|---|---|
| A. 清晰 PDF | G 大調小步舞曲,BWV Anh. 114(一般認為作者是克里斯蒂安·佩措爾德 Christian Petzold),一頁 | 1–16 | 101 |
| B. 手機照片 | 同一頁譜,拍得有點斜,光線不均,還有一塊陰影;照片由 PDF 製作,模仿手機拍攝的效果 | 1–16 | 101 |
| C. 更難的一頁 | 蕭邦《b 小調圓舞曲》,Op. 69 No. 2:弱起小節、變音記號、左手和弦 | 弱起小節和第 1–8 小節 | 91 |
每一頁譜,我們都分別發給 ChatGPT 訂閱所提供的 7 個模型各三次:gpt-6.1-sol、gpt-6-astra、gpt-6-sol、gpt-6-luna、gpt-5.6-sol、gpt-5.6-terra 和 gpt-5.6-luna。這些是附上圖片後直接向模型發出的請求,沒有用 ChatGPT 應用程式裡的網頁搜尋或程式碼工具;應用程式會為你選哪個模型,取決於你的方案和設定。我們還向 gpt-6.1-sol 問了四個樂手會問的問題:第 1–4 小節的調、拍號和音符;把前 8 個小節移到 F 大調;給一個能播放的版本或 MIDI 檔案;以及第 5 小節難在哪裡。為了統計錯誤,我們要求每個模型寫出計分小節裡的每個音,包括八度和時值。
之後我們又在 ChatGPT 應用程式裡(chatgpt.com,GPT-6,預設的 Medium 思考強度)問了同樣的問題,PDF 和照片各問一次,並截了圖。



每個寫出的音符計一次,所以三個音的和弦計三個。音高錯誤、漏掉的音或多出來的音都算音高錯誤;音高對但時值錯,算節奏錯誤。整小節讀高一個音時,其中每個音都算錯。裝飾音和倚音不計入。
ChatGPT 自己能讀對什麼
譜面清晰、模型夠強的話,能讀對很多。較強模型的每一個回答都說對了調號和拍號。gpt-6-astra 讀清晰的小步舞曲,三次分別錯 1、2、1 個音,讀蕭邦則一個沒錯;gpt-6.1-sol 讀小步舞曲分別錯 1、5、0 個,讀蕭邦分別錯 0、0、2 個。讓它把 8 個小節從 G 大調移到 F 大調,它把每個音都降低了一個全音,調號改成一個降號,波音和倚音也都保留了。它對第 5 小節的建議也很中肯:波音彈得輕一點,別拖慢拍子;八分音符要均勻;左手要保持滿三拍。

哪裡會出錯
在我們的測試中,問題出在三個地方:較弱的模型、照片和檔案。
原譜
gpt-6.1-sol,清晰 PDF(第 1–16 小節錯 5 個)
gpt-6.1-sol,手機照片(錯 37 個)
gpt-6-luna,清晰 PDF(錯 62 個)
較弱的模型
模型帶來的差別比什麼都大。同樣是清晰的 PDF,gpt-6-sol 和 gpt-5.6-sol 每次錯 1 到 5 個音,gpt-5.6-terra 有一次錯了 37 個,gpt-6-luna 錯了約 60 個,大多是整小節讀偏一個音,gpt-5.6-luna 則錯了 86 到 97 個。讀蕭邦時,gpt-6-sol 最多錯 42 個,gpt-5.6-sol 最多錯 59 個。讀照片和蕭邦時,gpt-6-luna 三次裡有兩次拒絕作答,有一次說它沒法「可靠地寫出每個音和時值」。具體由哪個模型回答,取決於你用的方案和設定,所以這裡最好的結果是最理想的情況,而不是常見情況。
照片
換成照片,每個模型都變得更難預料。gpt-6-astra 讀拍下來的譜頁,三次分別錯 1、1、13 個音;gpt-6.1-sol 分別錯 11、37、18 個。這些錯誤並不隨機:有一次,第 7 小節的 F♯4 G4 A4 B4 G4 變成了 A4 B4 C5 D5 B4,整小節高了三度;另一次,第 5–7 小節和第 11–15 小節的右手全都讀高了一個音。音高取決於音符在五條線上的位置,譜面一歪、有陰影,就很容易數錯一條線。

模型還會改口。在照片那次對話裡,它先把第 3、4 小節讀低了一個音,後來讓它移調時,它開頭就說「更正我之前的讀譜」,把這兩個小節改對了。同一張圖片,問法不同,讀出的音也可能不同。
檔案
直接問模型要「一個能播放的版本,或者一個 MIDI 檔案」,它寫出了 ABC 記譜(一種用文字記錄音樂的格式),並建議我們貼到線上 ABC 播放器裡。ChatGPT 應用程式做得更多:它用程式碼工具產生了第 1–4 小節的 MIDI 檔案供下載。這個檔案只是把模型讀到的內容變成音符,所以第 3 小節那個錯音也在裡面,而且只有我們問到的這 4 個小節。仍然沒有 MusicXML,也沒有能看、能改的樂譜;想改一個音,得把 MIDI 拿到別的軟體裡開啟,或者再問一遍。

為什麼聊天模型很難讀懂樂譜?
因為同一個符號放在不同位置,意思就不同。同樣一個黑色符頭,在這條線上是 G,在那條線上就是 B;譜號、調號、小節裡前面出現的變音記號、八度記號,都會改變它的音高。讀一頁譜,就要讓每個音的這些因素同時都對。一個能把圖片描述得很好的通用模型,照樣可能差一條線;而在照片上,譜線本身就是彎的、淡的。
在 ChatGPT 裡用 ScoreStarling 讀同一份樂譜
ScoreStarling 可以透過 MCP 串接 ChatGPT 和 Claude,方法見連線指南。清晰的 PDF 會交給識譜引擎(光學樂譜辨識,基於開源的 Audiveris),把譜頁變成樂譜;助理再把這份樂譜和原譜對照,改正讀錯的地方。
清晰的 PDF
識譜結果把小步舞曲第 1–16 小節的 101 個音全部讀對,蕭邦片段的 91 個音也全對,調號和拍號都沒錯。只漏了一處:小步舞曲第 8 小節前的倚音。結果直接開啟成一份樂譜,馬上就能播放,一步就移到了 F 大調(全部 32 個小節,連調號一起),還能下載 MusicXML、MIDI、PDF 和 MP3。

手機照片
識譜引擎在我們那張拍斜的照片上失敗了:它只找到 12 個小節、56 個音(共 203 個),把鋼琴拆成了兩件樂器,還把調寫成了 C 大調。照片、手寫譜、簡譜和旋律譜,ScoreStarling 換一種方式處理:由助理看圖,把音樂寫成 ABC,再由 ScoreStarling 產生能播放的樂譜。這樣做的準確度取決於助理讀得準不準。gpt-6.1-sol 來做時,第一版錯了 6 個音,在第 7 和第 8 小節。我們接著讓它把樂譜和照片對照檢查,它沒發現這兩個小節的問題,反而認定左手低了一個八度並整個往上移,結果錯了 43 個音。
原譜
模型「檢查」完照片讀譜之後
如果可以,儘量給識譜工具 PDF 或平整的掃描檔。手機的文件掃描模式會把譜頁拉正、把光線調勻,比普通照片更接近掃描檔;不過它能幫上多少,我們還沒有測過。
結果對比
| 方法 | A. 清晰 PDF(101) | B. 手機照片(101) | C. 蕭邦(91) |
|---|---|---|---|
| 僅 gpt-6-astra | 1, 2, 1 | 13, 1, 1 | 0, 0, 0 |
| 僅 gpt-6.1-sol | 1, 5, 0 | 11, 37, 18 | 0, 0, 2 |
| 僅 gpt-6-sol | 5, 1, 5 | 16, 13, 7 | 14, 42, 9 |
| 僅 gpt-5.6-sol | 5, 5, 3 | 23, 19, 22 | 36, 59, 39 |
| 僅 gpt-5.6-terra | 4, 37, 5 | 20, 2, 1 | 2, 13, 2 |
| 僅 gpt-6-luna | 62, 58, 58 | 67;兩次拒絕回答 | 52;兩次拒絕回答 |
| 僅 gpt-5.6-luna | 87, 97, 86 | 84, 110, 93 | 91, 79, 85 |
| ScoreStarling 識譜 | 0(漏了一個倚音) | 失敗:12 個小節、56 個音,調不對 | 0 |
| gpt-6.1-sol 寫 ABC,ScoreStarling 產生樂譜 | — | 第一版 6 個;自行檢查後 43 個 | — |
| 僅用 ChatGPT | ChatGPT 加 ScoreStarling | |
|---|---|---|
| 調號和拍號 | 每次回答都對 | PDF 讀對;照片讀錯 |
| 播放 | ABC 文字,或者應用程式裡給的 MIDI 檔案,要到別處開啟 | 在對話的樂譜面板裡播放;可下載 MP3 |
| MusicXML 和 MIDI | 應用程式裡能給出所讀小節的 MIDI 檔案;沒有 MusicXML | 有,樂譜解鎖後即可 |
| 移調結果 | 音符列表和 ABC | 移好調的樂譜,可播放、編輯和下載 |
三分鐘檢查任何 AI 讀出的樂譜
不管是誰讀的譜,都把結果當作草稿,重點抽查容易讀錯的地方。
- 把調號、拍號和第一小節的音和原譜對照。
- 看有沒有整小節高了或低了一個音:把它的第一個和最後一個音和原譜對照。
- 檢查小節中間的變音記號,以及它是否延續到同一小節後面的音。
- 檢查左手最低的音有沒有八度錯誤。
- 挑幾個有附點音符或連結線的小節,數一數拍子。
- 看有沒有漏掉倚音、裝飾音和反覆記號。
- 一邊看原譜一邊播放;錯音聽出來比看出來容易。
Claude 和其他助理
這次我們只為 ChatGPT 模型評了分。Claude 也能讀圖片,也能用同樣的方式透過 MCP 串接 ScoreStarling,所以識譜、播放、移調和下載在 Claude 裡同樣可用。
用 ScoreStarling 識譜要花多少錢?
讀 PDF 或圖片免費:識譜、編輯、試聽和產生新的 PDF 都不扣點。MusicXML 和 MIDI 需要先解鎖樂譜,每份樂譜解鎖一次 15 點;每個帳號每月都有免費點數(2026年10月13日確認)。把錄音轉成樂譜是另一回事,見《ChatGPT 能把歌扒成樂譜嗎?》。
參考資料
- Mutopia Project,Menuet in G, BWV Anh. 114,Allen Garvin 排版,公共領域。
- Mutopia Project,Walzer Nr. 10 h-moll, Op. 69 No. 2,Roland Goretzki 排版,公共領域。
- Audiveris,ScoreStarling 識譜功能所用的開源光學樂譜辨識引擎。
- ABC 記譜法標準.
常見問題
ChatGPT 能讀懂 PDF 樂譜嗎?
PDF 清晰、模型夠強的話,多半可以。在我們 2026年10月13日的測試中,gpt-6-astra 讀一首巴哈小步舞曲的 16 個小節(101 個音),三次分別錯 1、2、1 個音;gpt-6.1-sol 分別錯 1、5、0 個。7 個模型裡最弱的錯了 86 到 97 個。用之前先核對音符。
為什麼 ChatGPT 讀照片會讀錯音?
音高取決於音符在五條線上的位置,照片一歪或有陰影,就很容易數錯一條線或一個間。在我們的測試中,照片上最典型的錯誤是整小節讀高或讀低一個音。即使是最好的模型,三次裡也有一次在 101 個音中錯了 13 個;其他模型最多錯 37 個。
ChatGPT 能給樂譜移調嗎?
它能把讀到的音符移調,再以音符列表或 ABC 文字的形式寫出來。只要讀對了,它把 8 個小節從 G 大調移到 F 大調也是對的。但你拿到的是文字,不是能在打譜軟體裡開啟的樂譜檔案。
ChatGPT 能把樂譜轉成 MIDI 嗎?
能把它讀到的音做成 MIDI 檔案,讀錯的音也會原樣帶進去。2026年10月13日在 ChatGPT 應用程式裡,它為第 1–4 小節寫了一個 MIDI 檔案,裡面帶著它讀錯的那個音;不透過應用程式的工具直接問模型,它給的則是 ABC 文字。接上像 ScoreStarling 這樣的識譜工具,同一個對話就能給出整頁的 MIDI 和 MusicXML。
Claude 看得懂樂譜嗎?
Claude 也能看樂譜圖片,不過這次測試沒有給它評分。Claude 可以像 ChatGPT 一樣透過 MCP 串接 ScoreStarling,所以下文的識譜、播放和匯出在 Claude 裡同樣可用。