上週同一顆 LFO 之頻率自 4 Hz 提升至 400 Hz;越過 20 Hz 時,聽覺經驗由「可解析之週期性」轉為「音高」。
該訊號本身未曾改變,改變的僅是速率。核心提問:此訊號之本質為控制,抑或聲音本身?
旋鈕轉動、滑鼠點擊、envelope(包絡)曲線繪製等操作介面動作,如何轉換為聲音本身的變化?
VCV Rack 與 Max/MSP 對此提供截然不同的答案;差異所在,決定了各系統中可設想與無法設想的操作範圍。
控制與聲音為同一種介質:電壓。連接線的功能取決於其目的地,而非其來源。
並非如此:事件(訊息)與取樣流(訊號)為兩種不同的資料類型,畫面上粗細有別的連接線即為此區分的視覺呈現。
兩種取徑皆屬有效設計,僅代價各異。
兩者 oscillator(振盪器)的波形互換後,只要 envelope 不變,擊奏聽感大致仍為擊奏,拉奏聽感大致仍為拉奏。
Attack(攻擊時間)本身即為音色的重要構成部分;移除後,樂器辨識度通常顯著下降。
ADSR 為控制訊號中一種常見形狀,其四段結構已被固定並賦予名稱;任意不規則曲線同樣可作為音量或 cutoff 的控制來源。
「控制訊號」此一概念本身為核心,其進入的系統架構方為本週討論的真正分歧點。
LFO 輸出孔、envelope generator(包絡產生器)輸出孔、麥克風輸入孔,外觀完全相同,所使用的連接線亦為同一種類。系統不執行靜態型別檢查,不區分連接內容為「控制」抑或「聲音」。
上週 LFO 訊號得以連續滑過 20 Hz 而轉為音訊,原因即在於 VCV 從未對其進行分類。型別檢查的缺席,為此連續性的前提。
此為簡化說法:型別檢查的缺席,不代表所有模組皆能辨識任意範圍的電壓,亦不保證 polyphony、正規化等語意自動相容。連接錯誤範圍時,仍可能導致模組無反應或運作異常。
bang、數字、清單等為訊息:離散、事件觸發、無固定節奏,此為 Max 自初版即具備的機制。cycle~、line~ 等帶波浪號物件之間傳遞者為訊號:依系統音訊設定(常見為 44.1kHz)逐取樣運算,運算持續進行,不受介面顯示狀態影響。
兩種資料類型於畫面上外觀有別:訊息連接線較細,訊號連接線較粗;此分類於介面上以視覺形式呈現。
自由伴隨意外的代價。音訊訊號可連接至 cutoff、LFO 可連接為音高來源;部分接法將產生未經設計的聲音,亦可能導致模組無作用。
分類換來清楚的代價。若欲產生無間斷的音量漸變,單一訊息本身僅更新一次,即使排列成序列仍具階梯狀間斷,須藉 line~ 產生逐取樣運算的連續漸變。此手續換取意外的減少。
VCV 採統一架構,Max 採分層架構,兩者發展的時間線不同,惟此不足以判定何者「設計思路較為清楚」。於當前實務使用中,兩者的限制皆屬真實存在。
同一持續音,僅調整 Envelope
音高、波形、filter 皆維持不變。僅 envelope 產生變化,據此構成三種可辨識差異的聽覺結果。
沿用既定格式:繳交 30–60 秒聲音,以 VCV 為主,並以一句話說明所調整的段落(attack、release,或整條曲線的不規則變化)。
本週學習目標 VCV Rack,可在課外自行完成
attack 趨近於 0,訊號迅速降至低音量或 0;同一音源因而呈現為擊奏音色。
attack 延長至數百毫秒以上,release 同步延長;同一音源因而呈現為漸進起伏的音塊。
envelope 本身連接至規律或不規律的觸發源,使其反覆開閉;同一音源因而呈現為節奏。
On the Other Ocean
長笛與低音管演奏六個固定音高以觸發電路,並由 KIM-1 微電腦即時決定合成器和聲的變化。
The Expanding Universe
1974 至 1977 年間製作於貝爾實驗室,使用 GROOVE 系統。系統以每秒約 100 次的取樣頻率記錄並播放隨時間變化的控制數值,經 DAC 轉換後方驅動類比合成器的電壓輸入。
Voyager
軟體以 Forth 語言寫成,於聆聽現場演奏的同時自主生成獨立的音樂行為;其角色並非伴奏,而為另一即興演奏者。
Behrman 的電路僅辨識六個固定音高,觸發者為離散事件,性質近於訊息。Spiegel 的 GROOVE 系統介於兩者之間:每秒約 100 次取樣,密度高於訊息、低於 44.1kHz 音訊訊號,經 DAC 轉換後方成為連續電壓。Lewis 的 Voyager 二者皆非:系統自主生成獨立的音樂行為,並非單純執行外部指令。
此提問將延續至第 13 週「映射與演出」:當控制訊號本身具備決策能力,「誰在演奏」是否仍具意義?
Orca 或 Strudel 擇一
繳交 60 秒聲音,並以三句話說明所運用的原理及其實現結果。
11/2(W9)返回課堂進行對照討論,檢視各項成果分別對應本學期的何種原理。
網格中,每一字母代表一個運算元(operator);畫面角落的座標與格數即為其記錄時間的方式,時間表現為可見的位置,而非抽象的軸線。
系統本身不發聲,僅輸出 MIDI、OSC 訊號以驅動外部合成引擎,如 VCV、Ableton、SuperCollider。
此為本週主題的極端案例:Orca 完全不處理訊號,僅輸出訊息。
TidalCycles 的網頁版本,以 JavaScript 編寫。輸入描述一個 cycle(循環)內 pattern(樣式)的程式碼,執行後引擎持續查詢該樣式,產生一連串具時間排定的事件,再輸出至 Web Audio 或 MIDI/OSC。
程式碼修改的對象並非單一訊息,而是一整套將被反覆查詢的樣式;經引擎查詢後產生、逐一排定時間的事件,方較接近前述所稱的訊息,而實際播放的聲音本身則屬訊號。
Orca 與 Strudel 兩者擇一或並用均可,僅須繳交一次。內容為 60 秒聲音,並以三句話說明所運用的原理、實現方式,及其與本學期哪一週內容的關聯。
11/2(W9)返回課堂,對照修課學生以 Orca 或 Strudel 完成的成果,回歸「序列即合成」的原理討論。