<< Top
Pd ドキュメンテーション 3 章: Pdの動かし方

目次へ戻る

Pdの起動と動作方法は、オペレーティングシステムによって異なります。Pdは Irix, Windows, Linux で動作します。まず最初に、Pdを入手してインストール しなくてはいけません。そしてMIDIやオーディオの入出力処理のどんな問題も解 決しなくてはいけません。最後には確実にPdのリアルタイム処理を行なわせるこ とができます。 トラブルが起きた場合はPdメーリングリスト・アーカイブ http://iem.kug.ac.at/mailinglists/pd-list/ を調べましょう。ここでは設定の問題や解決に関するlate-breakingニュースが あります。

3.1. Pdの入手とインストールの方法

3.1.1. IRIX (SGI マシン)

Pd("tar.Z"形式の圧縮ファイルのはずです。)をダウンロードします。この ファイルは、コマンドライン・シェルから "zcat [name].tar.Z | tar xf -" と タイプ入力することで展開できます。展開すると "pd" という名前のディレクト リができます。

リリース0.25から、Pdには "n32" と "o32" バージョンが存在します。 "o32" がIRIX 5.X 以降で動作する標準のバージョンです。"n32" は高速ですが、 IRIX 6.X 以降でないと動作しません。さらに"externs"を"n32"用にアップデー トする必要があります。実行ファイル"pd"(このディストリビューションでは bin/pd)は "pd-o32" か "pd-n32" どちらかのシンボリック・リンクになってい ます。

Pd実行ファイルへのパスが空白文字を含んでいないか、よく注意してくださ い。例えば、"Program Files"のような名前のディレクトリには入れないでください。

もし、たとえば "~" (訳者注: " ~ " はユーザーのホーム・ディレクトリ) にpdを入れた場合、実行プログラムは "~/pd/bin/pd" です。プログラムはコマ ンドラインを参照して現在のディレクトリを解釈します。したがってパス名を完 全に記述してPdを起動するのがベストです。重要なメッセージは標準エラー出力 に表示されるので、Pdの起動は常にUnixシェルから行なうようにしてください。

Pdを簡単に起動するには、(cシェルを使用している場合)".cshrc"ファイル の中に以下のようなエイリアスを記述する方法があります:


    alias pd ~/pd/bin/pd

(この例は、Pdディストリビューションが ~ にあると仮定しています。)
(assuming your Pd distribution landed in ~, for example).

同期の有無に関わらず、Pdは "default" オーディオ入出力デバイスを開き ます。同期していない場合これは好ましくありません; "-noadc" または "-nodac" フラグを用いて、入力または出力を無効にしてください。Pdはオーディ オの入出力を8チャンネルまで扱えるようになっています。(しかし少なくとも、 あるユーザーはOnyx上で8チャンネル動作をさせる為にPdを再コンパイルしなけれ ばいけませんでした。)

Pdは単純に全てのMIDIデバイスを入出力用として開こうと試みます。これは おそらく、私のIndyより新しい機種では非常にまずい方法です。あるMIDIポート を入力または出力として開くのに失敗しただけで、すべてのMIDIポートが使用で きなくなります。

まだPdはIrixのリアルタイム優先処理に対応していません; ゆえにPdは、 実行されている他の全プロセスとCPUタイムの取り合いをします。

3.1.2. Microsoft Windows

PdはNTでコンパイルされていますが、そのままで windows95/98 上 でもうまく動作します。Pdは "zip" ファイルとして配布されています。これを 展開すると、\Pdのようなディレクトリが作成されます。(これをどこでも 好きなディレクトリに置いて構いませんが、パス名にスペースが含まれないよう にしてください; 従って "Program Files" には置くことができません。)

たとえばPdを "C:\pd" に置いた場合、実行プログラムは "C:\pd\bin\pd" に存在します。"C:\pd\bin" を含むようパスを設定すれば、コマンドプロンプト・ ウィンドウから "pd" と入力するだけでPdを起動できます。Pdの起動用に "command prompt"のショートカットを作るのも良いでしょう。

Pdは "TCP/IP networking" を有効にする事を要求します。これは具体的なネッ トワーク接続を意味するのではなく、単にPdが二つのプログラムで構成されてい て、これらが相互に通信するために"network link"を使うからです。

