敬曉親
(四川音樂學院,四川 成都 610021)
19世紀末調性的逐漸瓦解,開啟了20世紀初大批作曲家的“求索之路”。大量新“關鍵詞”也相繼出現:如表現主義、十二音序列主義、新古典主義、民族主義、復雜主義、偶然音樂、具體音樂、頻譜音樂……多元化的背后,是作曲家們對每個音樂元素的極致追求。20世紀下半葉計算機技術的飛速發展,大批作曲家們開始意識到計算機程序在音樂寫作、分析上的巨大輔助能力。21世紀的今天,鮮有不使用計算機輔助軟件創作的作曲家。
OpenMusic(下文簡寫為OM)是一款非常優秀的計算機音樂輔助軟件。雖然它的出現與頻譜音樂有著深遠的淵源(沒有頻譜樂派就沒有OpenMusic①),但限于篇幅,本文不會過多對頻譜音樂展開討論,將重點介紹OM在音樂創作時可能實現的輔助功能。
20世紀70年代開始,以杰勒德·格里賽為首的五位法國作曲家共同發表了《L`tineraire》(意為“旅程”),并成立“旅程”室內樂團,聲明要通過傳統方式創造新的音響。1979年于格斯·迪富特第一次以書面形式描述他們的音樂為“頻譜音樂”(Spectral Music)。從其名字“頻譜”可以感受到,頻譜樂派非常關注聲音的微觀結構如:頻率、振幅、包絡、泛音等。正如自然科學一樣,想要仔細觀察事物的微觀結構,都需要精良的“工具”。
為了紀念于1998年去世的頻譜學派重要代表人物格里賽,法國蓬皮杜國家聲學與音樂協作研究中心IRCAM②根據頻譜作曲技法而研發了OM這一款軟件。它是一款音樂創作與分析的交互式圖形環境,主要以CLOS(Common Lisp Object System)語言開發編寫,靠節點進行連接編程。雖然他的出現與頻譜音樂有著直接的聯系,但因其強大聲音素材處理能力,使其成為很多頻頻音樂流派以外的作曲家們創作時的必備輔助程序。
雖然很多計算機軟件都能實現OM的部分功能,但像OM這樣能直觀的以圖像形式顯示聲音的樂譜、頻譜、波形等的軟件并不多見。而它的最大優勢是脫胎于頻譜音樂——用聲音的微觀結構去“結構”音樂的宏觀結構。如:它可以很容易的提取一個樂音的某一段泛音列,且這段泛音列可以精確到1/16音;它可以分析一段音樂的波形圖并將其轉換為音高;他也可以提取一個樂器的發聲包絡曲線并將其轉換成音高;只需要一個物件,它就能算出一個9音集合的AIS③;他甚至還支持利用外部設備,通過OSC④無線方式進行互動音樂創作……
作為一款開源免費軟件,OM支持使用者自由開發、添加擴展庫,目前PC和MAC版本都已經更新到6.14。
O M的工作界面非常簡潔,下圖左區域是O M的工作窗(WorkSpace),所有的程序設計都在這個區域完成。工作窗下方是其反饋監視窗(OM Listener),所有反饋信息都會出現的這個區域,如計算結果,錯誤輸入等。其它功能窗口,如擴展庫(Library)、MIDI軟件調音臺(MIDI Mixer)等在OM頂部菜單欄Windows里。在工作窗內右擊,可以建立新的程序(patch)、模塊(maquette)、Lisp語言功能(Lispfunction)等。
OM是一款節點式編程軟件,各物件⑤之間靠連接各輸入輸出節點來形成邏輯。恰似模擬時代聲音硬件設備間的電線連接一樣,既直觀又易于理解。在工作窗內右擊建立一個patch,雙擊patch打開程序內部,進行各個物件的建立、編輯與連接。
OM里可以實現幾乎所有的數學計算與判斷,如:加減乘除、正/余弦、指數/對數、數組反轉、大小判斷、if條件判斷等。圖一頂部為加減乘除四個物件。圖片中部為OM的乘法運算:在程序內部的空白處雙擊,彈出物件建立的小窗口,在窗口中輸入“OM*”即可創建一個乘法物件。乘法物件因其數學要求,會有兩個輸入節點和一個輸出節點,也就是的模式。Shift+左擊乘法物件的左輸入端和右輸入端,會出現兩個數字輸入框,在數字輸入框里輸入需要乘法計算的兩個數值。選中乘法物件,按運行鍵字母“V”,就會在監視窗里顯示出計算結果。如圖一中69*100,會在監視窗中顯示出6900的結果。在程序空白處雙擊,新建框中輸入“mc->f”,得到一個可以將MIDI音符數字轉換為頻率的物件。將乘法物件的輸出節點和“mc->f”的輸入節點相連接,便可以將乘法計算的結果(將此結果作為MIDI協議⑥的音高值)轉換為頻率值。圖一中乘法結果6900轉換為頻率后為440Hz,這就表示6900這個數值在OM中代表MIDI標準音高的國際標準音A。
1991年推出的general MIDI標準中,把中央C(C4⑦)的音高協定為60,每增加一個半音數值便增加1,國際標準音A則為69。OM作為一款頻譜音樂輔助軟件,其優勢在于他能更精確的洞察音樂的微觀結構,所以OM里的MIDI音高被規定為是正常MIDI標準的100倍,即以6000代表中央C。這樣做的好處是可以把一個正常MIDI協議的一個半音細分為100份,正好和音分cent概念相對應,在表現微分音時有相當大的優勢,如:6000代表C4,6050表示為升1/2音的C4,6100為升C4。
自泛音列被發現以來,它在音樂中的意義就非比尋常,尤其在頻譜音樂中。OM不但可以很容易生成泛音列,它還支持播放、顯示精確到1/16音,而在其他音樂輔助軟件中,這并不是件容易的事:
圖二中展示了兩種不同的方法生成樂音的泛音列,精確到1/4音。左邊為方法一,右邊為方法二。把各參數連接到方法一“harm-series”物件的各個輸入節點,即可得到泛音列。方法二的“mypatch”為子程序⑧,子程序里內容見圖右上角。它的運算結果同方法一。子程序上方有4個輸入節點分別表示:0樂音的基音、1泛音列(諧波)⑨的起始序號、2泛音列的結束音序號、3泛音列諧波序號的間隔數。如果想要得到以C2為基音,從諧波序號1開始,序號12結束的基數次諧波,則將子程序上面的輸入節點開始序號“begin”設置為1,結束序號“stop”設置為12,諧波間隔“step”設置為2即可。
綜上則圖二邏輯為:note物件輸出一個C2作為基音,基音連接到harm-series物件(或方法二的子程序)的第一輸入節點。給harmseries物件(或子程序)的其他輸入節點輸入限定參數——顯示第1-12號諧波,諧波序號間隔為1。最后將harm-series物件(或子程序)的輸出節點連接到“chord”和弦物件的音高輸入節點(第二節點),選擇“chord”物件按運行鍵“V”即可按照設定生成泛音列。
當然,上述方法是得到的是樂音的自然泛音。在OM里想要得到人工泛音同樣容易:只需在圖二子程序中加入指數“om^”物件,當其次方值為1時,為自然泛音,不等于1時為收縮和拉伸后的人工泛音,如圖三。
如果想要隨機的得到一個4音列,且這個4音列還具有某種內在關聯,再得到4音列的移位、倒影、逆行、逆行倒影,在OM里同樣很容易實現:
僅兩個步驟,我們就從泛音列里提取出了一個4音列(有內部關聯的4音列)。下面是OM里音列的4種形態:
圖五“倒影”邏輯為:1、提取4音列第一個音,然后用x->dx算出后面每兩個音的間距;2、用乘法物件使音列相鄰音程間距變為負數,再用dx->帶入原4音列,則形成了以第一個音為首的向之前相反方向(負數方向)的間距——倒影。
在OM里還可以按指定算法程序生成旋律,即算法作曲,如圖六。
圖六邏輯:繪制ADSR線型圖表并提取其數據,生成音高?,與d隨機得到的節奏型組合,形成旋律1;用f物件加載音頻,并用g提取音頻采樣點數據。i導入圖表,j生成音高,與d節奏組合形成旋律2。
在此,我們用兩種方法生成了兩條簡單的算法完成的旋律,而在OM里我們完全可以做到更加精妙的算法設計,如旋律片段的音高來源于上節中的4音列,而4音列音高則來自于前文敘述中生成的泛音列的前16階諧波里的基數次諧波的隨機。節奏方面不但可以隨機,還可以按時值?從小到大或從大到小與音符相組合,我們可以用OM完全生成梅西安的整體序列作品《時值與力度模式》?。如果我們再對音符力度、演奏法進行設計,一首完全由算法生成的音樂,就有了更多的“內涵”。
音集集合方面OM也有優異的表現。圖七中左右上方兩個圓圈是兩個三音集合(左右為對稱結構)。通過OM中Functions/MathTools中的Circle系列物件可以方便的對集合進行各類操作,如圓形可視化、AIS計算、補集計算等。
OM中甚至可以利用OSC協議進行交互式音樂創作:
OSC-receive物件會以廣播的形式接受來自同一局域網發來的信息(可以同時接收到多臺設備)。很多軟件都支持OSC,如Max/Msp、Touch OSC(手機app)等。圖九為筆者設計的簡易TouchOSC界面,它可以給圖八的OM程序發送數字、xy軸信息和手機陀螺儀信息。
如此強大、開源的軟件,筆者就算寫上一本書也可能只是“初窺其表”。作為一款計算機輔助軟件,OM易于操作、邏輯清晰。不光有所有物件使用規則和參數設置的官方參考文檔,還有循序漸進的Tutorials patch。甚至還包括在線論壇和各種官方的強大擴展包。它在作曲家分析和創作音樂時,可以為作曲家帶去寶貴的聲音素材,完成復雜的邏輯運算。
最為難得的是,OM輔助作曲家完成素材相關處理工作時,它始終是“工具姿態”,并不會束縛作曲家的思想,而創作本也該始于素材整理完畢之時。
現在看來,頻譜音樂的魅力確實無可厚非——試想一部管弦樂作品的音高線條,是一個獨特樂器反轉后的波形圖、一個帶合唱的大型交響樂團,用2分鐘的時間去模擬一個單簧管2秒內的聲音頻譜變化……這些有趣的聲音背后,都需要輔助工具的支持。至少它會幫助我們節省大量的時間,他可能還會給我們在分析作品時,提供一些獨特的視角。
注釋:
① 吳粵北.基于算法的頻譜作曲技法[J].黃鐘(武漢音樂學院學報),2011,04:3-10.
② IRCAM:Institut de Recherche et Coordination Acoustique/Musique。是法國著名的聲音、聲學、計算機音樂、計算機軟件等研究中心。
③ AIS:集合的相鄰音程序列。
④ OSC:Open Sound Cotrol,具體參見網頁:https://en.wikipedia.org/wiki/Open_Sound_Control
⑤ 物件:即Object,實現一個功能的最小結構,如:加法物件“OM+”。
⑥ MIDI協議:見https://zh.wikipedia.org/wiki/MIDI
⑦ MIDI標準為:scienti fi c,MusicXML,and others.
⑧ 子程序:程序中的次級程序,也叫subpatch.
⑨ 泛音列即各階次諧波的集合——基音的整數倍。
⑩ 算法作曲:基于算法法則、規則系統等為技術手段的作曲體系。詳細概念及方法參見:倪朝暉.算法作曲理論與實踐[M]重慶.西南師范大學出版社.2015
? ADSR:樂器發聲時的幾個瞬間階段:建立、衰減、保持、釋放。把樂器瞬間的發音狀態提取轉換為旋律音高,這種做法正是頻譜樂譜的常用做法——微觀素材的宏觀化。
? 如:32分音符為最小單位,設為1,依次為2、3、4……
? 梅西安創作于1949年,是歐洲第一首整體序列作品。