(註:本章節是改編自在2002年提交給ICMC的文章) 。
在發展Pd的原來想法是製造一個即時電腦音樂表演環境就像Max,但在某種程度上也包括使用者可指定的圖形表示來製造電腦音樂樂譜的設備。這個構思,具有重要的先例在Eric Lindemann's Animal 和 Bill Buxton的SSSP。甚至更早的的先例,關鍵在豐富多樣的文件樂譜為電子音樂,才成為現實,以提供一個以計算機為基礎的樂譜編輯器。在此脈絡下,Stockhausen ( Kontakte and Studie II ) 和 Yuasa ( Toward the Midnight Sun )樂譜最為重要的出現注意,但Xenakis的Mycenae-alpha也是,其中雖然它實現了用一台電腦,是樂譜在紙面上,而且只有隨後辛苦的轉錄到電腦中。
Pd是設計在提供一個非常非結構化環境針對描述資料結構和他們的圖形化外觀。基本的想法是允許用戶顯示他或她想要的資料任何類型,連結它以任何方式展示。要做到這一點Pd介紹了一種圖形數據結構,有點像資料結構出來的C編程語言,但與設施的附加形狀和顏色的數據,因此使用者可以可視化和/或修改它。資料本身可以編輯從無到有,或可從被檔案輸入,運算法的產生,或由此產生的傳入聲音的分析,或其他資料串流。這裡是一段很短的音樂草圖的一個簡單例子,用Pd實現:
這例子,其中只有持續幾秒鐘,是一個時間變化噪音階的多音的收集。 The dynamic and frequency shapes aren't constrained to be connected or even to be proximate, but since they pertain to the same sound their horizontal positions line up. In this example the last (furthest-right) object is percussive (as seen by the black shape) and has a fixed frequency and bandwidth, whereas the large, articulated shape in the center has a complicated trajectory in both frequency and dynamic. The color of the frequency trace determines the voice number used to realize it.樂譜圖形由六物件組成,每個都有一個小的抓取點在左側,黑色的形狀顯示動態,和彩色的形狀顯示不斷變化的頻率和帶寬。橫軸代表經過的時間和垂直軸則是頻率(雖然在後來的解釋,這種行為是不能建立在PD裡)的。動態範圍和頻率的形狀不是約束到被連接,或什至被近因,但由於它們涉及到相同的聲音,他們的立場橫向線。在這範例,(最遠-右)的物件是撞擊(看到黑色形狀),並已有固定頻率和帶寬,而大型,闡述了形狀在中心有一個複雜的軌跡在這兩個頻率和動態。顏色的頻率痕量決定的聲音數字用於實現它。
每個物件,因此組成的數量數值的組合(彩色;在X和Y坐標的總量位置)和陣列數值(時間/數值這一對為黑色痕跡和時間/頻率/帶寬三個一組,為彩色痕跡。) ,這是所有指定的使用者使用Pd的範本``template"的機制。
這裡是如上所示,與圖形物件連結的版模:
模板由資料結構定義("struct"物件)和零個或多個繪製指示器組成("filledpolygon" 和 "plot")。"struct"物件給模板名稱為"template-toplevel."。資料結構是被定義包含三個浮點數字,命名為"x", "y", 和 "voiceno,"並且兩個陣列,一個名為"pitch",其元素屬於另一個命名為"template-pitch"的模板,同樣為陣列"amp"。
在一般的狀況下,資料結構是建立從4資料類型:浮點數和符號,陣列(其一要素分享其他的、指定的模板),和清單(其元素可能有各種各樣的模板)。Pd視窗的內容本身形成一個清單。Pd的相關性Max的 "table"物件是實施作為一個高等級陣列,其元素是包含單一浮點數的數量。
在Pd的資料結構,可能巢任意深深的使用陣列和清單類型。舉例來說,正弦軌道的收集從分析引擎可以實施作為一組(音高,振幅)陣列的陣列;這範例12出現在線上教程Pd的FFT物件。
在 "struct"上面顯示模板的物件之後,其餘三個物件是繪畫的指示器,首先為一矩形("filledpolygon"),然後為兩個陣列。各種圖形的屬性是指定繪畫指示器,可能是數位常數或資料結構的欄位名稱;在後一種情況下,數值不同要取決於資料。舉例來說,第二個創建物參數給"plot"是顏色。第一個"plot"的劃分"amp"領域和顏色被給於為0或黑色。第二個"plot"劃分"pitch"使用顏色"voiceno"。在這樣的方式,第二微量的顏色是重視在資料結構的"voiceno"插槽,因此顏色會非常根據其"voiceno"插槽。
沒有留言:
張貼留言