3.1.2.1. Windows 95 特有の手続き

Windows 95 ではすこし困難が予想されます。この問題に取り組んだ多くの ユーザーが新たな問題に遭遇しているようです。Pdを動作させるベストな方法は "MSDOS Prompt" プログラムから "\pd\bin\pd" とタイプ入力することです。(も しくはパスはなんでも最後まで入力する。) 環境変数PathにPdの"bin"ディレク トリを加えることで、プロンプトから"Pd"とタイプ入力するだけで起動できます。

Pdの起動に失敗した場合にエラーメッセージを保持するウィンドウがすぐに 消えてしまうので、"スタート"メニューの"ファイル名を指定して実行(R)"から Pdを起動しないようにしてください。同様に、"バッチファイル"やPdの実行ファ イル自体をクリックして起動する方法も避けてください。

Windows95でPdの起動に失敗する最も一般的な原因は"ネットワーク "の設定が有効になっていない場合です。Pdの実体はIPで相互通信を行なう2つの プログラムです。時々windowsが勘違いして意味もなくISPに接続しようとする事 があるので用心してください。

Windows95で安定したオーディオアウトプットを得るためには、莫大なオー ディオバッファーを設定することが要求されます。詳しくはコマンドライン引き 数の項を参照してください。

3.1.3. Linux

インストールの手順は、あなたがどのような種類のLinuxを使っているかに よって異なります。 (たとえば、Debian とか Red Hat とか。) このインストー ル手順は Pd 0.33 以降であれば環境によらずうまく行くでしょう。しかし、も しも何らかのトラブルが生じた場合は、msp@ucsd.edu にメールしてください。 問題の原因に対処してこのインストール手順をアップデートします。

インストールをはじめる前に、Pdに必要な資源があるかチェックしたほうが 良いでしょう。まず必要になるのは「C言語コンパイラ」と「X window(Pdとのリン クにX開発パッケージも必要になります。)」と「 Tk 」です。あなたが RedHat か Mandarake 7.X 以降を使用している場合は、これらはすでに標準パッケージ の中に含まれています。RedHatのXクライアント開発用"RPM"パッケージは、 "XFree86-devel"という名前です。

絶対にXサーバーパッケージを動かしてはいけません。別のマシンのXサーバー に接続するには、マイクロプロセッサーがPdを動かすのと同じくらいの時間がかかり ます。

RedHat Linuxを使用している場合、PdのインストールにRPMパッケージが使 用できます。そのほかのLinuxディストリビューションではPdの"tar.gz"版をダ ウンロードしてコンパイルしてください。

RPM 版のPdを使用する

Pdをダウンロードします。おそらく: http://www.crca.ucsd.edu/~msp/software.html , に "pd-0.33-0.i386.rpm" というファイルがあります。"Shell"ウィンドウを開 いて、先程ダウンロードしたファイルの存在するディレクトリに移動します。さ らに以下のコマンドをタイプ入力してください。

    rpm -i pd-0.33-0.i386.rpm

(実際のRPMファイル名はバージョンによって異なります。) あとはシェルか ら"pd"とタイプ入力すればPdのメインウィンドウが表示されるでしょう。

.tar.gz 版のPdを使用する

Pdをダウンロードします。おそらく http://www.crca.ucsd.edu/~msp/software.html , にある "pd-linux-033.tar.gz" というファイルです。"Shell"ウィンドウを開い て、先程ダウンロードしたファイルの存在するディレクトリに移動してください。 さらに以下のコマンドをタイプ入力します。

    zcat pd-linux-033.tar.gz | tar xf -
コマンドが実行されると "pd" という名前のディレクトリが作成されます。 私はホームディレクトリから実行しました。次はこれらをコンパイルします。 pdディレクトリに移動して"INSTALL.txt"を読んでおいてください。まず "pd/src"に移動して以下のようにタイプ入力します。
    ./configure
    make depend
    make

あとは "~/pd/bin/pd" とタイプするだけで起動します。

もしくは、スーパーユーザーとして、"make depend", "make install"の順 に実行してください。このようにするとシステム上のほかのユーザーも"pd"とタ イプするだけで起動できるようになります。

TK のサポートに関するトラブル

