執筆 2010-08-31
PulseAudio は POSIX と Win32 システムのための「サウンドサーバ」、とのこと。
ネットワーク経由でオーディオデバイスの仮想化ができるらしい。
ここでは複数のオーディオデバイスが接続された状況での、アプリケーションのためのデバイスの選択と設定について書く。
ここに説明がある。
下記、aptitude ではなく apt-get を使う必要がある。確認は Ubuntu 9.04 (32bit) で実行。
sudo apt-get install libasound2-plugins "pulseaudio-*" paman padevchooser paprefs pavucontrol pavumeter
デバイス認識状況、アプリケーションの動作状況の確認ができる。 出力デバイスと入力デバイスの設定を指定できる。
pavucontrol &
どうやらこのプログラムが動いていると wavesurfer が /dev/dsp を読めなくなり、 動いていなければ普通に /dev/dsp から録音できるらしい。
既存のプログラムで上記の設定が有効にならない場合は (OSSのAPIを使う必要があるので) padsp ラッパーを通す。
play を使う:
$ padsp play /usr/share/sounds/ubuntu/stereo/bell.ogg
wavesurfer を使う:
$ padsp wavesurfer &
wavesurfer 1.8.5 で確認。
Unable to open mixer /dev/mixer と出力される。
File → Mixer は無効になる。
Preference → Sound I/O で入出力とも /dev/dsp になっていると、 PulseAudio の Volume Control の設定が反映された動作になる。
プログラムの終了時にコンソールが少し固まる。
http://linux.die.net/man/1/padsp によると /dev/mixer エミュレーションができる
$ padsp -M wavesurfer &
関連記事:ALSA対応のwavesurfer