第二章、 相關研究
2.3 音樂分析
2.3.2 和聲分析演算法
和聲的分析是另一項重要的音樂參數分析。調性分析是用來分析整首音樂,或者樂 曲的某一段落的參數,因此調性分析是傾向於分析音樂整體給人的感覺,但和聲的分析 是對於音樂的細節去分析。如果用調性比喻一張圖片給我們的整體感覺,那麼和聲就是 那張圖片內到底包含了什麼東西,以及這些東西是怎麼樣組織運用。因此兩者對於音樂 分析都是不可或缺的部份。
- 17 - Temperley 和 Sleator 在 1999 年所提出的方式中就存在這樣的狀況。這樣一來會產生一 個問題,在音樂中和弦的使用並不會是固定長度,有可能好幾個小節只使用一個和弦,
但也可能一個小節出現好幾個和弦,因此如果不解決分段的問題也沒辦法使和聲分析完 全自動化。
Bryan Pardo 和 William P. Birmingham 在「Algorithm for Chordal Analysis」這篇論文 中提出了一種分析音樂和聲的方式[12]。
Chord Name Template Representation
Major Triad <0, 4, 7>
資料來源:Algorithm for Chordal Analysis [12]
- 18 -
表 6 中只列出每種和弦音與音之間的相對位置,這也是和弦的基本定義,然而在比 對時,每種和弦樣版都需要位移到以十二個 Pitch Class 為根音的型態來做比對,以大三 和弦來說,樣版{0, 4, 7}表示和弦內三個音所相差的距離,但在比對時就需要比對{0, 4, 7}, {1, 5, 8}, {2, 6, 9}…等十二種樣版,所以以六個樣版為例,在比對時就需要比對七十 二次。
由於和弦的轉換只會發生在一個音開始(Note On)或結束(Note Off)的地方,因此利 用這個特性把所有的 Note On /Off 點定為一個分割點(Partition Point),以圖 11 為例,該 樂曲就存在六個分割點。
圖 11 分割點示意圖
接著開始計算各種可能的段落分割方式的分數,各種分割方式的意思是,例如圖 11 當中有六個分割點,可能的分割方式有((1,2)(2,3)(3,4)(4,5)(5,6))、((1,2,3)(3,4,5)(5,6))、
((1,2,3,4)(4,5,6))…等,因此如果以六個分割點為例,可能的方式有 6+5+4+3+2+1 種。
計算每種分段分數的公式為:
(6)
其中 S 代表總分,P(Positive Evidence)代表比對的段落內有出現在正在比對的和弦 樣版中的權重總合,M(Misses)代表出現在比對中的和弦樣版內,但沒出現在段落內的 數目總和,N(Negative Evidence)代表出現在段落內,但沒出現在正在比對的和弦樣版中 的權重總合。
以這種方式來計算每段落對應到每種和弦樣版的分數,圖 11 為例,假設正在比對 的段落為 1 和 4 這兩個分割點所組成的段落,正在比對的樣版為以 A 音為根音的小三和 弦(A Minor Triad: 9,0,4),段落內出現的音為{C4, E4, C5, D5, E5},所對應到的權重為{3, 3, 1, 1, 1},因為 C4 和 E4 的時間長度跨越了 1 到 4 這個大段落內的三個小段,因此權重
- 19 -
為 3,C5, D5, E5 則都沒有跨越任何小段落,因此權重為 1。可算出
P=Weight(C4)+Weight(E4) +Weight(C5)+Weight(E5)=3+3+1+1=8,N=Weight(D5)=1,M=1,
得到 S=8-(1+1)=6。
計算完每種分段方式的分數後,接下來要進行分段(Segmentation)的工作。在這篇論 文中,是利用圖學的方式來找出分段方法。
首先需要建立一個有向圖的資料結構,並且把每個分割點當做一個點,給予每個點 連往其後所有點的有向邊。
圖 12 分割點轉為圖學示意圖
由於已經計算過所有可能分段的分數,因此每個邊都可以利用分數來標示其權重,
作者假設以這種方式所計算的權重,分數越高代表是越合適的和弦及分段方式,而以整 體來看,如果能找出一條最高分的路徑,或許就是最佳的分段方式。
在演算法的動態規劃(Dynamic Programming)手法當中,Relaxation 演算法就是用來 在有向的拓樸當中找出最佳路徑的演算法,在這篇論文當中就以這個演算法來尋找最佳 路徑,以下簡單用圖 13 為例說明 Relaxation 演算法如何運作。
由圖 13 中可看出,如此一來在找尋和弦時也一起把分段方式給找出來,相較於以 往和弦找尋演算法分段方式並無明確說明,這個方式我們認為這是很好的方法,因此在 本論文分析系統當中使用這個演算法。
- 20 -
圖 13 最佳路徑尋找範例