Pdが共有ライブラリ "libtcl.so" と "libtk.so" を検索する際に問題が生じる という例が報告されています。原因はまだ分かりませんが、とりあえずこれを修 復することは可能です。rootユーザーになって、"/usr/lib/libtcl.so" という 名前で "/usr/lib/libtcl8.3.so" へのリンクを作ります。さらに Tk に関して も同様の処置を施します:
    # cd /usr/lib
    # ln -s libtk8.3.so libtk.so
    # ln -s libtcl8.3.so libtcl.so

オーディオとMIDIのテスト

次はオーディオです。オーディオの出力が動作しているか、オーディオの入 力が動作しているか、さらにはそれらが同時に動作するかを確かめなければいけ ません。最初に "aumix" を実行して、オーディオの出力と入力のゲインおよび それらのデバイスが "recording" 状態であることを確認します。オーディオの 出力をテストするためには、以下のように実行します。

    pd -noadc
Pdが起動したら、"help"メニューから "test audio and MIDI" を選択してくだ さい。パッチが表示されるはずです。test toneをオンにして聞いてみてくださ い。普通、シグナルのあるところが動作します。

つぎにオーディオ入力をテストします。一旦Pdを終了させて、以下のように 起動し直します。

    pd -nodac
テストパッチを開き、"meter" をクリックしてレベルを確認します。100 dB は クリップが激しいことを示しています。ゲインを調節して、インプットレベルが 80から90を越えないでだいたいその辺りになるようにしてください。

フラグ無しで"pd"とタイプ入力して、オーディオ・ドライバーが全二重で動 作できていることを確かめてください。もし /dev/dsp か /dev/dsp2 が必要で あるというエラーメッセージが表示された場合、その環境ではオーディオの入出 力を同時に動かすことはできません。反対にまったくエラーメッセージが表示さ れず、さらにオーディオテスト・パッチが正常に動作する場合は、 "-audiobuffer" フラグをつけてオーディオシステムのレイテンシーを確認して ください。

3.2. オーディオとMIDIのサポート

PdはIRIX, Windows, と Linux でマルチチャンネル・オーディオをサポート します。IRIXではトラブルも少なく動作しまが、他の二つにおいては様々なこと に注意を払う必要があります。

オーディオの入力または出力のみに興味を持っているかもしれません。もし くは両方同時に動かす必要もあるでしょう。標準ではPdは両方を動作させようと 試みます。しかし、入力か出力のどちらか一方が必要ない場合は、それを切るこ とでPdをより確実に能率的に動作させられます。これらの制御はPdのコマンドラ インフラグを用いて行なわれます。

得られるレイテンシーの厳密な長さは、そのときのアプリケーションによっ て影響を受けます。理想的には、何らかの入力(オーディオ, MIDI, キーボード, ネットワーク)があったとき、出力(特にオーディオ出力)はただちに反応すべき です。現実には、オーディオの入出力にはバッファーが必要です。オーディオバッ ファーでは、CPUの処理がPdから他のタスクへ移行する際にかかる時間を埋める ために、実時間より数ミリ秒先の情報を常に保持しています。レイテンシーをど れだけ短くできるかは、使用しているOSとオーディオ・ドライバに依存します。

オーディオとMIDIのテストをするには、Pdを起動して"help"メニューから "test Audio and MIDI"を選択してください。

TIP: Pdは起動したけどオーディオ出力にひずみやジッターが混じるという時は、 "audio I/O buffer"の大きさが十分でないか、または実行しているパッチのCPU 負荷がマシンに対して大きすぎる場合です。もしくは、ADCとDACが同期していな いか、異なったサンプル・レートになっている場合も考えられます。一番目であ る可能性を検証するには、コマンドライン引き数 "-audiobuf" の設定値を増や してみてください。(コマンドライン引き数に関しては各OSに関する項も参照す ること。) 2番目の可能性を検証するには、任意のパフォーマンス・モニター・ プログラムを起動してください。3番目を検証する場合は、ADCを切った状態でPd を起動してみてください。

3.2.1. IRIX (SGI マシン)

Pdは、入力と出力のチャンネル数及びサンプル・レートを設定するために コマンドライン引き数をとります。これらはSGIのオーディオ・セッティングに 影響しないので、「オーディオ・パネル」からそれぞれ別々にセットしなけ ればなりません。あなたがコマンドライン引き数で指定されていない場合、Pdはオー ディオのサンプル・レートを独自に設定します。

