第二章 相關研究工作
第五節 擷取多聲部音樂之主旋律
在許多古典音樂中會利用和聲(Harmony)、對位(Counterpoint)等 創作或演奏方式來增加聲音的豐富性,也就是說會有多個音符在同一時間 內響起,調和後的音樂旋律將更能表現出聲音重疊的立體感。大部分的 MIDI 檔中包含了多個聲部(Part),每一個聲部都代表一個樂器演奏的樂 譜,有些樂器表演包含音高變化的聲部(如管絃樂器),有些樂器只單純負 責敲擊節拍的部分(如打擊樂器),當多個聲部同時演奏時能產生樂團般演 奏的效果,雖然有多個樂器在一起演奏,但是作曲家還是會將整首音樂要 強調的主旋律藉由和絃或對位旋律烘托出來。根據一些音樂心理學的研究
[19]發現,聽眾感覺到的主旋律不會一直集中在固定聲部,而是會在不 同聲部間切換,而聽覺越是敏銳的聽眾其在聲部之間切換的頻率越是頻 繁。若是依作曲家組織的方式去獨立分析每個聲部,則使用者若利用自己 感覺到的旋律去檢索,將很難把目標音樂檢索出來,所以擷取重複片段時 其旋律必須模擬人們是如何感覺到的才有意義,因為即使在和絃旋律上有 大量重複片段,但聽眾在欣賞音樂時可能忽略的部分不容易拿來當做檢索 條件,所以在分析重複片段前,要先決定音樂之主旋律,要決定音樂之主 旋律,則須先探討聽眾注意力在不同聲部間切換是否有固定之規則。
Uitdenbogerd 等人[11]爲了解決這個問題,設計了四種演算法:
1 在多聲部音樂裡,將每一個獨立聲部上所有音符集中於單一聲部中表
示,演算法擷取在同一時間要一起發聲之音符當中(在樂譜上以合聲音 聲部的主旋律都決定後再計算各主旋律的平均音高(Pitch Average),將 平均音高最高的聲部之主旋律視為整首樂曲之主旋律。演算法二產生之 主旋律只在同一聲部內移行,不會在不同聲部中切換。
3 類似演算法二,每個聲部分別獨立處理,利用演算法一將各聲部中在同 一時間要一起發聲之音符,擷取音高最高的音符當作構成該聲部之主旋 律的音符,每個聲部的主旋律都決定後再計算各主旋律的熵資訊含量
(First-Order Predictive Entropy),若構成該主旋律之音符組合為S1,S2, S3,・・,Sm,而Si/S表示該音符在整段主旋律中出現之機率,則該主旋
Uitdenbogerd 等人的研究實際利用了上面四種演算法,應用在 10 首不同樂 風的 MIDI 歌曲上,分別擷取每一首的主旋律,並由 8 位使用者感覺哪一 種演算法所擷取出之主旋律較符合他們心中的樂曲主旋律。實驗結果發 現,雖然沒有一種方法可以在每一種不同類型音樂中,均能正確地決定出 主旋律,但是演算法一在不同樂風的歌曲上的平均表現最佳,所以直接把 各聲部同時響起時最高音之音符當作構成主旋律的音符,是最簡單且最有 效率的方式。