2008/11/17

配置pure data

pure data extended已做了很多事,使得安裝和設置pure data 比以往更加容易。但是,每個電腦系統是不同的,每個pd使用者將有不同的需要。本章節顯示如何設定pd的最基本部分,包括聲效卡和MIDI設備,以及一些進階的配置選項,對於那些希望定制自己的安裝。


基本配置
我們要作的第一件事,一旦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
這個選單裡,你可以切換在內建的
pdMIDI驅動程式和ALSAMIDI驅動程序之間,如果它們有被安裝在電腦內的話。如果使用ALSAMIDI驅動程序,然後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 Settings


Linux,你有使用內建MIDI驅動程式或是ALSA - MIDI驅動程式的選擇,如果它們有安裝在電腦的話。如果你使用的是內建的MIDI驅動程式,你應該能夠選擇哪些設備,pd將會送出和收到MIDI訊息。你也可以選擇"use multiple devices"

(使用多種設備),如果你有幾個使用MIDI的應用程式或裝置。這種方法是相當複雜的,因為你必須建立一些設備的使用啟動旗幟,而當pd正在執行的時候,你將無法更改。使用ALSA - MIDI驅動程式是更容易管理,因此建議使用它。

Linux上使用ALSAMIDI驅動程式的時候,你可以告訴pd輸入和輸出接口的數量在這裡使用。這是連接其他的MIDI應用程式或設備,可以使用連接到pd和連接出pd。至連接設備或應用程序,你可以使用ALSA MIDIJACK音頻驅動程式和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
為了確保你已經先設定你的音頻和
MIDI正確,pd包括一個patch來測試你的設定。如果您打開"Test Audio and MIDI"(測試音頻和MIDI),你會看到這個視窗:


首先,在"TEST SIGNAL"下面其中一個標示 -20 ”-40 ”的按鈕按一下。如果你的音頻設置正確,你會聽到一個測試音調,並且你會看到"AUDIO INPUT"上方的數字盒子變化,衡量任何傳入的音頻信號線或你的電腦麥克風。如果你有任何外部MIDI設備或一個MIDI軟體連接到pd,你可以測試連接MIDI資料發送到pd並且觀看,看看數字盒子接到[ notein ][ ctlin ]的變化。

進階配置
由於Pd-Extended已安裝大部分設定,搜索路徑和擴充的函式庫已經配置完成,許多使用者不必擔心puredata這些部份配置。然而,進階的使用者可能有興趣自訂化這些設定。在Puredata這些可改變的設定是相同有效的,當從命令列開啟:

audio configuration flags:
-r -- specify sample rate
-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 -- specify size of audio buffer in msec

-blocksize -- specify audio I/O block size in sample frames
-sleepgrain -- specify number of milliseconds to sleep when idle
-nodac -- suppress audio output
-noadc -- suppress audio input
-noaudio -- suppress audio input and output (-nosound is synonym)
-listdev -- list audio and MIDI devices
-oss -- use OSS audio API
-32bit ----- allow 32 bit OSS audio (for RME Hammerfall)
-alsa -- use ALSA audio API
-alsaadd -- add an ALSA device name to list
-jack -- use JACK audio API
-pa -- use Portaudio API
-asio -- use ASIO drivers and API
-mmio -- use MMIO drivers and API
MIDI
configuration flags:
-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 MIDI input
-nomidiout -- suppress MIDI output
-nomidi -- suppress MIDI input and output
-alsamidi -- use ALSA midi API
other flags:
-path -- add to file search path
-nostdpath -- don't search standard ("extra") directory
-stdpath -- search standard directory (true by default)
-helppath -- add to help file search path
-open -- open file(s) on startup
-lib -- load object library(s)
-font-size -- specify default font size in points
-font-face -- specify default font
-font-weight -- specify default font weight (normal or bold)
-verbose -- extra printout on startup and when searching for files
-version -- don't run Pd; just print out which version it is
-d -- specify debug level
-noloadbang -- suppress all loadbangs
-stderr -- send printout to standard error instead of GUI
-nogui -- suppress starting the GUI
-guiport -- connect to pre-existing GUI over port
-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 XLinux操作系統沒有-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_linuxOS X . pd_darwinWindows.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使用者可以編輯檔案直接通過命令列應用程式,如joevimpico nano
,或與任何其他文字編輯軟體來參與你的發行版本:

$ nano /home/derek/.pdsettings

GNU nano 1.2.4 File: /home/derek/.pdsettings

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 ,新增PDPloadlib ,你必須添加/更改如下所示:

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.exeRegedt32.exe Windows XP或更新版本)。請注意:手動編輯Windows註冊表文件,使用文字編輯器代替註冊表通常被認為是不安全的,因為這裡的錯誤會破壞整個操作系統!更多感到興趣的註冊表細節,請閱讀這裡:

http://en.wikipedia.org/wiki/Windows_Registry#Editing


1 則留言:

Unknown 提到...

你好,我是在mandriva2009 下的新用户,我已经成功编译了pd,但是在startup 还有 path处,总是有问题,我把相应的扩展文件夹例如Gem等,放入了相应的位置,并且如上面提示写好了路径,但是当我再次打开pd的时候,始终提示我:
can't load library
cyclone: can't load library
...
等等。
我不知道问题所在,因此请求帮助