SGIマシンでは、MIDIを動作させるために世話を焼いてやる必要があります。 Pdを始める前に、少なくとも1つのMIDIポートが開かれていることを確認してくだ さい。 Pdは開かれている中で最初のMIDIポートを使用します。IRIX 6.X を使用 している場合IRIX 6.X を使用していて、Pdに「ソフトウェア」MIDIポートを選 択させたくない場合があるかもしれません。Indyにおいては、いくつかのシステ ムが標準でシリアル・ポート1を「コンソール」として設定されているので、通 常Pdではシリアルポート2を開くようにしてあります。必要であればGUIも使用で きますが、もしくは、以下のようにタイプ入力することも可能です。

    startmidi -d /dev/ttyd2
上のコマンドでは、ポート2をMIDIに使用します。
    stopmidi
MIDIを停止するには上のように入力します。MIDIが設定されているか確認したい 場合は
    ps -dafe | grep midi
このようにタイプして、"startmidi"プロセスの部分を見てください。

"startmidi"コマンドをタイプする前に、最低でもIrix5.xでは、MIDIインター フェイスとシリアルポートを接続しておく方がよいでしょう。私は Opcode Studio 3 インターフェイスを使用していますが、Macに互換性のあるものは原則 的に動作するでしょう。

O2にはRS422ではなくRS232ポートが付いているようです。おそらくSGIのウェ ブサイトでこの扱いに関して何かアナウンスがあるとおもいます。

3.2.2. Windows/NT (PC 互換機)

PCでは、"pd -listdev" とタイプする事でオーディオとMIDIの装置のリスト を表示できます。また、その中から使用するオーディオまたはMIDI装置を指定で きます。"pd -help"とタイプ入力すると(あるいはコマンドライン引き数を誤っ た場合)、コマンドライン引き数のヘルプが表示されます。

ほとんどのPC用サウンドカードは、MIDIを内蔵しているようです; PdにMIDI の送受信をさせるのに特別何かする必要はないでしょう。MIDIデバイスはオーディ オと同じ方法でリストし選択することができます。

オーディオ入力と出力を同時に使用していると、MIDIのタイミン グは非常に貧弱になります; windowsNTでは、オーディオ入力あるいは出力を抑 えることで多少改善するでしょう; 今のところでは、~40ミリ秒までジッタを抑 えることができます。 Windows95上では、その性能はとてもひどいものになり ます。 Windows98では、オーディオ入力あるいは出力のいずれかを抑えることで かなりよいMIDIタイミング(~5ミリ秒ジッタ)を得られますが、ときおりPdがクラッ シュします。

いくつかのNTおよびWin98用ドライバは"resyncing audio"メッセージをだし まくります。"-noresync"フラグを付けてPdを起動することで、これを改善でき る場合があります。

3.2.3. Linux (PC互換機 と Alpha)

予告しておきます: LinuxにオーディオとMIDIのドライバをインストールし てテストする作業は、数日もしくは数週間を要するかもしれません。Linuxオー ディオについての詳細な情報は、一箇所にまとめられていません。このインフォ メーションだけでなく、Guenterのページ http://gige.epy.co.at/ も参照すると良いでしょう。

使用しているハードウェアやソフトウェアによって、たとえば、オーディオ の出力と入力を同時に使った場合などに、Pdを「全二重」で動作できたりできなかっ たりします。多くのアプリケーションで「全二重」が可能であるにこしたことは ありませんが、万一にも、同時の入力および出力を必要としなければ、オーディ オ入出力に関するトラブルはずっと少なくなるでしょう。

「OSS」および「ALSA」と呼ばれる、広く使用された2種類のドライバー・セット があります。OSS はvirsion2.2以降のLinuxカーネルに標準で実装されています。 しかしながら、いくつかのオーディオ・カードについては、カーネルに標準で含まれて いるより新しいバージョンのドライバを見つけることができます。 http://www.alsa-project.org/ . から ALSA を入手することができます。

http://www.opensound.com/ . を訪れてみてください。ここではOSSドライバが(普通のより少し高価な)お値 段30ドルで市販されています。こちらはフリーのOSSドライバよりも簡単に使え るかもしれません。一度も試してみたことはありませんが…。)

