LFO教學(中):搞點噪音

11.jpg

作者:Gregory Taylor 譯者:Rio

上回,我們打造了個能自我生成的同步LFO四重奏,LFOur。這次我們要用它搞點噪音。看著不同波形疊加成古怪形狀甚為有趣,滑桿按鈕不斷地上下閃爍也令人心情愉悅,但將它們連接到不同patch上會更有意思。這次我們的目的就是如此。

此處下載patch

這個小小的LFOur_out,是怎樣運用LFOur所生成資訊製造噪音的範例之一。它發聲部用的是最常見的DLS 合成器。而音符事件的發生及其音高/強度/時長資訊,則是來自LFOur波形的觸發及即時採樣。

LFOur_out_a.jpg

這patch複製了四個同樣模組。每個單元內有同樣三個物件:內有LFOur所產生列表(bang訊息或是LFO採樣值)之umenu物件,receive物件,以及後接的"set $1″訊息方塊。這三個物件讓你選擇LFOur所產出資訊種類。選擇音高值的這部份patch內還多了個zl reg物件。這是由於觸發事件的頻率比改變音高值的頻率來得頻繁,而zl reg物件的用途與int, float物件類似,以符號方式暫存音高值,收到bang訊息時才將此值送出。

這些觸發事件與LFO採樣資訊會被送到一個叫notemap的子patch,所有資訊將被對映到不同範圍內產生音符。這個子patch長的像這樣:

LFOur_out_b.jpg

這個子patch中有個你很熟悉的老友── makenote物件。在新版Max中它也已升級,能使用新的時間表述方式。除了以往的毫秒外,現你能用音符時值作為引數(此處是4n)來設定輸出音符的時長。另外它的右輸入也可接收音符時值設定發聲長度。現在我們用的時長是直接來自LFOur的,沒有更動。

要設定生成音符的MIDI音高及時長,其實就是將LFO產生的資訊範圍(0-127)對映到有意義的數值範圍之內。在此,我用了scale物件來調整強度值。當然,我能用原始的0-127範圍間數值直接作為音高,但我寧可做些於我主觀更有意義的對映:我用了coll物件(在最上層patch中,叫做coll_sequence1),它裡頭記錄了16個不同音高,並且將輸入取樣值對映至0-15的範圍內。用這範圍內的數值當索引值,就能呼叫出coll內的音高數值。

我有點懶得在主程式視窗與GloabalTransport視窗間切換,所以在LFOur中另加了一小段程式,它將同時開啟GlobalTransport及聲音處理DAC。另外,在停止運作時,可能會有些音符尚未結束掉,但transport卻已先停止了。此處的midiflush物件會將所有"卡住的"音符結束。

LFOur_out_c.jpg

應該還記得在LFOur中有些receive物件吧!他們讓你從別的patch中遠端控制,啟動/關閉取樣,也可以用音符時長方式設定LFO輸出取樣的頻率。所以這裡我加入一些send物件,讓我能遠端操控。

LFOur_out_d.jpg

最後,我加入pattr家族物件。這與上次LFOur教材中,是同樣的四個步驟。

LFOur_out_e.jpg

加入軟體合成器

雖然系統內建的DLS合成器不差,但我也想在這用我常用的VST合成器。兩者差異其實不大,你可以去看看vst~的參考頁及help檔,決定應該送入怎樣的訊息。如果要送入vst~的軟體合成器,我得在送入DLS合成器的note-on/note-off訊息之前多加上midievent 144這段訊息。

將DLS合成器patch變成VST合成器的patch,其實非常簡單,只要改這一點點:

LFOur_out_f.jpg

noteout物件被取代成pack物件,將note on/off訊息與音高數值結合。pak物件則在這訊息之前加上midievent 144。你可以將任何列表送入pak 與 pack物件的任一輸入點,原本的list值將先被拆散後暫存在物件之內。當然,我也可用兩個prepend物件,但能用一個物件做到的事,何必用兩個物件呢?

這結果是甚麼呢?接下來的聲音結果是全由你決定的。啟動LFOur,以及LFOur_out及/或LFOur_vst。點擊紫色按鈕,啟動一切。之後,就是改變參數與反覆聆聽了。我相信,這個patch的每個角落你都能夠再加以改進的。

這裡請記住:所有的bang訊息及輸出取樣,只是被對映到另外一段範圍的無意義數值與訊息。你可以將LFOur輸出接到任何你有的patch上,以此類推。這全由你決定。

後話

最後的一些小禮物:如果你不喜歡存在sequence_1內的音符事件,我有另外一個小patch,叫coll_loader,讓你載入新的事件

LFOur_out_g.jpg

記得,資訊空間是全局整體的,在一切都還在運作時,你也能開啟這patch,輸入新的音符事件。按下按鈕,再從kslider上輸入16個音符。如果你有MIDI鍵盤,你可以從notein物件選取該裝置,然後從硬體輸入音符。

下次我們會再加入些時間事件,在音樂整體進行中加入些"結構"。

     ||     

3 comments so far

  1. [...] 現在我們有了自我生成的patch,也有聆聽這patch的方法。接著我想要做些改進與延伸,來給定大的音樂結構。換句話說,我們要建立指令,來命令此patch如何自我生成音樂。我相信世上有很多人希望她生成重複類似的結果,但我自己希望她有更大的自由度。此篇教學將會加入一些此方向的改變。 [...]

  2. Ivy 十二月 13, 2009

    老师您好,我在运行您的LFO的patch的时候,总是会弹出midievent:effect doesn’t want events, 这是为什么呢?Help里注释 note: the midievent message produces an error until the audio is turned on for the first time。

    这是什么意思呢,谢谢

  3. Rio 十二月 13, 2009

    那是因为你用的 vst 是效果器 VST EFFECT,而不是VST insturment,所以不能当做乐器使用,不能输入MIDI NOTE讯息。

Leave a comment

Please be polite and on topic. Your e-mail will never be published.

訂閱

索引

|

討論區

留言

Misc