當前位置:
首頁 > 知識 > 演算法作曲的前世今生:從聖歌到人類認知

演算法作曲的前世今生:從聖歌到人類認知

上一篇《當演算法已經可以創作音樂劇時,人類如何與它和睦相處?》,我們提到了演算法如何作曲,和人類又如何協作。今天,我們一起來看看演算法作曲的過去。追本溯源一下,早期的演算法作曲如何實現,有何特點?1. 數與音樂

音樂發展至今,所有的創新和突破都在竭盡所能地突破人類極限,歷代西方作曲大師無不在偉大作品中留下探索音樂與新技術融合之道的時代印記。是時候回到過去,看看我們的先輩在演算法與音樂上具體都做了什麼,才好知道自己的起點和方向在哪,也才好面對這個令人不安的未來,張開懷抱。

在悠悠歷史的長河中,近千百年來,有很多著名的科學家諸如畢達哥拉斯、翰尼斯·開普勒 、伽利略 、萊昂哈德·歐拉 、讓·巴普蒂斯·約瑟夫·傅立葉、哈代等人都曾研究過音樂與數學之間的關係,這一直是一個很熱門的課題。數學,其英是「mathematics」,這個英文單詞是一個複數名詞。在古代歐洲,數學曾經是由四門學科組成的:算術、幾何、天文學和音樂。音樂雖然在表象上是流動音響的時間藝術,然而,從其基礎理論設計與數學邏輯同構並進行符號化組織的角度來看,似乎沒有任何一門藝術,天生能比音樂擁有更強的可計算性,1973 年分形理論的提出,更讓人們明白了這一點。另外,作為有趣的佐證,神童常見於數學、音樂、象棋這樣的領域,也許正是因為他們主要依靠對封閉的抽象邏輯世界的超常的領悟,而不是一般世界的經驗。個體的技術成熟與生活經驗之間並無太大關係,而文學、生物等其他領域的大師則需要相對更長的成長周期。

2. 廣義演算法:音樂的數理邏輯

所謂演算法,源自古代波斯人對阿拉伯數字遊戲的稱謂,意思是阿拉伯數字的運演算法則。對音樂創作而言,廣義的演算法指音樂要素及組織邏輯、運演算法則、結構模型或規則系統,以及將演算法思維與作曲思維中最小的決策單位對應後所形成的作曲技法模型與系列,也就是音樂的數理邏輯。這種對應關係一言以蔽之:凡作曲即有演算法。如旋律的動機展開、重複、模進、轉調、逆行、倒影、隨機、模糊、音程或節奏壓擴,和聲與對位中的音高縱橫向排列組合、不諧和度、緊張度解決,配器中的音色組合,曲式中的並行、對置、對稱、迴旋、奏鳴等等原則都屬於常規的作曲技法,都可以被描述為單一或組合的演算法。

3. 使用演算法的傳統音樂創作

15 世紀的時候,在具有均勻節奏的聖歌中,演算法系統就開始使用節奏模式作曲。隨後在文藝復興時期以及巴洛克時代,作曲技法不斷的完善,作曲家為旋律的對位發展了嚴格的規則。例如:復調音樂的創作幾乎完全可以通過使用諸如倒影、主題加花或簡化等這樣系統化的過程來發展某一給定的主題動機(一個音樂小片段),賦格曲就好像音樂中的純邏輯,可以說最精鍊地表述了符號編碼的一般秩序。在古典時期,莫扎特(一說為海頓)在創作「Musical Dice Game」的時候,就是運用了隨機方式來組合模塊作曲。在這部作品中,他創作了 176 小節音樂,然後將小節號排列為兩個特殊的矩陣圖,通過演奏家擲般子的方式來決定演奏的順序。這似乎表明,將演算法應用於音樂的願望可能和音樂本身一樣古老。

音樂創作的形式化技術在 20 世紀再一次獲得發展,勛伯格在 20 世紀初引入了十二音技術,而後由韋伯恩和繼承者們對此作了進一步的發展。在 20 世紀 50 年代初的時候,演算法作曲家澤納基斯(Iannis Xenakis)就利用隨機過程(不用計算機)生成音樂片段。在 50 年代至 70 年代這個時期,由於受到當時計算工具(計算器)的限制,僅可運算簡單的加/減法。當時的演算法作曲多屬於觀念實驗性質,這些演算法音樂作品以數理邏輯作為作品結構基礎而甚少訴諸於聽覺,需要具有一定的數學邏輯思維的人才能創作。

4. 當代演算法作曲——自動作曲技術歷史溯源