ALSA はOSSをエミュレートすることが可能です。したがってALSAが動作して いる状況下でも、Pdの設定は"OSS"に指定しておけばたいていは使用できます。

3.2.3.1. OSS のインストール

OSSは非常にloadableなデバイス・ドライバのコレクションです。 ドライバをロード/アンロードするコマンドは "insmod" および "rmmod" です。 root権限で "lsmod" を実行すれば、オーディオ・ドライバの動作状況が確認で きます。OSSが動作していれば、以下のように表示されます:

  

Module         Pages    Used by 
eepro100           3            1 (autoclean)
opl3               3            0
opl3sa2            1            0
ad1848             4    [opl3sa2]       0
mpu401             5    [opl3sa2]       0
sound             15    [opl3 opl3sa2 ad1848 mpu401]    0
soundcore          1    [sound] 6
soundlow           1    [sound] 0
aic7xxx           23            2

以下のようにしか表示されなかった場合、オーディオ・ドライバは動作していま せん。:

eepro100           3            1 (autoclean)
aic7xxx           23            2

(訳者注: 原文の記述が不明瞭なので訳出も意味が良くわからん。)
依存モジュールより前に、あるモジュールを削除しないならば、 繰り返し"rmmod"を実行してOSSを切ってから"opl3"(もしくは何か)と一緒に開始 したほうが良いでしょう。上のリストでは、"opl3*" は依存デバイスなので実際 の表示とは異なっているかもしれません。

"/etc/modules.conf" というファイルで、Linux起動時のサウンド・ドライバの制 御をおこなっているようです。"sndconfig"プログラムがこのファイルを更新し ます。たとえば2つのサウンドカードを使い分けたいときなどは、設定ファイル を手動で書き換えても構いません。Redhat 6.x 以前では設定ファイル名が "conf.modules" になっています。

OSS 用の modules.conf はこうなります:


alias eth0 e100
alias parport_lowlevel parport_pc
alias char-major-81 bttv
alias usb-controller usb-uhci
alias sound-slot-0 i810_audio
alias sound-slot-1 es1371

この場合のサウンドカードは 「(マザーボードに内蔵の)i810ドライバー」と 「ensoniq es1371」です。

最低でもRedhatでは"sndconfig"プログラムがサウンドカードの自動検知を 試みてくれます。使いたくないほうのサウンドデバイスだけが発見されてしまう という不幸な結果に終わることもあったりします。

Pdのバージョン0.33では、使用するサウンドカードを選べません; 要求さ れたチャンネル数だけ、サウンドデバイス"0" から順に割り当てられます。上記 の状況では、"es1371"カードが最初になるようmodules.confを手動で書き換えれ ばPdがチャンネル1に割り当てます。

3.2.3.2. ALSA

ALSA は最近のものなので安定していなく使用にもOSSより手間がかかります。一 部のマルチ・チャンネル・カードはALSAのみをサポートし、OSSはサポートしま せん(また、今のところはALSAのOSSエミュレーションはステレオしかありません)。 ALSAには"finished"バージョン(0.5.x系)と、独立に再設計された"beta"バージョ ン(0.9系)が存在します。ALSAのインストール作業はトリッキーで混乱するでしょ う。

Pdのバージョン0.33ではALSAのバージョン0.5.xまたは0.9.xが動作します。 RPMバージョンのPdは ALSA 0.9.x 向けにコンパイルされています。"tar.gz"バー ジョンをALSA向けにコンパイルするには、"./configure --enable-alsa"と実行 してください。(詳しくは"INSTALL.txt"を参照のこと。)

標準では、PdはOSSを使用します。ALSAが動作している場合は、PdはALSAの OSSエミュレーション・モードを使用します。PdがALSA本来のモードを使用する ようにするには、コマンドラインで "-alsa" フラグを付加してください。

ALSAでは、使用するサウンドカードを"-alsadev"フラグで指定できます。 たとえば、"-alsadev 3" で3番目のカードを指定できます。また、"-alsadev hw:3,0" のように、ALSA方式でフラグを記述することも可能です。

3.2.3.3. ストリームとブロックのモード (-frags flag)

