• 沒有找到結果。

第二章 相關研究

3.3 動機偵測

我們將介紹兩種從粗略分段的結果中探勘動機的方法。第一種方法,根據 Stein[41]提 出作曲者常用的六種動機處理變化特性。我們利用這些特性修改傳統探勘重複序列的方法 來探勘動機。第二種方法,利用Local boundary detection model 的方法,對音樂中所有連續 的音符,以數種音樂的特徵值計算出Boundary strength value,代表兩個音之間落差的大小。

根據計算的結果,選擇Boundary strength value 高的地方當作分段點。利用這些分段點,將 音符群組成許多小段。然後,以群組的小段為單位,找出可能的序列當作動機。

根據Stein[41]提出常用的六種動機處理變化特性,分別敘述如下。

1. Exact repeating:是動機常見的變化,如圖 3.10 所示。利用反覆的處理,作曲者可以讓 聽眾加深對主題動機的記憶。

2. Pitch interval repeating:Pitch interval 是指兩個連續音符的音高差。Pitch interval repeating 在音樂的意義是 Transposition。圖 3.11 為 Pitch interval 重複的範例,純粹看音高時,

方框所標示的地方不算重複出現。但是,我們以Pitch interval 來看,我們就可以知道方 框標示的地方是一個重複樣式。

3. Sequence(模進):模進是連續三個以上的動機 Transposition,而且每個 Transposition 不 相同,但是必須是相同的升降方向。圖 3.12 為 Sequence 變化的例子,第一個小節內是 原始的動機,接著連續兩個Transposition 變化。

4. Contrary motion(反相):反相動機處理為保持動機的節奏,但是將旋律反相進行。旋律 的反相進行指的是,將動機Pitch interval 的值,全部取負號。如圖 3.13 所示,第一小 節動機的Interval 為<1, 1, 1, -2, 1, -2>,第二小節的反相變化後的 Tonal interval 為<-1, -1, -1, 2, -1, 2>。

圖 3.10:Exact repeating patterns 的範例。

圖 3.11:Interval repeating patterns 的範例。

Pitches:|67 64 64|65 62 62|60 62 64 65|67 67 67| ……|

Pitch Interval:|-3 0 1|-3 0 -2|2 2 1|2 0 0|…..|

圖 3.14:Retrograde 變化的範例。

5. Retrograde(逆行):逆行的動機處理是維持原始節奏,將音高倒過來排列。如圖 3.14 所 示,第一小節為原始動機,第二小節為逆行的動機變化。整個動機的節奏並沒有改變,

音高由原來的<65, 65, 67, 71, 72, 72>變為<72, 72, 71, 67, 65, 65>。

6. Augmentation or Diminution:作曲者在使用增值或減值的動機處理時,會保留原始的旋 律,將動機的節奏依比例加快或減慢,也就是延長或縮短動機所有音符的音長。如圖

3.15 所示,第一小節為原始動機,第二、三小節為增值的動機,第四小節為減值的動 機。

接下來,我們先介紹第一種探勘動機的方法以下我們對探勘動機方法修改的部份做介 紹。首先,我們先定義表示音樂特徵資料的符號。

圖 3.12:Sequence 變化的範例。

圖 3.13:Contrary Motion 變化的範例。

圖 3.15:Augmentation 與 Diminution 變化的範例。

Augmentation Diminution

M:代表一段單聲部的動機,記錄有 k 個音符,k ≥ 1,| M | = k;每一個音符記錄一組

matrix,然後利用 Correlative matrix 探勘經常重複序列。Correlative matrix 建立的演算法如 圖 3.16 所示。在第 3.2.1 節,我們利用 Correlative matrix 的方法找出音樂中 Maximal 的重 複序列。所以,我們只考慮Correlative matrix 中,Di,j > 0 且 Di+1,j+1 = 0 的情形。但是,在探 勘動機的部分,我們必須對於四種情形全部考慮。

Pitch Interval Repeating

我們直接將音樂轉換成Pitch interval 的表示方法,探勘出 Interval repeating patterns。給 Algorithm Construct Correlative Matrix for Exact repeating

