第二章、 相關研究
2.3 電腦自動作曲演算法
演算法作曲(Algorithmic Composition),或稱自動作曲(Automated composition)指利 用數學或邏輯方式產生音樂,使人在利用電腦進行音樂創作時介入程度最小的研究 [30]。
最早在西元 11 世紀的時候,Guido d’Arezzo 的傳教士為了宗教目的,將 8 世紀的 一首聖約翰讚美詩 (Hymn to St. John)的每行詞句第一音節作為音階的唱名以對應音名,
以便記錄音高的模型[31]。此時便有了樂譜及記錄音樂的記號,開啟了人類研究音樂的 先驅。20 世紀初期,自動作曲方式開始進入發展階段,Arnold Schoenberg 引入了 12 音 列概念[32],然後由 Anton Webern 與其後繼者進一步的發展。在此階段技術中,音樂 被特徵化,提取出如音高、音長、音色等參數並加以發展控制,都對現今的電腦演算作 曲造成了影響。
早期的自動作曲程式為由使用者輸入相關參數,即由電腦程式自動產生、修改、選 擇三個程序以產生樂譜。1979 年的時候,Hiller 及 Isaacson 將部分十六世紀的對位法及 現代的十二音列法理論輸入電腦中,並將不和諧的方式排除,從各種可能中任意排列組 合,最後完成 Illiac 的組曲[33]。直到後期,在 1996 年開始 Cope 則開始使用自動化分 析技術來重組給定的資料庫中的音樂片段,產生新的音樂,以及利用自動分析方法來模 擬風格創作,並使用人工智慧演算法來加強音樂演算法[34, 35]。
電腦自動作曲方法可依據是否需要現有音樂來分析,將方法分為「內顯規則法」與
「外顯規則法」兩種[36]。內顯規則法係參照樂理規則或是使用者提供的參數,由程式 來產生樂譜的過程。外顯規則法為使用者提供音樂歌曲,程式利用機器學習技術分析其 特徵並產生規則,並透過其結果完成作曲。內顯式與外顯式作曲法兩者最大差別在於有
無訓練資料。除了上述的二分法之外,Papadopoulos 及 Wiggins 在 1999 年所發表的論文 將過去自動化產生音樂之方式進行分類,將電腦自動作曲方式分成六大類,分別為數學 模型(Mathematical models)、知識庫系統(Knowledge based system)、語法(Grammars)、演 化法(Evolutionary methods)、學習系統(System which learns)、混合系統(Hybrid System) 等六種[1],其說明如下列段落。
「 數學 模型 」 法 包 含 使 用 隨 機 過 程 (Stochastic Process)[37] 、馬 可 夫鏈(Markov Chain)[38, 39]或是其他計算性模型模擬音樂創作過程。2001 年時 Miranda 於[40]提出,
可以利用機率分佈與迭代演算法來產生音符,完成公式化音樂。隨機過程指所有隨機變 數(Random Variable)所形成之集合,定義 T 為一個非負整數之集合,並在一個有下標之 隨機變數的集合{𝑥𝑥𝑡𝑡},其中 t 在給定之集合 T 之內演進,𝑥𝑥𝑡𝑡代表在時間 t 時一種能夠衡量 的特性。若在時間 t+1 時之狀態與 t 時狀態相關,並與過去時間 t-1, ... , 0 狀態無關,則 稱為此隨機過程為馬可夫練。Schulze 等人於 2011 年透過讀取 MusicXML 檔案,移除拍 號轉變並將音樂轉調(Transpose)為 C 大調後,透過分析以取得每個音符之間的狀態改變 (音高及音長),最後計算出和弦進行(Chord Progression)、旋律線條(Melodic Curve)、終 止式(Cadence)之混合階層馬可夫模型(Mixed-order Markov Model),依據其模型即可產生 出新的音樂創作[39]。作者將同樣風格的人工創作與透過馬可夫模型而產生的電腦創作 透過問卷調查,大部分受測者仍較偏好人工創作,但有 72%受測者無法正確區分人工創 作與電腦創作。優點為時間複雜度低,可達到即時運算效能。
「知識庫系統」是將知識規則存成資料庫後,即可經由這些知識資料庫中導出某些 知識,並可作為「推論」、「診斷」、「預測」、「控制」之用,綜合推理機制提供專業的自 動化服務。將上述方式推廣至自動音樂創作上,即為將特定風格的音樂模型化並建立一 套規則,依循其規則即可產生出對應風格的音樂。Ebcioğlu 於 1988 年建立的系統,包 含約 350 條第一層敘述邏輯型式(First-order predicate calculus)的規則,其規則表示著許 多不同的音樂觀點,例如和弦骨架(Chord skeleton)、每一個聲部的旋律線(Melodic lines)、
高音與低音之間的宣克單一聲部水平移動(Schenkerian voice leading within descant and bass),以建立四聲部的巴哈風格的音樂,優點為能夠明確解釋某項規則之合理性[41]。
「語法」法則是將音樂視為一種語言,對音樂的結構組成視為有如語言般的規則來 分析與創作。Steedman 首先在 1984 年提出了用在藍調 12 小節之和弦級數的生成語法[42]。
1996 年的時候,Steedman 亦提出「語法音樂的想法,可能跟語法本身的想法一樣古老」, 並指出音樂形式文法的研究上已落後於描述性的充分性、心理的合理性、計算的實用性,
特別是合聲的分析[43],且透過 categorical grammars[44]改善,能夠在和弦進程上更進一 步的模擬人類心理聽覺,達到更好的效果。另一方面,1992 年時 Cope 則是透過了解不 同的音樂風格並利用語法方式複製各作曲家的作品風格[45]。
「演化計算」法則為根據生物演化觀念與模擬自然界演化過程所建構成的一種計算 模式,演化式策略(evolution strategy)、演化式規劃(evolutionary programming)、基因演算 法(genetic algorithms)等等均屬於演化計算範疇。最主要的概念為,在遺傳的過程當中,
子代可能會繼承親代的各種特性,但亦可能發生變異而產生與親代不相同的新物種。在 這三種方法當中,基因演算法是在各領域中應用最廣泛的。Wiggins 等人於 1998 年透過 基因演算法針對使用者所指定旋律產生對應的四部調性主音和聲(four-part homophonic tonal harmony) [46]。作者認為若以審美角度檢視產出結果,缺乏明確的計畫及意象,在 結構上無法做到像人類手法般的複雜與微妙。最主要的原因有二點,首先是基因演算法 是一種隨機、啟發式的方法,無法保證能夠找到解。第二點為作曲家已發展了許多複雜 與微妙解決音樂作曲問題的手法,其手段無法被基因演算法以同樣方式利用。因此,人 類在審美角度上能夠接受的音樂,未必能夠透過基因演算法產生出來。
「學習系統」指系統無預先定義規則與限制,而是透過機器學習的方式(例如類神 經網路、模糊系統等),透過自動分析資料以求得規律,再用來對未知的資料進行預測。
Todd 於 1989 年提出類神經網路方法透過跳選特定旋律來訓練模型,產生出新的單聲部 旋律[47]。除了透過類神經網路學系之外,亦透過使用類似規則的一般化能力,產生出 新的旋律且類似於一開始被選擇用來訓練模型之旋律,此方式能夠用來建立出各種不同 的音樂特徵,但是結果可能會出現受到同一組音符不斷重複的現象。Mozer 於 1991 年 則受到[47]的啟發,採用新式的方法(novel method)來描述音高與音長,並使用連結論 (connectionist approach)來產生單聲部旋律,加強改善為一個更完善的系統[48]。
最後一個「混合系統」指混合以上兩個以上的方法學習及建構音樂,通常較單一方 法的系統複雜,但可取得較複雜的音樂結果,Gibson 等人於 1991 年混合了基因演算法 與類神經網路兩種方式來產生音樂[49]。