基本配置
我們要作的第一件事,一旦pd正在執行的時候,確定音頻設定是否正確。這裡包括為你的系統選擇正確的驅動程序、正確的音效卡和適當的潛伏期,既所有都反應正常。另外,如果你有任何MIDI設備(如鍵盤或推子盒),你可以設定pd完善的使用這些。在此之後,你可以測試的音頻和MIDI,以確保它工作正常。
音頻驅動程式
pd可以使用多種音頻驅動連接到音效卡。因此,我們的第一步是選擇正確的音頻驅動程式。
這可以通過Media (媒體)選單:
OSX : Media -> portaudio/jack
Linux : Media -> OSS/ALSA/jack
Windows : Media -> ASIO (via portaudio)
這選單部份應該列出在你系統內可用的音頻驅動程式,並允許你在它們之間切換。你擁有的驅動程式取決於你的作業系統,並且你已經安裝什麼驅動程式在作業系統內。請記住在你的電腦上可能沒有下面這些所有的安裝:
Linux
· OSS
· ALSA
· jack
OS X
· portaudio
· jack
Windows
· MMIO
· ASIO
鼓勵Linux使用者去檢查JACK (Jack Audio Connection Kit),它是一個音頻伺服器,允許不同的音頻應用程式與虛擬的“電纜”連接在你的電腦。JACK和圖形使用者介面QJackctl,應該可以有效在任何你想要執行的Linux發行版。
許多OS X使用者也回報說,使用JackOSX音頻執行順暢並減少CPU負載,它是JACK服務器的執行並且針對Mac OS的使用者介面。JackOSX可在http://jackosx.com/找到。
Windows使用者可能會發現,使用ASIO4ALL配置他們的ASIO音效卡會更加容易,這可以從http://www.asio4all.com/下載。
MIDI驅動程式(僅用於Linux )
Linux : Media -> default-MIDI/ALSA-MIDI
這個選單裡,你可以切換在內建的pd的MIDI驅動程式和ALSA的MIDI驅動程序之間,如果它們有被安裝在電腦內的話。如果使用ALSA的MIDI驅動程序,然後JACK使用者可以使用QJackctl應用程式(可在大多數Linux發行版)連接外部MIDI設備和其他的MIDI應用程式在同一台電腦上給pd。
音頻設置
OSX : Pd-extended -> Preferences -> Audio Settings
Linux & Windows : Media -> Audio Settings
這是在pd最重要的配置選單之一。在這裡您可以改變sample rate(採樣率)、delay(延遲)、input(輸入)和output(輸出)設備,以及它們使用的聲道數量。
Sample rate(採樣率)
CD音質是44100赫茲抽樣率。預設情況下,大多數電腦聲效卡執行在這採樣率,或是48,000赫茲。選擇符合你聲效卡或音頻驅動程式的採樣率。
Delay (msec)延時(毫秒)
你的電腦需要一定的時間來處理pd所有訊息輸出並將其發送到音效卡播放。同樣地,當你正在錄音,pd需要一定的時間收集來自音效卡的所有訊息。這種延遲的術語是被稱為latency(潛伏期),而且它測量在片刻之間的時間總數,當你告訴pd做一些事(例如注意在鍵盤上),而且你聽到動作的結果。一個較短的潛伏期意味著你會較快聽到結果,更多回應的系統所給予的印象,是音樂家易於讚賞的。但是,用更短的潛伏期,你執行的風險會更大,收到中斷或'故障'的聲音。這是因為電腦在發送資料給音效卡之前,沒有足夠的時間來“思考”聲音資料。更長的潛伏期意味著減少故障的機會,但是花費較低的反應時間。這是你以你自己的需要來找到最佳平衡,但pd預設的延遲是50毫秒。你可以在對話窗中的毫秒輸入數值,增加或減少pd的潛伏期。
輸入裝置
選擇你要使用pd的聲效卡和你要用的聲道數量。在一般情況下,在立體聲音效卡你應該輸入數字2 。對於多個音效卡,你可以選擇部分或全部聲道。確定檢查,如果你想要記錄聲音到pd。
輸出設備
選擇相同的音效卡如同你選擇的輸入裝置,並符合聲道數量就像你選擇的輸入設備一樣。雖然在一些系統上,有可能使用不同的音效卡和不符合輸入和輸出的聲道數目,這也可能為pd導致一些問題,所以初次實驗。請務必檢查設備旁邊的checkbox(核對盒)。
MIDI設定
OSX : Pd -extended -> Preferences -> MIDI Settings
Linux & Windows : Media ->
(使用多種設備),如果你有幾個使用MIDI的應用程式或裝置。這種方法是相當複雜的,因為你必須建立一些設備的使用啟動旗幟,而當pd正在執行的時候,你將無法更改。使用ALSA - MIDI驅動程式是更容易管理,因此建議使用它。
在Linux上使用ALSA的MIDI驅動程式的時候,你可以告訴pd輸入和輸出接口的數量在這裡使用。這是連接其他的MIDI應用程式或設備,可以使用連接到pd和連接出pd。至連接設備或應用程序,你可以使用ALSA MIDI的JACK音頻驅動程式和Qjackctl,如果你有安裝它們。在Qjackctl ,您會看到MIDI的一個標籤,並且按一下它們,使能夠連接MIDI設備和應用程式的輸入與輸出。
在Mac OS X ,使用MIDI你必須先打開"Audio MIDI Setup.app"(音頻MIDI Setup.app),這位於你的應用程式/公用檔案夾。一旦應用程式是打開的,你必須連接到你的外部MIDI設備(如有的話),你應該可以看到你的MIDI設備在此視窗。最小化“音頻MIDI Setup.app “並回到pd和"MIDI Settings"(MIDI設置)選單。現在,你將能夠選擇哪些設備與pd發送和接收MIDI的訊息。你也可以選擇“使用多種設備”如果你有幾個使用MIDI的應用程式或設備的話。
測試音頻和MIDI
OSX, Linux & Windows : Media -> Test Audio and
為了確保你已經先設定你的音頻和MIDI正確,pd包括一個patch來測試你的設定。如果您打開"Test Audio and MIDI"(測試音頻和MIDI),你會看到這個視窗:
首先,在"TEST SIGNAL"下面其中一個標示 “
進階配置
由於Pd-Extended已安裝大部分設定,搜索路徑和擴充的函式庫已經配置完成,許多使用者不必擔心puredata這些部份配置。然而,進階的使用者可能有興趣自訂化這些設定。在Puredata這些可改變的設定是相同有效的,當從命令列開啟:
audio configuration flags:
-r
-audioindev ... -- audio in devices; e.g., "1,3" for first and third
-audiooutdev ... -- audio out devices (same)
-audiodev ... -- specify input and output together
-inchannels ... -- audio input channels (by device, like "2" or "16,8")
-outchannels ... -- number of audio out channels (same)
-channels ... -- specify both input and output channels
-audiobuf
-blocksize
-sleepgrain
-nodac -- suppress audio output
-noadc -- suppress audio input
-noaudio -- suppress audio input and output (-nosound is synonym)
-listdev -- list audio and
-oss -- use
-32bit ----- allow 32 bit
-alsa -- use ALSA audio API
-alsaadd
-jack -- use JACK audio API
-pa -- use Portaudio API
-asio -- use ASIO drivers and API
-mmio -- use MMIO drivers and API
-midiindev ... -- midi in device list; e.g., "1,3" for first and third
-midioutdev ... -- midi out device list, same format
-mididev ... -- specify -midioutdev and -midiindev together
-nomidiin -- suppress
-nomidiout -- suppress
-nomidi -- suppress
-alsamidi -- use ALSA midi API
other flags:
-path
-nostdpath -- don't search standard ("extra") directory
-stdpath -- search standard directory (true by default)
-helppath
-open
-lib
-font-size
-font-face
-font-weight
-verbose -- extra printout on startup and when searching for files
-version -- don't run Pd; just print out which version it is
-d
-noloadbang -- suppress all loadbangs
-stderr -- send printout to standard error instead of GUI
-nogui -- suppress starting the GUI
-guiport
-guicmd "cmd..." -- start alternatve GUI program (e.g., remote via ssh)
-send "msg..." -- send a message at startup, after patches are loaded
-noprefs -- suppress loading preferences on startup
-rt or -realtime -- use real-time priority
-nrt -- don't use real-time priority
-nosleep -- spin, don't sleep (may lower latency on multi-CPUs)
在這個名單上所有的音頻和MIDI配置的旗幟,是設定利用上文所述的選單。請注意,不是全部的設置均可以在所有平台上(例如,在Mac OS X和Linux操作系統沒有-asio 或 -mme 選項,在Windows沒有-alsa, -oss, -pa 或 –jack的設定等等..)
下一個最重要的配置選項必須做的是,pd載入擴充函式庫在啟動的時間裡(因此你將能夠使用這些物件),以及你的檔案系統的位置,使pd可以搜索這些擴充並且讓其他資源的程式使用執行。
puredata使用的系統稱為pdsettings,儲存這些所有選擇並且在每次pd啟動的時候使用它們。pdettings可以配置通過應用程式的各種選單,因此我們看到音頻和MIDI設定。但是,它們也可以藉由其他工具來設定,這是針對每個作業系統。
我們會首先考慮內建選單的啟動和路徑,然後我們會考慮其他的方法改變配置選項。
啟動旗幟
OSX : Pd-extended -> Preferences -> Startup
Linux & Windows : File -> Startup
我們要注意的事情,是在這個我們下載的擴充選單,其中被列為"Pd binaries
to load (on next startup)",以及我們是否"defeat real-time scheduling"。
根據"Pd binaries to load"(pd二進制下載),你可以製造一個擴充函式庫的名單,這些已經安裝在你的系統,然後是你喜歡並有效提供pd使用。之後,你就可以執行這些擴充在下一次你開啟pd。由於你使用的是Pd-extended的發行版,本章節應該為你完成擴充的清單隨著這發行版。
如果你想添加更多的函式庫到"Pd binaries to load",最簡單的辦法是將它們添加到一個啟動選單的存在列,像這樣:
Gem:my_new_lib
然後點擊"Save all settings" 和 "OK"。然而,Pd-Extended仍是一個在發展下的程式,這種方法在最近已經注意到一些問題,因此,你不妨試試下面的特定平台配置工具。
如果你執行的pd是在Linux上,你可能會想要嘗試使用"real-time scheduling",以改善音頻品質,使pd更快存取音效卡。在某些系統上,但是你必須執行pd作為系統管理員(即"root" 或 "su"),以有權限這樣做。若要使用"real-time scheduling",輸入下面的東西在你的"startup flags"。
-rt
但記住,如果使用太多的處理器資源,pd超載或鎖定你的系統,正當使用"real-time scheduling"的時候,它可是非常困難的退出該程式。
Mac OS X的使用者應該不使用"real-time scheduling"的旗幟,為了更好的音頻質量,並應當按一下"defeat real-time scheduling"的盒子。
Path
OSX : Pd-extended -> Preferences -> Path
Linux & Windows : File -> Path
此處顯示的是Mac OS X的設置路徑選單。有這搜索路徑,pd將使用找到外部函式庫、help patches和其他任何patch、字體、聲音檔案,視頻或任何你可能需要的東西,當程式在執行的時候。如果你想添加更多的目錄到這清單內,最簡單的方法是,增加它們到路徑選單的存在列,像這樣:
/Library/Pd:/home/my_name/my_new_path
然後點擊"Save all settings" 和 "OK"。然而,當與這選單,一些人已經注意到使用這方法的問題,因此你也也許希望試試下面的特定平台配置工具。
使用Pd-Extended,這相當多的配置已經注意到,所以讓我們看看一些現實世界的例子,當你可能要添加一個路徑。一種情況是,如果你想要使用音頻檔案或音頻檔案的收集在你的patch裡,但是你不想指定整個位置,每當它需要在任何物件或訊息的時候。
所以,取代這輸入
/home/beaver/my_soundfiles/spoken/boy/geewhiz.wav
或
/home/beaver/my_soundfiles/spoken/girl/golly.wav
你應該增加
/home/beaver/my_soundfiles/spoken
到你的路徑,然後鍵入,呼叫你的聲音檔案:
boy/geewhiz.wav
girl/golly.wav
另一種非常常見的情況,是當你想使用你已經儲存為一個抽象物的Pd patch
(這基本上是對待已經儲存的patch就像其他pd物件一樣)在另一Pd patch內部。在這種情況下,無論你必須要有你要使用作為抽象物的patch儲存在檔案夾中作為“親屬”patch你想使用它,或者是你必須添加含有抽象物的檔案夾到你的路徑。路徑範例:
/home/pdfreek/puredata/abstractions/reverb_tools
這也許包含reverb抽象物的各式種類,是使用者"pdfreek"創造再被使用於其他patches。更多有關於抽像物的資料,請看DataFlow Tutorial的章節。
最後,如果你想編譯你自己的擴充pd函式庫,或使用你已經從網路下載的函式庫,那麼你必須放置在二進制檔案(在各平台名稱結尾,Linux的.pd_linux、OS X 的. pd_darwin和 Windows的.dll)在一個檔案夾中,並且增加檔案夾到你的路徑,如:
~/pd/extra
〜/意味著你的主目錄(即在Linux的/home/"username"和在Mac OS X的/User/"username" )。請注意,在這名稱衝突的清況(其中兩個物件或檔案具有相同的名稱),最後下載的名稱優於所有其他名稱。這方面的一個例子是物件[counter] ,它存在於一些擴充函式庫檔案裡,並且在每一個具有不同功能!
特定平台配置工具
The locations for the pdsettings files in Pd are:
OS X: ~/Library/Preferences/org.puredata.pd.plist (~ means your home folder)
Windows: HKEY_LOCAL_MACHINE -> SOFTWARE -> Pd (using REGEDIT.EXE/REGEDIT32.EXE)
Linux: ~/.pdsettings (~ means your home folder)
Linux
Linux使用者可以編輯檔案直接通過命令列應用程式,如joe、 vim、pico 或nano
,或與任何其他文字編輯軟體來參與你的發行版本:
$ nano /home/derek/.pdsettings
GNU nano
audioapi: 5
noaudioin: False
audioindev1: 0 4
noaudioout: False
audiooutdev1: 0 4
audiobuf: 50
rate: 44100
nomidiin: False
midiindev1: 0
nomidiout: False
midioutdev1: 0
path1: /home/derek/pd/rradical/memento
path2: /home/derek/pd/ix_toxy
path3: /home/derek/pd/berlin
path4: /home/derek/pd/rradical/memento/tutorial
path5: /home/derek/workshop_patches
path6: /usr/local/lib/pd/doc/5.reference
path7: /usr/local/lib/pd/extra/xjimmies
npath: 7
standardpath: 1
verbose: 0
loadlib1: pool
loadlib2: iemlib1
loadlib3: iemlib2
loadlib4: iem_mp3
loadlib5: iem_t3_lib
loadlib6: OSC
loadlib7: zexy
nloadlib: 7
defeatrt: 0
flags: -alsamidi -rt
[ Read 31 lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Txt ^T To Spell
請記住,如果你增加一個新的路徑或loadlib,那麼你將需要給它一個數字高於之前存在的路徑或loadlib,並且你會需要改變npath 或 nloadlib到新路徑的數字,或你已經增加的loadlibs。在上述的pdsettings ,新增PDP的loadlib ,你必須添加/更改如下所示:
loadlib8: pdp
nloadlib: 8
Linux
OS X用戶不妨嘗試使用Property List Editor.app,它可以由XCode Tools 或 Server Tools 光碟安裝,可免費從apple下載:
http://developer.apple.com/tools/xcode/
這是Property List Editor,與org.puredata.pd.plist打開文件:
你可以點擊直接在數值領域改變數值,或使用New Sibling按鈕添加新的一列。命令列通常預設也可以被使用。下面的終端機命令列列出在org.puredata.pd.plist 的所有pdsettings:
defaults read org.puredata.pd
下面的命令可以用來寫一條新的命令列到pdsettings:
defaults write org.puredata.pd loadlib30 test
而且這命令可從pdsettings用來刪除一個命令列:
defaults delete org.puredata.pd loadlib30
在這種情況下, loadlib30代表了未來可能的命令列,可以增加下載一個函式庫( 29個函式庫已經載入),並測試了一個假設的函式庫,我們增加到啟動於第一次情況下使用寫入命令,並刪除從啟動在第二次情況下使用刪除命令。更多有關預設資訊,鍵入:
defaults --help
Windows
Windows使用者也可以使用REGEDIT(註冊表)程式修改其pdsettings 。這程式是跟隨著Windows操作系統,並可以設下名稱Regedit.exe或Regedt32.exe( Windows XP或更新版本)。請注意:手動編輯Windows註冊表文件,使用文字編輯器代替註冊表通常被認為是不安全的,因為這裡的錯誤會破壞整個操作系統!更多感到興趣的註冊表細節,請閱讀這裡:
1 則留言:
你好,我是在mandriva2009 下的新用户,我已经成功编译了pd,但是在startup 还有 path处,总是有问题,我把相应的扩展文件夹例如Gem等,放入了相应的位置,并且如上面提示写好了路径,但是当我再次打开pd的时候,始终提示我:
can't load library
cyclone: can't load library
...
等等。
我不知道问题所在,因此请求帮助
張貼留言