沈佶
摘要:計(jì)算機(jī)生成音樂(lè)(Generative Music)最早是由英國(guó)電子音樂(lè)作曲家布萊恩·伊諾(Brian Eno)系統(tǒng)性的提出的一種計(jì)算機(jī)音樂(lè)創(chuàng)作概念。本文中,筆者一方面將展示如何通過(guò)使用MAX/Msp編寫一個(gè)簡(jiǎn)易的可操控程序來(lái)實(shí)現(xiàn)這一概念;另一方面,將介紹如何通過(guò)這套系統(tǒng)的計(jì)算機(jī)音樂(lè)生成模式,讓音樂(lè)工作者無(wú)需專門花時(shí)間進(jìn)行創(chuàng)作,更加方便的實(shí)驗(yàn)各種音色、律動(dòng)以及和聲。
關(guān)鍵詞:MAX/Msp ?計(jì)算機(jī)生成作曲 ?電子音樂(lè)技術(shù)
中圖分類號(hào):J618.9 ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? ? ? ? ? ? ?文章編號(hào):1008-3359(2018)05-0078-03
一、設(shè)計(jì)目的
當(dāng)今,計(jì)算機(jī)生成音樂(lè),這種創(chuàng)作形式主要運(yùn)用在電子音樂(lè)作曲、聲音設(shè)計(jì)和流行音樂(lè)制作當(dāng)中。
(一)設(shè)計(jì)來(lái)源
該設(shè)計(jì)的想法最初來(lái)源于法國(guó)作曲家莫里斯·拉威爾的一部鋼琴四手聯(lián)彈作品《鵝媽媽組曲》。在該作品第三樂(lè)章《寶塔女王萊德羅納》中,他大量運(yùn)用了五聲化音階,配合重拍變換的技法,使音響有連綿不斷的一種東方美感。
譜例1:
樂(lè)曲最初在升F為主音的五聲音階基礎(chǔ)上,通過(guò)一個(gè)短小動(dòng)機(jī)不斷通過(guò)變形重復(fù)進(jìn)行主題展開。到了曲子的中部,隨著越來(lái)越多外音的引入以及節(jié)奏隨機(jī)化的小音符,使得音響慢慢變得不和諧,而這種不和諧所帶來(lái)的卻是一種朦朧的美感。
譜例2:
筆者的程序設(shè)計(jì)思路就來(lái)源于此。通過(guò)運(yùn)用一種特殊音階或者固定音型進(jìn)行隨機(jī)化變形,創(chuàng)造出和聲化織體,改變音樂(lè)的張力。
1.計(jì)算機(jī)生成音樂(lè)的特性
由于這套算法的概念來(lái)源于計(jì)算機(jī)音樂(lè)生成,所以和其他運(yùn)用該方法的算法類似,它具有極強(qiáng)的不確定性和不可重現(xiàn)的特征,并且,所產(chǎn)生音樂(lè)的隨機(jī)程度是限定在一定的規(guī)則框架內(nèi)的,而不可能產(chǎn)生超越該規(guī)則的音符或者音型出現(xiàn)。從某種方面來(lái)說(shuō),它是一種可預(yù)測(cè)范圍的偶然音樂(lè)。
2.生成規(guī)則的設(shè)計(jì)
世界上有不少音樂(lè)風(fēng)格不是基于傳統(tǒng)的西洋大小調(diào)和聲體系來(lái)創(chuàng)作音樂(lè),而是采用某種音列或者調(diào)式的形式,可能具有復(fù)調(diào)特征,但是不具備理論化的和聲體系,比如中國(guó)、日本或者印度的傳統(tǒng)音樂(lè)。而這種非傳統(tǒng)和聲導(dǎo)向的作曲方式由于能夠大規(guī)模的開拓音樂(lè)的表現(xiàn)形式,逐漸又被現(xiàn)代作曲家重視起來(lái),這其中除了有拉威爾或者巴托克(Béla Bartók)這樣的嚴(yán)肅作曲家,還包括了很多垂名青史的爵士作曲家,如約翰·克特蘭(John Coltrane)和科比·漢考克(Herbie Hancock)等。他們尤其喜歡在即興獨(dú)奏段落中選用中古調(diào)式、五聲調(diào)式,甚至是一些罕見(jiàn)的中東調(diào)式來(lái)豐富音樂(lè)的音響。而如今依然還有大量的作曲家采用這種運(yùn)用調(diào)式或者音列的方式進(jìn)行創(chuàng)作。
在本設(shè)計(jì)中,筆者的生成規(guī)則就是基于某種固定的音階、音色、律動(dòng)以及音符的密度限定好框架,在框架之內(nèi)隨機(jī)產(chǎn)生旋律,更好地服務(wù)作曲者在創(chuàng)作前期的音列或者調(diào)式設(shè)計(jì)。
(二)組件設(shè)計(jì)
設(shè)計(jì)之初,為了更好地獲得對(duì)音色的控制,筆者決定選用FM合成器作為基礎(chǔ)樂(lè)器,這樣就能更簡(jiǎn)單地獲得不同質(zhì)感的聲音,而且可以細(xì)致到頻譜中每個(gè)分頻音量的分配。
這個(gè)程序的核心部分是音符生成器,它能夠根據(jù)設(shè)定好的音階、節(jié)拍和律動(dòng)生成所需要的旋律。
另外,為了得到更加豐富的旋律,筆者在此基礎(chǔ)上又添加了一個(gè)律動(dòng)變化功能,避免了旋律特征的單調(diào)性。
二、實(shí)現(xiàn)方法
所有的功能都是由MAX/Msp實(shí)現(xiàn),設(shè)計(jì)組件包括一個(gè)簡(jiǎn)單的FM合成器、一個(gè)音符生成器(Note Generator)和一個(gè)音階發(fā)生器(Scale Maker)。
(一)音色組件
筆者設(shè)計(jì)的這個(gè)FM簡(jiǎn)易合成器中包含4個(gè)部分:波形選擇模塊、波形調(diào)制模塊、音色包絡(luò)模塊以及一個(gè)簡(jiǎn)易濾波器。該組件有5個(gè)輸入端口接受信號(hào),分別接受MIDI音高、MIDI音量、和諧度參數(shù)(控制整數(shù)倍泛音和非整數(shù)倍泛音比)、調(diào)制參數(shù)(控制泛音之間的音量比例)和載波選擇參數(shù),以及1個(gè)輸出端口發(fā)送產(chǎn)生的音頻信號(hào)。因此它是一個(gè)單聲道的組件。
在這個(gè)組件中,MIDI信息會(huì)通過(guò)Keyboard端輸出到底層組件FM1里。
其中,【cycle~】的功能是創(chuàng)造一個(gè)調(diào)制波形, 它決定了泛音列的性質(zhì), 最終影響輸出波形的音色?!緂ate~】用來(lái)選擇載波的形狀,該合成器可提供包含正弦波、鋸齒波、三角波等5種波形?!緋oly~】是用來(lái)創(chuàng)造波形的包絡(luò)。
在該模塊中,第一個(gè)端口輸入的是調(diào)制后的載波信號(hào);第二個(gè)端口輸入音符的音量參數(shù);第三個(gè)到第七個(gè)端口,分別輸入的是啟動(dòng)時(shí)間、衰減時(shí)間、持續(xù)音量、持續(xù)時(shí)間以及釋放時(shí)間的參數(shù);第八個(gè)端口是用來(lái)判斷音符間是否連續(xù)。
在包絡(luò)模塊之后, 聲音信號(hào)會(huì)進(jìn)入濾波器組件,再經(jīng)過(guò)限制器對(duì)波形進(jìn)行壓縮,最終發(fā)送到聲音播放組件。
(二)核心模塊——音符生成器
該模塊包含兩個(gè)輸入端口(音階參數(shù)與中心音參數(shù))以及兩個(gè)輸出端口(音高和音量)。
模塊界面的第一排可以選擇中心音,也就是選擇音階基于哪一個(gè)音符生成?!綬andom Oct off】開關(guān)控制音符的音高范圍是否隨機(jī),如果選擇否,則范圍的大?。ㄒ砸粋€(gè)八度為單位)可以通過(guò)在開關(guān)右邊的數(shù)字框內(nèi)手動(dòng)上下拖拽進(jìn)行選擇。第二排【Random Beat off】開關(guān)控制音符時(shí)值是否隨機(jī),如果選擇否,則需要在第三排中的時(shí)值列表中進(jìn)行選擇,之后音符就會(huì)根據(jù)選定的時(shí)值步進(jìn)播放。第四排【Random Rest off】是選擇插入的休止符時(shí)值是否隨機(jī),如果選擇否,則同理需要在第五排中進(jìn)行時(shí)值的確定。第六排【rdm interval off】開關(guān)是控制相鄰音符之間的音程關(guān)系是否隨機(jī),如果不是,需要在右邊的選擇框中進(jìn)行選擇。
這是音符發(fā)生器的底層核心模塊。其原理是:1.音階信息會(huì)作為一組信息列表發(fā)送到音符發(fā)生器中;2.信息列表會(huì)被音程參數(shù)和中心音參數(shù)控制調(diào)整;3.調(diào)整后的信息列表將進(jìn)入【zl lookup】中,同時(shí) 【drunk】會(huì)發(fā)送一組隨機(jī)數(shù)字來(lái)觸發(fā)它到進(jìn)入輸出端;4.另一方面,音量信息會(huì)在1到127的范圍內(nèi)生成。
律動(dòng)選擇模塊有兩個(gè)模塊:Tab和 Rhythmselector。
Tab模塊會(huì)根據(jù)設(shè)定的速度發(fā)送不同的數(shù)字觸發(fā)不同的速度。
當(dāng)切換為隨機(jī)時(shí)值時(shí),會(huì)在發(fā)生的音符上隨機(jī)附上一個(gè)時(shí)值參數(shù)。
休止符的插入原理是通過(guò)是否旁通音符生成實(shí)現(xiàn)的。
(三)音階發(fā)生器
音階發(fā)生器的原理比較簡(jiǎn)單,就是通過(guò)在十二平均律之上選擇某些音高來(lái)構(gòu)成所需的音階,比如只選擇所有黑鍵,就構(gòu)成了升C(降D)為中心音的五聲調(diào)式。
在這個(gè)模塊中,0-11代表一個(gè)八度內(nèi)的12個(gè)音高。所選擇的音高會(huì)存儲(chǔ)為一張信息列表,根據(jù)開關(guān)來(lái)觸發(fā)Keyboard。
(四)主界面
主界面由1個(gè)可輸入速度的全局走帶模塊、3個(gè)合成器、3個(gè)音階發(fā)生器、3個(gè)音符生成器構(gòu)成,這樣就會(huì)產(chǎn)生3層截然不同的聲部線條。為了使三個(gè)聲部更加獨(dú)立,增加了簡(jiǎn)易調(diào)音臺(tái)控制聲像。
由于經(jīng)過(guò)試驗(yàn)發(fā)現(xiàn),三組聲音合成器的聲音并不是非常豐富,后期筆者加入了一個(gè)粒子合成器、一個(gè)混響組件和一個(gè)延遲組件,因此調(diào)音臺(tái)上一共有6軌。
整個(gè)程序的線路順序?yàn)椋?.音階發(fā)生器;2.音符生成器;3.合成器;4.調(diào)音臺(tái);5.限制器;6.立體聲輸出模塊。
三、算法設(shè)計(jì)問(wèn)題與改進(jìn)
(一)旋律的邏輯性
由于音符是隨機(jī)生成的,兩兩音符之間毫無(wú)關(guān)系,無(wú)法產(chǎn)生符合人類聽(tīng)覺(jué)習(xí)慣的樂(lè)句感。而這部分算法如果改進(jìn)絕非易事,需要大量對(duì)音樂(lè)發(fā)展手段的總結(jié)研究工作,從而找到旋律人性化的規(guī)律。目前,筆者正在研究通過(guò)一個(gè)短小動(dòng)機(jī)的變形進(jìn)行算法上的調(diào)整,但也只是非常初步的探索。
(二)音階的構(gòu)成
在本程序設(shè)計(jì)中的音階構(gòu)成實(shí)際上是極度理想化的模型,許多中國(guó)和印度音樂(lè)中所用的音高都不會(huì)以十二平均律的律制來(lái)設(shè)定,而如今隨著微分音的運(yùn)用越來(lái)越普遍,該程序的局限性問(wèn)題就更加凸顯出來(lái)。不過(guò),這部分內(nèi)容相對(duì)來(lái)說(shuō)比較容易實(shí)現(xiàn),可通過(guò)在音階生成器上加入音高的音分組件進(jìn)行改進(jìn)。
(三)音色的豐富度
在本設(shè)計(jì)中,由于只是完成一個(gè)概念的簡(jiǎn)單實(shí)現(xiàn),沒(méi)有進(jìn)行更復(fù)雜的音色合成和調(diào)制功能。如果需要再改進(jìn),可以加入多元化的載波進(jìn)行選擇,比如一些噪聲發(fā)生器來(lái)合成一些特殊音響。在效果器上,也可以加入更復(fù)雜的均衡器、合唱效果器、鑲邊效果器等來(lái)改變音色。
四、結(jié)語(yǔ)
人工智能如今在各個(gè)領(lǐng)域越來(lái)越受到重視。不久之前谷歌所研制的圍棋人工智能阿爾法狗將多位圍棋大師擊敗,轟動(dòng)了全世界,也使得普通人都對(duì)人工智能關(guān)注起來(lái)。而計(jì)算機(jī)生成作曲實(shí)際上也是一種人工智能,因此常常被稱為算法作曲技術(shù)。藝術(shù)與科技自古以來(lái)就是相輔相成的,科技發(fā)展也在無(wú)時(shí)不刻推動(dòng)著藝術(shù)形式的創(chuàng)新,筆者相信,隨著算法的日臻成熟,計(jì)算機(jī)生成作曲也會(huì)逐漸成為一種藝術(shù)上的新思潮,改變?nèi)祟悇?chuàng)作音樂(lè)的方式。