跳至主要内容

不囉唆的文字移調器

· 閱讀時間約 2 分鐘
不囉唆,直接開始用!

請到 NiceChord.com/transpose 開始使用。

這個工具其實已經發表在好和弦官網 NiceChord.com 好一陣子了,但我還沒在這裡提過。

不曉得有多少人跟我一樣,常常用純文字來記錄音樂想法?比如說,在 Markdown 檔案裡面直接這樣寫和弦表:

Cmaj7 | Am7 | Fmaj7 | G9sus | C(add2) ||

用純文字記和弦,寫的時候真的很方便。但是,如果我想把整份和弦表移調怎麼辦?

MuseScore 之類的打譜軟體,都有內建的移調功能,但純文字檔就沒有。網路上雖然有一些文字移調工具,但它們都爛爛的,介面囉唆複雜、廣告多、跑得慢,而且同音異名的處理常常錯誤,連該轉成 D# 還是 Eb 的邏輯都沒弄對。

所以我只好自己寫一個了。

(不囉唆的文字移調器,介面超級簡潔,不囉唆!)

程式的邏輯很簡單:用正規表達式掃描整個文字,找到任何「大寫字母 A-G + 可能的升降記號」的組合,把它移調,然後其他字元完全不動。就這樣。

但重要的是,這個移調器是受過(我的)樂理教育的,它在乎所謂「正確」的音名,而不僅僅是琴鍵上的位置!舉幾個例,你就知道它跟那些沒有愛的工具是不一樣的:

  • C# 移高大三度,會得到 E# 而不是錯誤的 F
  • D# 移高增四度,會得到 G## 而不是錯誤的 A
  • Cmaj7 | Am7 | Fmaj7 | Dbmaj7 移高完全四度,會得到 Fmaj7 | Dm7 | Bbmaj7 | Gbmaj7,注意它不會把 Bb Gb 誤寫成 A# F#

如果你也像我一樣喜歡用純文字寫音名或和弦代號,而且是看到 E# 被寫成 F 就會抓狂的那種人,這個不囉唆的移調器,就是你一直以來在找的東西!

NiceChord.com/transpose 就可以直接使用,歡迎把它加到書籤!