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