Ubuntu Weekly Recipe

第161回 オーディオインターフェイスを使う ― Firewire活用編

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

前回はFirewireオーディオインターフェイス導入編として,Echo社のAudiofire Pre 8を例に挙げ,Ubuntuに認識させるところまでをお伝えしました。今回は実際に使う方法を紹介していきます。

FFADOとJACKサウンドサーバ

実は,Ubuntu標準のサウンドサーバであるPulseAudioからは,Firewire接続のサウンドデバイスを使うことができません。何故かというと,Ubuntu標準のPulseAudioサウンドサーバは,今のところ,前回お伝えしたFFADOライブラリを使うことができないからです。そのため,別なサウンドサーバを導入する必要があります。それが,Jack Audio Connection Kit(JACKサウンドサーバ)です。

JACKサウンドサーバもまた,PulseAudioと同じようにマルチプレクサとしての働きをしますが,より柔軟にアプリケーション/デバイス間をつなぐことができます。また,JACKトランスポート機能によってアプリケーション間の演奏タイミングを同期することができるなど,音楽製作を強く指向したサウンドサーバです。

このJACKサウンドサーバですが,FFADOの他にもALSAやOpen Sound Systemをドライバとして使えるため,Firewire接続のサウンドデバイスだけではなく,USB接続,PCI/PCI-Expressバス接続のサウンドデバイスも同様に使うことができます。

なお,パッケージ「pulseaudio-module-jack」を導入して適切な設定を行うと,PulseAudioサウンドサーバとJACKサウンドサーバを連携することができます。詳細は,また別の機会にお伝えしたいと思います。

JACKサウンドサーバの導入

JACKサウンドサーバを導入するには,パッケージ「jackd」をインストールします注1)⁠Synapticパッケージマネジャーなどでインストールを開始すると,インストールプロセスの最中に以下の画面が表示されます。

図1 PAMの設定ファイルをインストールするかどうかの選択画面

図1 PAMの設定ファイルをインストールするかどうかの選択画面

これは本連載の第150回でお伝えした,リアルタイムオプションを許可するためのPAMの設定ファイルをインストールするかどうかの画面です。ここでチェックボックスをチェックして進むと,jackdをリアルタイムオプションで実行できるようになります。

なお,このリアルタイムオプションとUbuntu Studioコミュニティがパッケージで提供しているリアルタイムカーネルは,直接の関係がありません。リアルタイムオプションはUbuntuの標準カーネルにおいても,PAMを設定することで利用できます。

注1
Maverick以降では,Jack Audio Connection Kitのバージョンが異なるパッケージ「jackd1」「jackd2」を利用できます。パッケージ「jackd」はこの2つのうち1方だけを排他的にインストールするためのパッケージで,標準ではjackd2をインストールします。

JACKサウンドサーバのコントローラー「Qjackctl」

パッケージ「jackd」をインストールすると,依存関係で「qjackctl」もインストールされます。これは,JACKサウンドサーバの実体であるjackdを設定/起動するツールです。起動するには,メニューの「サウンドとビデオ」「JACK Control」を選択します。

図2 JACK Controlの停止時

図2 JACK Controlの停止時

このメインウィンドウでボタン「Setup」をクリックすると,Setupウィンドウが開きます。設定できる項目は多岐に渡るため,今回はFirewireオーディオインターフェイスを接続する上で必要な操作だけをお伝えします。それは,Setupウィンドウの項目「Driver」「Firewire」を,項目「Interface」「(default)」を選択することです注2)⁠

図3 Setup画面

図3 Setupウィンドウ

設定が完了したら,ボタン「OK」をクリックしてメインウィンドウに戻ります。そして,ボタン「Start」を押してJACKサウンドサーバを開始します。起動すると,JACK Controlウィンドウのトランスポート表示がスタンバイ状態となります。JACKトランスポート機能に対応していないアプリケーションであれば,スタンバイ状態でもポートをつなげることで,音声の入出力ができます。

図4 JACK Controlの起動時

図4 JACK Controlの起動時

Setupウィンドウでは,本連載の第150回でお伝えしたバッファの設定ができます。バッファに関しては,演奏のようにタイミングにシビアな使い方をしないのであれば,十分なサイズ(レイテンシ80〜100msec程度)を確保しておくのが無難でしょう。

また,項目「Realtime」「Priority」でリアルタイムオプションとその優先度を設定できますが,これに関しても同じことが言えます。取得した音声や入力した信号に処理を加えてすぐに出力に回すといった使い方をしない限り,これらのオプションをいじる必要はないでしょう。

注2
項目「Driver」にALSAを指定した場合,デバイスの指定は項目「Interfaces」の右側の鈎ボタン「>」から行ないます。

AudaciousとAudacityをJACKで使う

Ubuntu標準のアプリケーションのほとんどは,PulseAudioサウンドサーバに対して音声入出力ポートを開きます。しかし今回はJACKサウンドサーバに対応したアプリケーションを使う必要がありますので,本連載で既に扱っているAudaciousとAudacityを紹介します。

第149回で紹介したAudaciousですが,設定画面の項目「オーディオ」で,項目「現在の出力プラグイン」「JACK Output Plugin」を指定することで,JACKサウンドサーバに音声出力ポートを開くことができる音楽プレイヤーとなります。

図5 Audaciousのオーディオ出力設定画面。JACK Output PluginによりJACKへ音声を出力できる

図5 Audaciousのオーディオ出力設定画面。JACK Output PluginによりJACKへ音声を出力できる

なお,本連載の第149回でお伝えしたMIDI信号に関する設定と,今回の音声に関する設定は別であることに注意してください。

第137回で録音ソフトウェアとして紹介したAudacityもまた,設定のデバイスで項目「ホスト」「Jack Audio Connection Kit」を選択することで,JACKサウンドサーバに音声入力ポートを開くことができる音楽レコーダーとなります。

図6 Audacityのデバイス設定画面。JACKサウンドサーバが起動していると,選択肢にJACK Audio Connection Kitが現れる

図5 Audacityのデバイス設定画面。JACKサウンドサーバが起動していると,選択肢にJACK Audio Connection Kitが現れる

JACKサウンドサーバに開かれた音声入出力ポートをつなぐ操作は,Connectionウィンドウで行ないます。Connectionウィンドウを開くには,JACK Controlのメインウィンドウのボタン「Connect」をクリックします。

Connectionウィンドウでは,出力ポートが画面の左に,入力ポートが画面の右に表示されます。ポートがアプリケーションの設けるものであっても,サウンドデバイスの設けるものであっても,同じように扱うことができます。これらポート間をマウス操作で接続することで音声データが流れるようになります。この流れは複数作ることが可能なので,オーディオインターフェイスからの入力を複数のアプリケーションに同時に送るといった操作が可能です。

図7 JACK ControlのConnectionウィンドウ。AudacityのポートはバックエンドであるPort Audioで表示されている。これらポートをマウス操作で接続し,音声データを流す

図7 JACK ControlのConnectionウィンドウ。AudacityのポートはバックエンドであるPort Audioで表示されている。これらポートをマウス操作で接続し,音声データを流す

Ubuntuには,JACKサウンドサーバを中心とした音楽製作のためのソフトウェアやプラグインのパッケージが,さまざま用意されています。こういったパッケージはまた別な機会に紹介したいと思います。なお,Ubuntu Studioはこれらを標準でインストールするよう作られているため,音楽製作に興味のある方に最適です。

著者プロフィール

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

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

コメント

コメントの記入