最低でもOSSのもとでは、プログラムは音声を「ブロック」又は「ストリー ム」モードで流すことができます。ストリーム・モードは、ブロック・モード よりも現代的で適当な方式です。しかし(最近のサウンドカードのものも含めた) 大多数のサウンド・ドライバーは、「ブロック」モードだけしかサポートしてい ません。Pdの設定では「ブロック」モードを標準として動作するようになってい ます。

3.2.3.4. サウンドカードはどれですか?

この項では、サウンドカードに関してこれまで私が経験したことの概要を述べま す。 また、Guenterのオーディオ・ページも参照するようにしてください。

opl3sa

これは「YAMAHA」製の旧式なISA・オーディオ・システムです。多くのDellマシ ンや低価格なコンシューマ・クオリティのオーディオに用いられているようです。 OPL3saオーディオシステムを除いて、現在のバージョンのOSSでは全二重動作が 可能なはずです。これはISA 「プラグ アンド プレイ」デバイスなので、I/Oア ドレスをすべて指定してやる必要があります。(訳者注: 意味が通ってないね・・・。)

cs4232

1999年式のビンテージ・デュアルプロセッサーなDellマシンは "cs4232" オーディ オを搭載しています。私はこれを動かすことができませんでした。

es1370 (old Creative PCI128s; Ensoniq AudioPCI)

es1370 とはチップの名称です。これ以外にも、安価なオーディオカードで es1370 が使用されています。オーディオの質はいまいちのようです。私はこれ を使って4チャンネル独立の出力を実現できましたが、現在は使用していません。 PCI128 のアメリカでの市場価格は $30 です。

私の PCI128 では、オーディオの入出力はクリアにラベルづけされず、様々なド キュメントでもはっきりしない名前付けをされています。私のカードには、4つ のステレオ・ミニジャックとジョイスティック・ポートが1つ付いています。対 応は次の通りです。

joystick    black            green       red       blue
            bidirectional    line-out    mic-in    line-in
次のようにタイプ入力するだけで es1370 ドライバーをon the flyでロードでき るはずです。
    modprobe es1370
( "rmmod" を動作させると、他のドライバーもおそらく上記のような書式で表示 されます。)

コンピューターの起動時にes1370ドライバを自動でロードさせるに は、"/etc/conf.modules"に以下の行を追加します。
    alias sound es1370
    pre-install sound insmod sound dmabuf=1
    alias midi es1370
もしくは、(root権限で)"sndconfig"コマンドからこれを設定します。

カードをきっちりと動作させたければ、Guenterのes1370制御プログラムをダウ ンロードしてコンパイルする必要があります。これは "small patch" の一部で あり、 http://gige.epy.co.at/pd/cards.html . からダウンロードできます。

実に厄介なことに、正規の「ステレオ」出力は黒いジャックに移動し、新しい 「バック」チャンネルは正規のライン出力(緑)に移動します。さらには、通常は バック・チャンネルが前面のチャンネルにミックス(いや逆だったっけかな?)さ れるので、4チャンネル独立で動作させるにはaumixを1時間程 play blind man's bluff with させなければいけません。

私家版の Guenter's control program が http://www.crca.ucsd.edu/~msp/Software/audio-es1370.tar.gz. からダウンロードできます。

現在(Pd 0.31)は、es1370用のALSAドライバーもうまく動作します。

Creative SBLive

標準的なLinuxディストリビューションにOSSドライバが付属していますが、これ はMIDI入力の選択をサポートしていないので、PdはMIDI入力を認識できません。 MIDIが必要な場合はALSAをインストールする必要があります; この場合、OSSエ ミュレーション、ネイティブのどちらでも好きなモードでALSAを使用できます。 ですが、Alsa 0.9 beta よりも "安定版の" Alsa 0.5 で動かしたほうがPdにとっ ては具合が良いようです。

Sonorus Stud I/O

この1000ドルのカードは、ベータ・バージョンの商用OSSドライバーを使用する ことで、Linuxでマルチチャンネル・デジタル・I/Oを実現できます。Sonorusの ウェブサイトでは、"MedI/O"と呼ばれる新製品を宣伝しています。

RME 9652 (Hammerfall)

これは最良のサウンドカードです。値段はおよそ500ドルで、3つのADAT I/Oポートおよび 1つの SPDIFを持っています。その他の製品として "baby hammerfall" というものがありますが、これは "9632" を使用しているものと思 われます。他のRME製サウンドカードと 9652/9632 を混同しないように! それ らはPdでは動作しません!

