先說結論
同一個音高通常能在二到六條弦上彈出來,所以六線譜必須選定一條。大多數打譜軟體(包括 MuseScore)會把每個音放在能彈出它的音最高的那條弦上,也就是最低的格;和弦裡某個音的弦如果已被佔用,就移到下一條空著的弦。這樣排出的指法把位低、好讀,但也可能讓旋律在一條弦上一路往上爬,而不是停在同一個把位。如果從檔案產生的六線譜整體高了一個八度,那是因為檔案把吉他記得比實際音高高一個八度,而軟體依照記譜音高排了格數。
為什麼同一個音在指板上有好幾個位置?
因為各弦的音域互相重疊。標準調音下,六條空弦依序是 E2、A2、D3、G3、B3 和 E4,相鄰兩弦相差五個半音,只有 G 弦到 B 弦相差四個,所以一條弦的第 5 格(G 弦是第 4 格)就是下一條弦的空弦音。中央 C 上方的 E,也就是 E4,可以是 1 弦空弦、B 弦第 5 格、G 弦第 9 格、D 弦第 14 格、A 弦第 19 格,或是低音 E 弦第 24 格:24 格的琴頸上有六個位置,22 格的電吉他或 19 格的古典吉他上則有五個。
五線譜只給出音高,六線譜給的是弦和格。所以不管是人還是程式來寫六線譜,都要替每個音從這些位置裡挑一個,而這個選擇決定了手放在哪裡。
打譜軟體照什麼規則選弦?
MuseScore 的規則寫在原始碼的 StringData 裡。一個音會被放到空弦音不高於它的弦當中,音最高的那一條(convertPitch 上方的註解寫著「using the highest possible string」,也就是盡量用最高的弦)。和弦則從最高的音往下逐一安排;如果某個音要用的弦已被佔用,軟體會「從最上面開始找一條合適的弦」(a suitable string, from topmost),也就是由上往下找第一條空著、而且能在指板格數範圍內彈出這個音的弦。如果一條也找不到,兩個音就留在同一條弦上,六線譜會標出這個衝突。
我們為 ScoreStarling 寫了同樣的規則,並比較兩者。一支腳本在標準調音、還沒填格數的六線譜譜表上隨機寫入 120 個和弦,每個和弦含一到四個不同的音,音域在 E2 到 C6 之間;再讓 MuseScore 4.7.5 的命令列把格數填上,然後逐音比對。我們換不同的隨機和弦,一共跑了四次。
| 和弦 | 數量 | 結果 |
|---|---|---|
| MuseScore 能排出來的 | 447 | 全部 1,055 個音的弦和格都相同 |
| MuseScore 把兩個音留在同一條弦上的 | 13 | 高把位和弦;它匯入的吉他格數比我們的 24 格少,而我們把每個音都放在各自的弦上 |
| 怎麼排弦都彈不了的 | 20 | 低音比能彈到它們的弦還多,例如兩個低於 A2 的音,只有低音 E 弦能彈;照 MuseScore 的寫法寫出並加上標記 |
這條規則可以預測,所以很適合當預設值:看六線譜的人都能推算出每個音會落在哪裡。用 Guitar Pro 或 MuseScore 開啟這份樂譜,看到的格數也一樣。
「低格優先」什麼時候會排得彆扭?
當旋律落在指板高處時。這條規則從不看前後的音,所以凡是 1 弦能彈的音都會放到 1 弦上,吉他手原本會在同一個位置彈完的樂句,就變成在這一條弦上來回跑。下面是一個從第 12 格的 E 往下走的樂句,由 ScoreStarling 分別按兩種規則寫出。
低格優先
換把最少
| 音 | 低格優先 | 換把最少 |
|---|---|---|
| C5 | 1 弦第 8 格 | 1 弦第 8 格 |
| D5 | 1 弦第 10 格 | 1 弦第 10 格 |
| E5 | 1 弦第 12 格 | 1 弦第 12 格 |
| D5 | 1 弦第 10 格 | 1 弦第 10 格 |
| C5 | 1 弦第 8 格 | 1 弦第 8 格 |
| B4 | 1 弦第 7 格 | 1 弦第 7 格 |
| A4 | 1 弦第 5 格 | 2 弦第 10 格 |
| G4 | 1 弦第 3 格 | 2 弦第 8 格 |
低格優先的排法在一條弦上橫跨第 3 到第 12 格,下行時手要一次又一次地移動。換把最少的排法把最後兩個音放在 B 弦的第 10 格和第 8 格,手始終保持在第 7 到第 12 格之間。兩種都不算錯,大多數打譜軟體顯示的是低格優先的版本;第二種比較接近老師會寫的指法。
程式只要通盤規劃整個聲部,就能找到第二種排法。ScoreStarling 的「換把最少」選項把每個音或和弦當作一步,列出它所有可能的按法,再在所有步驟之間搜尋代價最小的路徑:手一次涵蓋四格;換把移得越遠,代價越高;跨度超過四格的和弦要額外加代價;高把位和第 12 格以上的位置稍微加一點;空弦不計代價。不過它還是不了解你的演奏技巧,所以規劃出來的指法只是建議,仍需要你自己確認。
為什麼我的六線譜高了一個八度?
因為吉他的實際音高比記譜低一個八度,而檔案有兩種方式表達這一點。MusicXML 可以按實際音高記譜,使用下方帶小 8 的高音譜號;也可以高八度記譜,再加上 transpose 元素,它「表示記譜音高需要加上多少,才能得到正確的實際音高」。兩種方式印出來的五線譜一模一樣。如果軟體依照第二種檔案的記譜音高來填六線譜,每個音都會高一個八度。
我們在 MuseScore 4.7.5 裡親眼看過。一個檔案裡是開放把位的 C 大調音階,實際音高從 C3 到 C4(從 A 弦第 3 格到 B 弦第 1 格),按第二種方式記譜,並寫明了弦和格。MuseScore 把所有格數都換掉了,寫成從 B 弦第 1 格到 1 弦第 8 格——同一條音階,高了一個八度。改用帶 8 的譜號按實際音高記譜後,同一條音階開啟時,每條弦、每個格數都和檔案裡寫的一致。ScoreStarling 下載的 MusicXML 就是這樣寫六線譜聲部的。
如果別人給你的六線譜高了一個八度,先別急著改音,檢查一下原始檔案裡這個聲部的譜號和移調設定。
移調夾在檔案裡改變了什麼?
改變的是空弦音。MusicXML 的 capo 元素會依它的半音數「改變各弦的空弦調音」,而格數從空弦的 0 開始編號,所以移調夾夾在第 2 格時,0 格就是在移調夾處彈響的弦,第 3 格則是從上弦枕數起的第 5 格。這和吉他手看標了移調夾的彈唱譜時的讀法一致。MuseScore 4.7.5 開啟我們的 MusicXML 時忽略了移調夾,從上弦枕開始標格數,所以最好也在樂譜的文字說明裡註明移調夾的位置。
ScoreStarling 怎麼寫六線譜
從 2026年10月8日起,ScoreStarling 可以把吉他、貝斯或烏克麗麗聲部顯示為五線譜加下方的 TAB 譜,或只顯示 TAB 譜,來源可以是錄音或影片連結、PDF 樂譜,或是 MusicXML、MIDI、ABC 檔案。預設的弦位遵循上文的低格優先規則;「換把最少」會幫你規劃,讓手盡量停在一個把位;你也可以把任何一個音移到另一條弦上(音高不變),或直接輸入格數。調音包括 Drop D、DADGAD 和開放 G,移調夾最高可以夾到第 12 格。任何弦都無法照原樣彈出的音會被標出。它不記推弦、滑音、搥弦和刷弦,整首曲子也只用一種調音。可以到音訊轉吉他譜、YouTube 影片轉吉他譜或五線譜轉吉他譜頁面試試看。
參考資料
- MuseScore,
src/engraving/dom/stringdata.cpp:convertPitch和fretChords,2026年10月7日查閱。 - MusicXML 4.0 的 string 元素:1 弦是全長的弦中音最高的一條。
- MusicXML 4.0 的 fret 元素:空弦記為 0。
- MusicXML 4.0 的 capo 元素.
- MusicXML 4.0 的 transpose 元素.
- 我們的比較測試:標準調音下的 480 個隨機和弦,MuseScore Studio 4.7.5 命令列與 ScoreStarling 的比較;以及用兩種方式記譜的 C 大調音階。2026年10月8日。
常見問題
為什麼打譜軟體把音排在我不會用的那條弦上?
因為五線譜不會標明用哪條弦,軟體只能照規則來排。MuseScore 會選能彈出這個音的音最高的那條弦,也就是最低的格;和弦裡某個音要用的弦如果已被佔用,就順延到下一條空著的弦。你習慣在別處彈的音,自己改到對應的弦上就好,音高不會變。
為什麼我的吉他六線譜高了一個八度?
很可能是檔案用 transpose 元素,把吉他記得比實際音高高一個八度,而軟體依照記譜音高排了格數。改成按實際音高記譜、使用下方帶 8 的高音譜號,就能解決。在我們的測試中,用第一種方式記譜的開放把位 C 大調音階,被 MuseScore 4.7.5 讀成了高一個八度、排在 1、2 弦上的同一條音階。
夾了移調夾,0 格指的是上弦枕還是移調夾?
在 MusicXML 裡指的是移調夾:capo 元素會把各弦的空弦音升高相應的半音數,所以 0 格就是在移調夾處彈響的弦。MuseScore 4.7.5 開啟我們的 MusicXML 時忽略了移調夾,從上弦枕開始數格。
ScoreStarling 能把錄音扒成吉他六線譜嗎?
可以,2026年10月8日起就支援:它會把錄音寫成五線譜並在下方配上六線譜,也可以只顯示六線譜,適用於吉他、貝斯和烏克麗麗,單一樂器免費。它不記推弦、滑音和搥弦。詳見音訊轉吉他譜。