Ubuntu Weekly Recipe

第159回 オーディオインターフェイスを使う ― USB/PCIバス/PCI-Expressバス編

この記事を読むのに必要な時間:およそ 5 分

PulseAudioを使わないXubuntuの場合

xfceをデスクトップ環境とするXubuntuは,軽量デスクトップ環境として人気があります。このXubuntuですが,標準状態ではPulseAudioがインストールされません注3)⁠

一般的なサウンドデバイスは,一度にひとつの音声データしか扱うことができません。PulseAudioは複数のアプリケーションが送ってくる音声データをミックスしてひとつの音声データとしてサウンドデバイスに送ることで,この問題を解決していました。そのため,もしPulseAudioがなければ,ネットストリーミングサービスの音声を流しているときにメールやチャットの通知音を聞くことができなくなります。

注3
Ubuntuに不足パッケージを追加してXubuntu相当とした環境では別です。

ALSAのdmixプラグイン

それではXubuntu,もといPulseAudioがインストールされてないUbuntuがこの課題にどう対処しているかというと,ALSAのdmixプラグインを利用しています。Ubuntuの標準のサウンドデバイスドライバであるALSAは,サウンドデバイスとサウンドアプリケーションの仲介を行う機能だけではなく,音声データのフォーマット変更を行ってからデバイスに音声データを送る機能を,ALSAライブラリで提供しています。PulseAudioがインストールされていない場合,Ubuntuはその機能を利用し,複数の音声データをミックスして,ひとつのサウンドデバイスから出力します。そのため,PulseAudioなしでも音声のミックスが可能となっています注4)⁠

注4
標準のサウンドデバイスに対する設定は,ファイル「/usr/share/alsa/alsa-base.conf」に記述されています。dmixプラグインのサンプリング周波数などに関する設定も,このファイルに記述されています。

ALSAのカード認識順番と標準出力先

ここで,XubuntuにUSB接続のオーディオインターフェイスを接続してみます。音楽プレイヤーから音声を出力しても,オーディオインターフェイスから音声が出ないと思います。これは,Xubuntuの標準の音声出力先がオーディオインターフェイスとなっていないためです。

どういうことか確認してみましょう。まず端末で「$ aplay -l;」を実行してください。ALSAのサウンドデバイス認識状況が表示されます。

$ aplay -l;
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: Intel [HDA Intel], デバイス 0: AD198x Analog [AD198x Analog]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 0: Intel [HDA Intel], デバイス 1: AD198x Digital [AD198x Digital]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 1: USB [E-MU 0404 | USB], デバイス 0: USB Audio [USB Audio]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 1: USB [E-MU 0404 | USB], デバイス 1: USB Audio [USB Audio #1]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0

マザーボードに搭載されているサウンドデバイスと,USB接続のオーディオインターフェイスが認識されています。このうち,標準で使用されるのはカード0です。今回はマザーボードに搭載されているサウンドデバイスが割り当てられているため,オーディオインターフェイスに音声が送られなかったということになります。

アプリケーションの音声出力先

アプリケーションによっては,どのサウンドデバイス(カード)を使うかを設定できるものがあります。例えば筆者が愛用しているAudaciousでは,設定画面の「オーディオ」「ALSA Output Plugin」を選択してボタン「出力プラグイン設定」をクリックすると,出力するデバイスを指定することができます。

図5 殴打しやす…じゃなかった,Audaciousのオーディオ出力設定画面。画面には表示されていないが,筆者の場合,Default:CARD=USB, DEV=0となっているものを選択すると,ミックスされたサウンドがオーディオインターフェイスのアナログから出力された

図5 殴打しやす…じゃなかった,Audaciousのオーディオ出力設定画面。画面には表示されていないが,筆者の場合,Default:CAR

Exaileミュージックプレイヤー,Bansheeミュージックプレイヤー,Rhythmboxミュージックプレイヤー,Totem動画プレイヤー,サウンド・レコーダー(gnome-sound-recorder)⁠PiTiViビデオエディタ,SubtitleEditor字幕編集用ビデオエディタなど,Gstreamerをバックエンドに使うアプリケーションでは,マルチメディア・システム・セレクタ(gstreamer-properties)で出力先や入力先を指定します。

マルチメディア・システム・セレクタは,Xubuntuで使っているXfceデスクトップ環境でも,Ubuntu標準のGNOMEデスクトップ環境でもメニューに表示されません。そのため,コマンドからの起動します。Altキーを押しながらF2キーを押すと,コマンドを実行できるウィンドウが開きます。⁠gstreamer-properties」を入力して,⁠実行」ボタンを押します。そうすると,マルチメディア・システム・セレクタが開きます注5)⁠

図6 マルチメディア・システム・セレクタの画面。デフォルトの出力/入力を指定できる

図6 マルチメディア・システム・セレクタの画面。デフォルトの出力/入力を指定できる

マルチメディア・システム・セレクタの項目「プラグイン」において「ALSA - Advanced Linux Sound Architecture」を指定し,項目「デバイス」で好みのサウンドデバイスを指定することで,標準ではないサウンドデバイスを使えるようになります。

しかし,Adobe Flash Playerのようなアプリケーションは出力先を切り替えることができず,システムで標準に使われるサウンドデバイスに出力してしまいます。そのため,標準の出力先についても設定してみます。

注5
GNOMEであれば,Ubuntuデスクトップのメニュー部分で右クリックをして「メニューの編集」を選択し,メニュー編集ソフト「alacarte」を起動できます。項目「マルチメディア・システム・セレクタ」「システム」カテゴリーの「設定」グループに含まれていますが,非表示に設定されています。

著者プロフィール

坂本貴史(さかもとたかし)

Ubuntuのマルチメディア編集環境であるUbuntu Studioのユーザ。主にUbuntu日本コミュニティとUbuntu Studioコミュニティで活動。いつかユーザ同士で合作するのが夢。