狹義上的演算法作曲,可以簡單地形容為計算機自動作曲系統,在人適當的介入下,計算機就能自動生成音樂(所謂「適當」指的是,與傳統創作中作曲家對所創作的音樂作品中的變數擁有主導控制權不同,在自動作曲系統中,人只是規則設定者與反饋調試者)。在這裡,我主要陳述自動作曲技術的發展節點,而不涉及西方電子音樂歷史的兩次浪潮。

4.1

1957 年,由列哈倫·希勒(Lejaren Hiller)和里奧納德·艾撒克遜(Leonard Isaacson)出版的弦樂四重奏 Illiac 組曲成為史上最先完全由計算機生成的音樂作品。他們基於產生——測試的方法創作,首先使用 Markov 鏈模型來產生有限控制的隨機音符,之後利用和聲與復調的規則測試這些音符,最後選擇符合規則的材料,修改、組合成傳統音樂記譜的弦樂四重奏。

1960 年,俄羅斯研究者 R.Kh.Zaripov 發行了全世界第一篇關於用「Ural-1」計算機進行演算法音樂作曲的論文。

1965年,發明家 Ray Kurzweil 首次公演了一首用計算機來創作的鋼琴作品,這台計算機能夠對各種不同的樂曲進行模式識別,並且可以分析和使用這些模式去創造新的旋律。

1974 年第一次國際計算機音樂會議召開(ICMC)……

隨著計算機相關技術的發展和普及,越來越多的人關注到這個科技與藝術奇妙結合的領域,於是在那個新生流派爭奇鬥豔的先鋒實驗年代,各式各樣的作曲演算法湧現出來。然而直到美國作曲家大衛·科普(David Cope) 開發的「音樂智能實驗」系統( Experiments in Musical Intelligence,簡稱 EMI,1981 年開始研究) 1987 年在國際計算機音樂年會上第一次公開展示初期成果那時起,計算機音樂與傳統音樂之間的橋樑才逐漸架設起來。

4.2

EMI(採用 Lisp 語言)能夠以極高的效率和相當的效果模仿上百位作曲家的風格(需要強調的是,能被系統模仿的要素主要集中在旋律、和聲、樂曲結構和部分簡單的樂器組合規律上),諸如類似巴赫的眾讚歌,類似莫扎特的奏鳴曲以及類似肖邦的夜曲等。其中最深層次的原理被 Cope 稱作「重組 (recombinant)」,當然,簡單地把音樂成分拆解並隨機重組是註定失敗的。有效的重組必須以大量的音樂分析為基礎,獲得清晰的風格定義,再小心翼翼地選取不損傷音樂性的最基本的風格標籤元素(一般以多個音高形成的旋律單元或和弦進行為單位)為單位進行重組,依此產?一份「同樣風格下的」新作品。比如,Cope 選擇莫扎特奏鳴曲風格的一系列原作輸入給 EMI 系統作為分析的「資料庫」,EMI 通過程序分析、解構這些作品,識別作曲家的創作特徵,提煉為音樂風格的「DNA」,作為創作的依據,最終生成多個莫扎特風格的新作品樂譜,再由 Cope 甄選、修改。

Cope 在這項實驗上延續的改進工作長達三十年。二十世紀九十年代,Cope 不再滿足只生成仿作的系統,而力圖讓計算機程序創造出屬於它自己的音樂風格,同時也用這種方式回應那些被他的成果所激怒和心生恐懼的人們「侯世達(Hofstadter)曾著文《如聆巴赫》表達過對此的感受」。於是,建立在 EMI 分析資料庫基礎上的 EMILY HOWELL 系統誕生了。這套系統完善了人機交互反饋環節,使得無論是自然語言指令還是輸入音符修改方案,都能有效改善 EMILY 的演算法,使其的進化更符合作者和聽眾的預期。這個系統的源碼是以專著形式公開的,並且,據傳 EMILY 已經接受商業訂單了。

5. 當代演算法作曲——自動作曲技術及主流軟體

目前在自動作曲中公認的有影響的技術主要有馬爾科夫鏈、隨機過程、基於規則的知識庫系統、音樂語法、人工神經網路、遺傳演算法,其他出現的技術有分層結構、細胞自動機理論、基於經驗的作曲、回答集編程、可能性構造空間思維模型、概率邏輯、三元腦模型等等。這些技術在當時基本上都緊密地跟進了計算機技術的發展潮流。

近半個世紀以來,基於上述技術開發的軟體平台數不勝數,這裡是一些常見的主流軟體:

音響合成的有 Csound,以及在此基礎上的擴展軟體有 Orchestration、Ceeilia 等;

利用圖形、文本等其它媒體數據生成音樂的軟體有 Music Generater;

通過搭建各種小的演算法物件而生成音樂的軟體 Max/MSp、Infinity、Algorithmic Composer 等;

利用頻譜學派技術來創作音樂的軟體 Open Music;

可以生成為帕拉斯特里拉風格的嚴格對位音樂的 williamShottstaedt 的自動對位程序等;

基於規則與音樂文法,可續寫、仿寫傳統作曲家風格的 EMI/ EMILY HOWELL 系統、Longuet-Higgin 系列全音程和聲 Jazz 作曲系統;

還有集多種演算法作曲技法為一體的技術混合型系統的開發方向,如 HARMONET+MELONET 混合系統、國內自主開發的 Sound in a System 等等;

在後續的發展中,這幾類軟體的功能又有相互滲透的趨勢,並且人機交互功能也不斷成熟。不過,這些依託不同理論和邏輯層次解決特定問題的程序設計思路,具有階段性的現實意義,所以它們仍然具有各自的不可替代性。這裡簡要討論一下。

5.1

基於隨機過程、概率邏輯的有限控制方法,尤其是使用馬爾科夫鏈結合一定約束規則,在統計的基礎上對音樂的未來走向進行概率預測與風格邊界限制(音樂旋律的很多風格特性都與所採用的音階、節奏有關,限制了可使用的音的範圍、出現概率與節奏組合形態,也在一定程度上劃定了風格的邊界)。因它們建模簡單,可以即時產生新音樂,所以一直被廣泛用於商業程序上,也大量出現在互動音樂藝術家諸如Jefrrey Stolet、Francois Pachet(上文提及的flowmachine 開發者)等的作品和即興演出中。

5.2

同樣基於隨機過程的有限控制,遺傳演算法、細胞自動機理論、分層結構(借鑒混沌/分形理論)等技術,在我看來,都是在不同層面上尋找最優解、擬合(遺傳演算法在已經建模的情況下對問題進行優化求解,以啟發式搜索為主,不一定能找到最優解,而它的優化目標也無法對抗音樂藝術本身的複雜性)。這些技術的特性更適合於以檢驗作品而不是以生成作品的形式加入到作曲系統之中使用。

具體地說,這些技術背後的理論都從機制的層面去研讀客觀世界,能夠很好地解釋現象、提取共性模式與法則,然而客觀世界是超越還原論的複雜系統,單純根據這些理論模型無法還原現象(同樣的情況存在於音樂自身領域的理論建設中)。

更進一步地說,根據這些理論設計的幾種技術,就目前而言,並不能有效反映實際音樂作品中構成元素在時空維度上的秩序感與複雜關係,並且,從實用的角度考慮,以往實踐所選擇的演算法與音樂元素之間的映射關係也有待商榷。

需要指出的是,應用這些技術時,通過人機交互不斷提供反饋及修改規則,可以在一定程度上提升所生成作品的質量,雖然仍不夠理想。有研究者認為,這是因為現有演算法與作曲家的思維模式相異而導致的,而我覺得,我們其實無需畫地為牢,囿於人類作曲的思維模式,我們需要的是把握最終生成的音響,令其符合人的音樂聽覺認知/神經/心理/生理基礎即可,畢竟人類對音樂作品中佔據顯著位置的音高和節奏模式(前景)寬容度有限。從使用方式上著手,對這些作曲系統另闢蹊徑,倒是可以柳暗花明。

5.3

基於經驗的作曲、基於規則的知識庫系統、音樂語法、可能性構造空間思維模型等技術,重在從模式和法則層面分析音樂創作思維、音樂作品,基本屬於模仿性質的技術。這些技術或通過輸入已有作品,或純粹基於設定的規則來生成作品。基於規則的做法需要對音樂如何產生、音符句法張力如何運作、旋律單元如何組合成樂句和段落有極其深入的理解,顯然,沒有一套規則可以簡單地詮釋音樂,所以基於已有作品分析基礎上的規則控制技術較為成功(比如 EMI 系統),且這種技術也最實用,商業應用最廣泛(這些技術的興起與當時人工智慧研究焦點的轉移有關,純粹底層科研逐漸變成了軟體工程的分支領域,受到實際應用的驅動)。

5.4