Input: Melody S

Output: Correlative Matrix D 1. Initialize D

圖 3.16:Exact repeating 動機變化的 Correlative matrix 演算法。

定一個 M 的 Mint=<(p1, d1), (p2, d2),…, (pk-1, dk-1)>,利用反覆的規則,可以產生 Mint

’=<(int

1

’,d

1

’),

(int2

’,d

2

’),…, (int

k-1

’,d

k-1

’)>,且 int

i=inti’,di=di’,0 < i ≤ k。我們將主旋律產生出來的 Pitch interval 序列,同樣以 Correlative matrix 的方法探勘。我們直接將 Pitch interval 序列使用圖 3.16 的演算法建立 Correlative matrix。

根據Zinn[50]指出,Transposition 又分為 Real transposition 與 Tonal transposition 兩種。

這兩個差異主要源自於Musical scale 中有 Naturally occurring half steps 所帶來的影響。Real transposition 不需要考慮 Naturally occurring half steps 的影響,只要保持原來的音程差,而 Tonal transposition 必須調整音程差,使其符合 Musical scale 中,Naturally occurring half steps。因此,我們在轉換原始音樂為 Interval 時,分別轉換成 Real interval 與 Tonal interval。

圖 3.17 為兩種 Transposition 的範例,以 MIDI 所記錄的音高來看,第一小節動機的音 高序列為<64, 65, 64, 62, 67>;Pitch interval 的序列為<1, -1, -2, 5>。第二小節 Real transposition 的音高序列為<62, 63, 62, 60, 65>;Pitch interval 的序列為<1, -1, -2, 5>。第三小 節Tonal transposition 的音高序列為<62, 64, 62, 60, 65>;Pitch interval 的序列為<2, -2, -2, 5>。

Tonal interval 會受到音樂的 Musical scale 所影響。在音樂中,以 Key signature 標記一 個Musical scale 的起始音。Key Signature 以 Music alphabet 來記錄,如所示。一般我們最常 見到的音樂Key Signature 為 “C”,如圖 3.18 中的 Diatonic Scale 就是以“C” (do)這個音為起 始。Key Signature 為“C”的音程為:全音(whole step)、全音、半音(half step)、全音、全音、

全音、半音。如果,Key Signature 為“G”(sol),音程為全音、全音、半音、全音、全音、半 音、全音。所以我們會針對不同的Musical scale 計算主旋律的 Tonal interval。

圖 3.17:兩種 Transposition 的範例。

Real Transposition Tonal Transposition Original Motive

Sequence

Sequence 與 前 一 節 提 到 的 Transposition 一 樣 會 有 Real transposition 與 Tonal Transposition 的情形。給定一個動機 M 的 Mint=<(int1, d1),(int2, d2),…,(intk-1, dk-1)>,利用 Sequence 的動機變化規則產生 M1, M2,…,ML連續的Ascending 或 descending 序列,L ≥ 2。

對於所有1 ≤ l ≤ L,Mlint=<(intl1, dl1),(intl2, dl2),…,(intlk-1, dlk-1)>,且 inti = intli, di =dli1 ≤ i < k。

建立Correlative matrix 的方法同於 Pitch interval repeating。

1,60 -1,30 -1,30 3,60 -3,60 1,60 -1,30 -1,30 3,60 -3,60 1,60 -1,30 -1,30 3,60 1,60 − 1 1

圖 3.19:針對 Sequence 變化所建立的 Correlative matrix。

圖 3.12 整首音樂如果以 Tonal interval 的表示法,60 ticks 為 1 拍,30 ticks 為半拍,可