Guenterのサイトに、(RedHat 7.1 のような)2.4カーネル版の Hammerfall用 OSSドライバーがあります。 http://gige.xdv.org/pages/rme . から入手できます。必要な方はダウンロードしてコンパイルすると良いでしょう。

Winfried Ritsch によるやや古いドライバーがあります。Pdに "-rme" フラ グをつけて起動すると有効になります。これは 2.2カーネル でしか動作しませ んので、まあ、やめておいたほうが良いでしょう。

現在はHammerfalls用のALSAドライバーも存在するようですが、私の聞いた ところでは、まだPdでは動作していません。

MIDIMAN

Midimanは4から12のアナログ入出力チャンネルを備えたデバイスを販売して います。これらの機器用のALSAドライバーも存在します。これらは、旧型(0.5) のALSAドライバーで良好に動作するようです。私の環境では Alsa 0.9 beta 4 で動作しています。ドライバーの名前は "ice1712" です。

このドキュメントの執筆時点では、ALSAの最新バージョンは 0.9 beta 7 で す。ドライバーのロードに成功すると、Pdのテスト・トーンは2・3オクターブ低 くなって発声されます。しかし、Marco Trevisaniの指摘によると、ALSA tools から "envy24control" を実行して、sync source を (標準設定の)SPDIF から内部ク ロックに切り換える必要があります。この設定作業に関して、わたしはまだなの でそのうちにやっておくつもりです。

i810/i815

RedHat 7.0 では、マザーボードに内蔵されている i810 オーディオ・シス テム を全二重で動かせません(動かすとlinuxがクラッシュする)。Pdを -noadc で動かすか、ALSAをインストール(こっちの方がオススメ)してください。

Yamaha YMF724

このカード用のOSSドライバーはいまのところMIDIをサポートしていません。 ALSAに関しては、私は試していません。

ES1371

このチップセット用のOSSドライバーで、オーディオとMIDIの両方が良好に 動作します。

3.3. GEMを用いたグラフィックス・レンダリング

Mark Danks のGEMパッケージ は、 http://www.danks.org/mark にあります。OpenGLを使用した3Dグラフィック・レンダリングの拡張機能をPdで 使用したい場合はこのパッケージをダウンロードしてください。

3.4. Pdを起動する

Pdは「コマンドライン・プログラム」です。最も良い実行方法は "ターミナル・ エミュレータ", "shell" または "MSDOS プロンプト" から起動することです。 コマンドライン書式は以下の様になります:

    pd [オプション] [開きたいパッチファイル]

コマンド・インタプリタがPdを見つけられるよう、パスを指定してやる必要があ るかもしれません。(パスの指定のしかたはOSに依存します。) 以下に指定可能なオプションを列挙します:

オーディオ制御用フラグ:
-r            -- サンプルレートの指定
-inchannels   -- オーディオ入力のチャンネル数
-outchannels  -- オーディオ出力のチャンネル数
-audiobuf     -- オーディオバッファーのサイズをミリ秒単位で指定
-sleepgrain   -- アイドル時のスリープ・タイムをミリ秒単位で指定
-nodac           -- オーディオ出力を抑制
-noadc           -- オーディオ入力を抑制
-nosound         -- オーディオ入力と出力を抑制

(linux 専用のオーディオ制御フラグ:)
-frags        -- オーディオ・フラグメントの数を指定する。(audiobufを無効にします)
-fragsize     -- フラグメントのログのサイズを指定する。('blocksize'を指定するのが好ましい)
-blocksize    -- サンプルフレームのオーディオI/Oブロック・サイズを指定する。
-stream          -- オーディオをストリーム・モードで使用する。(es1370 audio card等で使用できます)
-alsa            -- ALSA オーディオ・ドライバを使用する。
-alsadev      -- 使用するALSA デバイスの番号 (#1, #2 ...) もしくはデバイス名: default hw:0,0

(MS Windows 専用のオーディオ制御フラグ:)
-listdev          -- オーディオとMIDIデバイスのリストを表示。
-soundindev    -- オーディオ入力デバイスの番号を指定。
-soundoutdev   -- オーディオ出力デバイスの番号を指定。
-resync           -- オーディオの同期をやり直す。(3チャンネル以上の場合は自動で設定される)
-noresync         -- オーディオI/Oの再同期をしない。 (ステレオの場合は自動で設定される)

MIDI 設定フラグ:
-midiindev ...   -- midi入力デバイスをリスト表示。  例) 1番と3番の場合 "1,3" と表示される。
-midioutdev ...  -- midi出力デバイスをリスト表示。
-nomidiin        -- MIDI入力を抑制。
-nomidiout       -- MIDI出力を抑制。
-nomidi          -- MIDI入力・出力を抑制。

