2009年11月23日月曜日

Debian で USBオーディオ

Debian lenny LXDEの環境下での、USBオーディオデバイスをデフォルトサウンドカードとして利用する方法。

まず使用しているUSBオーディオデバイスの名前を確認。
# asoundconf list
これをデフォルトサウンドカードとして設定。
# asoundconf set-default-card hogehoge
これだけでは安定してUSBオーディオデバイスをデフォルトサウンドカードと認識しない(何度か再起動するとオンボードのサウンドカードになっていたりする)。そこでUSBオーディオデバイスを最初に認識するように以下の設定を/etc/modprobe.d/alsa-baseの最後の方に書き加える。
options snd-usb-audio index=0
もし"options snd-usb-audio"が既に記載されていたらindexの番号を0に変更する。ここで一度再起動、ログアウトした方がいい(読み込み順序、デフォルトカードの確認のため)。
この段階ではほとんどの音楽再生ソフトが動かなくなると思う。そこで変更の旨をALSAの設定ファイル"~/.asoundrc"に直接以下のように書き加える。
pcm.!default{
type hw
card 0
}

ctl.!default{
type hw
card 0
}
"card 0"という番号はAudaciousなどのメディアプレイヤで調べることができる(/proc/asound/modulesを見てもいい)。
Audacious起動->Preferences->Audio->Output Plugin Preferencesと辿り、Audio deviceのコンボボックスを展開し、USB Deviceの(hw:0,0)というところでカードの番号を確認できる(デフォルトサウンドカードをUSBオーディオデバイスに設定している場合はおそらく0になっているはず)。図のように他のオーディオデバイスが接続されている場合は(hw:1,0)、(hw:2,0)などと割り振られる。



再起動すればメディアプレイヤやflashで音声を再生できる。