使用文字畫樂譜 - ABC Notation

經由文字來撰寫樂譜

為什麼要透過文字畫樂譜呢

通常我要 share 一份我自己打的樂譜給其他人時,最常見的做法是經過 Musecore 輸出為 PDF 之後,在傳給給別人
有時會需要請對方修改或調整時,就同樣會收到截圖或PDF上面畫滿許多記號
此時同樣身為畫圖控的我就在想 有沒有一個更加方便記錄樂譜的方式呢

有的!ABC Notation

ABC Notation 是一套開源的語法,他能夠透過編譯文字,來產生各式各樣的樂譜
透過文字例如 F G A Bb C D E 來表達樂譜其實已經是很流行的做法
試想如果一個音樂一定要畫出五線譜、然後精準地把音符放在每一個正確的位置,其實相對而言浪費紙張以及資源

而 ABC Notation 則可以利用 abcjs-music 這個 library ,實現於 Web 上呈現樂譜的樣貌
這裡假設我要呈現一段 鳳陽花鼓 我要打以出

T: 鳳陽花鼓
M: 4/4
L: 1/8
GEDEG2|EGAcG2|

同樣經過渲染之後,就可以呈現以下樂譜

以我目前的範例中,許多參數代表不同的意思,例如 T 為標題、M 指的是拍號,L 則是 “樂譜以幾分音符為單位”(default為八分音符)
參數的步份也可以餐考這裡 https://abcnotation.com/ 以及 ABC Ref Card 下方的 G E D 就是音符的 Sol Mi Re ,比較要注意的是不同音域的表達方式不同,例如以下可以看出不同音域使用的內容

C, D, E, F, | G, A, B, C | D E F G | A B c d | e f g a | b c' d' e' | f' g' a' b' |

同樣也可以放上和弦,來做進一步的表達內容

其實想的到的表達都可以透過語法撰寫,例如多音符的和弦,或是兩聲部的表達

使用 ABC Notation 有什麼好處呢

老實說與圖形化介面相比而言,透過 ABC Notation 不見得會比較快,尤其是與 Midi 鍵盤+打譜軟體相比
key 文字再加上轉譯其實滿浪費時間的

但透過 ABC Notation,我們還是有些好處以及他的價值

  1. 修改不用靠軟體,有編輯器即可
  2. 修改快速
  3. 方便傳給別人,增加討論效率
  4. 能更有效率的保存並將資訊傳遞下去,用文字即可將偉大的作品記錄下來

再來如果有興趣也在自己的 Blog 或文章使用 ABC Notation 的話
Wordpress 目前有插件,可以透過 shortcode 實現
跟我一樣使用 Hugo 的朋友,可以到我的 Github hugo-shortcode-abcjs 下載來使用
不過目前我還沒弄出 midi,希望之後我能好好把它解決掉

附上花了一點時間打的 There will never be another you