一般フラグ:
-path      -- ファイル検索パスを追加。
-open      -- 起動時にこのファイルを開く。(複数指定可)
-lib       -- オブジェクト・ライブラリをロード。(複数指定可)
-font         -- デフォルトのフォントサイズ(point)。
-verbose         -- 冗長モード
-d            -- デバッグ・レベル
-noloadbang      -- 全ての loadbang を抑制
-nogui           -- GUIを抑制
-guicmd "cmd..." -- 他のプログラム"cmd..."でGUIを代替 (e.g., rsh)
-send "msg..."   -- 起動時にメッセージ"msg..."を送信 (after patches are loaded)
-rt or -realtime -- リアルタイム・プライオリティを使用する (要root権限)

以上が各オーディオ・MIDIオプションの詳細です。 (また、次節のファイルの取り扱いの項も参照のこと)

3.4.1. サンプル・レート

このサンプル・レートはPdのロジカル・サンプルレートを制御します。ロジカル・サンプルレートが、 オーディオ入出力デバイスのサンプルレートと同じである必要はありません。サンプルレートが正し くない場合でも、その数値に従って時間が流れるので、出力音声は移調された形で再生されます。 出力デバイスと入力デバイスをそれぞれ異なるレートで動作させた場合、Pdはそれらを同期させようと して絶えずフレームを取りこぼすことになり、出力される音声も悪化します。このような時は入力または出力を無効にした方が良いでしょう。

3.4.2. オーディオバッファーのサイズ

オーディオバッファーのサイズはミリ秒単位で指定できます。一般的には、OSとドライバーの 性能をみて10〜300の範囲にサイズを指定します。この値が少なすぎるとI/Oエラー("data rate") が起こります。反対に大きすぎるときはスループットが遅れて、信号の入力と出力に間が空いて しまいます。

Linux版では、さらにサンプルフレーム中のオーディオ・ブロックサイズも指定できます。

3.4.3. MIDIデバイス

複数個のMIDI入出力デバイスを指定できます。例えば、"pd -midiindev 3 -midioutdev 4,2" とすると、3番のMIDI入力デバイスと4番・2番のMIDI出力デバイスを使用します。 notein や pgmout のような "channel message" midiオブジェクトでは、チャンネル1〜16は最初に 開かれたMIDIポートに相当します。同様にチャンネル17〜32が2番目のMIDIポートに割り当てら れています。midiin, sysexin, midiout オブジェクトには、MIDIポート番号を指定する為の入力端子 が設けられています。

Linuxでは、例えば "pd -midioutdev 1" とすると、/dev/midi0 または /dev/midi00 (もしくは /dev/midi) を指定したことになります。"-midioutdev 45" は /dev/midi44 に 対応します。Windows-NTでは、デバイス番号0 は、 "MIDI mapper" などの、コントロール パネルで選択した標準のMIDIデバイスが対応します。デバイス番号は、"pd -listdev" で 表示されたカードの順番を1から数えたものが使用されます。

3.5. ファイルの取り扱い

Pdはサーチ・パス機能をもっています。コマンドラインで "-path" オプションを使用 することによってサーチ・パスを設定できます。複数のサーチ・パスを設定すること もできます。Linuxで複数のパスを設定するときは、ひとつの "-path" オプションの後 に複数のパスをコロンで区切って列挙します (NTでは区切り文字にセミコロンを使います)。 Pdがアブストラクションまたは"extern"を開く際には、必要なファイルをこれらのパス から検索します。qlistや(tableとして)arrayに対して "read" メッセージを使用した場合 も同様に動作します。注意! サーチパスに空白文字を含めてはいけません! たとえば、 "c:\my nonsense\goobers" をサーチパスに含めるとうまく動作しなくなります。


< 目次に戻る
<< Top