以表示為< (1, 60), (-1, 30), (-1, 30), (3, 60), (-3,60), (1, 60), (-1, 30), (-1, 30), (3, 60), (-3, 60), (1, 夠找出Contrary Motion 的 Repeating patterns,我們修改 Correlative Matrix 建立的方法。由 於Correlative Matrix 是記錄序列資料有重複的部份,所以我們利用原始序列與反相處理過 的序列來建立Correlative Matrix,如圖 3.20 所示。

圖 3.13 前二十個音符的 Tonal interval 序列,以 60 ticks 為一拍,可以表示成<(-4, 15), (1, 15), (1, 15), (1, 15), (-2, 15), (1, 15), (-2, 15), (4, 15), (3, 30), (-1, 30), (1, 30), (-2, 30), (3, 15), (-1, 15), (-1, 15), (-1, 15), (2, 15), (-1, 15), (2, 15)>與反相處理的序列<(4, 15), (-1, 15), (-1, 15), (-1,

Algorithm Construct Correlative Matrix for Contrary motion Input: Melody S

Output: Correlative Matrix D 1. Initialize D

圖 3.20:Contrary motion 動機變化的 Correlative matrix 演算法。

15), (2, 15), (-1, 15), (2, 15), (-4, 15), (-3, 30), (1, 30), (-1, 30), (2, 30), (-3, 15), (1, 15), (1, 15), (1, 15), (-2, 15), (1, 15), (-2, 15)>。圖 3.21 為利用前述兩個序列所建立的 Correlative Matrix,我 們同樣可以利用這個Correlative Matrix 找出反相序列的樣式。

-4,15 1,15 1,15 1,15 -2,15 1,15 -2,15 4,15 3,30 -1,30 1,30 -2,30 3,15 -1,15 -1,15 -1,15 2,15 -1,15 2,15

圖 3.21:針對 Contrary motion 變化所建立的 Correlative matrix。

Retrograde

給定一個 M=<(p1, d1),(p2, d2),…,(pk, dk)>,利用逆行的規則,可以產生 M’=<(p1

’, d

1

’),(p

2

’, d

2

’),…,(p

k

’, d

k

’)>,且 p

i=pk-i+1’,di=di’,0< i ≤ k。同樣的,我們修改 Correlative matrix 的建 立方法,來探勘出逆行的動機變化,如圖 3.22 演算法所示。

Algorithm Construct Correlative Matrix for Retrograde Input: Melody S

Output: Correlative Matrix D 1. Initialize D

圖 3.22:Retrograde 動機變化的 Correlative matrix 演算法。

65,60 65,30 67,90 71,90 72,30 72,120 72,60 72,30 71,90 67,90 65,30 65,120

圖 3.23:針對 Retrograde 變化所建立的 Correlative martrix。

我們以相反的方向來計算Correlative matrix,如圖 3.23,以 60 ticks 為一拍。原來建立 Correlative Matrix 時,Di,j會參考Di-1,j-1的值做累加,在處理Retrograde 時,每個 Di,j需要參

考Di+1,j+1來做累加。利用建立出來的Correlative matrix 可以探勘出 Retrograde 的動機變化。

在原本方法中,Di,j有四個不同情形的處理。在這裡我們修改原本建立Correlative matrix 的 方法後,原本的Di,j條件必須做改變。所以,我們將第一種情形的條件改為Di,j = 1 且 Di-1,j+1

64,60 65,30 64,30 62,60 67,60 64,120 65,60 64,60 62,120 67,120 64,30 65,15 64,15 62,30 67,30

64,60 - 1 1 1 1 1

65,30 - 2 2

64,30 - 1 3 1 3

62.60 - 4 4

67,60 - 5 5

64,120 - 1 6 1

65,60 - 7 64,60 - 1 8 62,120 - 9 67,120 - 10

64,30 - 1 65,15 - 64,15 - 62,30 - 67,30 -

圖 3.24:針對 Augmentation 或 Diminution 變化所建立的 Correlative martrix。

Integration of Motives

我們分別利用上述六種方法探勘出動機後,必須將所有的結果整合使用。我們將序列 表示方法,轉換回原始序列以音高與音長表示的資料。接著,從所有動機的序列中,找出 Maximal 的重複序列。最後保留下來的重複序列,我們分別記錄各個動機以不同動機變化 出現的次數,以及紀錄一個序列總音長。

此外,我們會將一種由兩個不同音高的音符,快速的交替彈奏的序列刪除,如圖 3.25 所示。這種序列在音樂中,通常是扮演裝飾的角色,與主題無關。

相關文件