屬於人工智慧研究範疇的機器學習技術(包含自動推理、早期幾種人工神經網路演算法等),核心是回歸和數據擬合。或許不少人會記得機器學習的第一個成功案例:IBM 啟動的「老實人」(Candide)自動翻譯項目。「老實人」把「理解一個複雜過程」這個問題轉換為「從大規模這一過程運作的實例中構建淺層規律模型,並依此對未知數據進行預測」。這些系統得到的有效數據與反饋越多,翻譯任務完成得越好,但是因為不涉及價值和策略判斷,也缺乏更深層次的信息特徵識別,這類系統在隨數據量而改善達到一定程度時,邊際效益遞減也很明顯。使用機器學習技術的自動作曲系統目前屬於這個領域的最前沿,上文中提及的 flowmachine 就屬此類(尚未知曉其具體演算法構成)。

事實上,自動作曲系統所服務的領域並不狹隘,但是由於其交互界面簡陋,對功能的調用又大多要求編程基礎和音樂理論修養,其服務的人群一直以研究型機構、專業作曲家、新媒體互動藝術家群體為主。同時,這些技術側重於研究意義,作品面向的對象往往不夠明確,這種應用上的不迫切,某種程度上也阻礙了這些技術的進步。近年來,隨著開放科學的興起,許多基於機器學習、神經網路的開源項目浮出水面,整個領域開始進入快速發展。

6 演算法作曲的消費級應用——計算機輔助作曲系統

我感興趣的,是演算法作曲技術的實用性道路,最終,無論在台式電腦、專業的一體式硬體,還是在平板、手機上,你都可以輕鬆使用,這些工具為創作和教育帶來了無比的便利。因為無法窮舉,也沒有蓋棺定論的必要,所以下面只簡要提及一些台式電腦的主流軟體。

台式電腦音樂製作

宿主軟體:主要有 cubase、nuendo、sonar、logic、FL studio、Pro Tools。當前發展的趨勢是 all in one,功能涵蓋面廣,通過包括虛擬樂器插件、合成器、採樣器、各種演算法外部插件,可獲得極大的性能擴展。這些專業軟體整合了大量專家的工作習慣,使用者在熟悉其高階操作方式後,工作效率將獲得很大提升。

制譜軟體:Finale、Siblius。除了制譜的主要功能之外,也可以通過各種插件獲得性能擴展,其內置功能包括了許多自動作曲演算法如自動配器、根據音樂動機自動構思等等。

自動伴奏軟體:band in a box。流行音樂基本上是模塊化、確定性中帶少量偶發隨機信息的思維,樂器組合、節奏、phrase(習語)、voicing(和弦構成)、licks(標籤性質旋律片段)、riff(連續反覆的旋律性伴奏型)等元素被作為模板確定下來之後,整個風格就基本可以被確立。這個軟體最大的優勢就在於風格模板庫全面,無論作為研讀風格的最小模型,還是用於試驗風格重組以形成新風格,都相當便利。特別是對於帶有即興成分的爵士類音樂,band in a box 還提供將 solo(獨奏)樂器的 licks 自動重組銜接的演算法,對於當代教學與探索有一定意義。

——- 預約深度學習基礎班 -——

掌握深度學習原理

搭建神經網路模型

熟悉自然語言處理

開發智能個人助理

戳原文,馬上預約下期!


點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 開智微播 的精彩文章:

如何構建屬於自己的知識世界?請向大自然學習
讓提出「黑洞」概念的物理學家都讚嘆不已的知識是什麼?
魏坤琳:科學家是奇葩
行動科學創始人:為何連最聰明的人也會逃避學習?

TAG:開智微播 |

您可能感興趣

討論:《人生演算法》
區塊鏈與互聯網的前世今生,未來是演算法至上的時代
演算法下的藝術——人類最後的尊嚴?
演算法是人類行為的基礎
持續寫作之人生演算法
「轉載」演算法的個人認知分享
如何迭代你的人生演算法?(三)——道
演算法懂世界,但是不懂人心
觸景無限肖洪波:9年創業,從演算法到晶元,只為前端感知
《從想法到演算法》
人生演算法:我想和你一起起床
未來簡史:人類只是一套演算法?
人是一種有趣的演算法
骰子作畫的演算法
誰來審核決定人生的演算法?
谷歌逆天!開發AI演算法可預知病人何時死亡,人類該如何?
演算法證明:女生遇到心動的男人一定要追!
全球人臉識別演算法測試最新結果:中國演算法包攬前五
馬云:婚姻最好的演算法是「算了吧」
《權力的遊戲》誰會笑到最後?德媒:演算法提前告訴你