Linuxでは、オペレーティングシステムのコアは、ほとんどのオーディオハードウェア用のハードウェアのドライバを提供しています。 ハードウェアドライバと、その他のソフトウェアが、これらのドライバに接続するために使用できる命令の総称は'ALSA'、'Advanced Linux Sound Architecture'と呼ばれています。 ALSAは、ソフトウェアアプリケーションが、オーディオとMIDIのハードウェアと相互作用することができる最も直接的な方法であり、それは最も一般的な方法でもありました。 ただし、ソフトウェアアプリケーションが使用する可能性があるすべての機能を含めるために、ALSAは、非常に複雑で、誤りを起こしがちになることもあります。 これと他の多くの理由から、抽象化の別のレベルが、通常使用されており、これによりソフトウェアアプリケーションは、必要な機能を簡単に活用できるようになります。
サウンドサーバーは、'バックグラウンドで'動作する、つまり、ユーザーインターフェイスを持っていないプログラムです。 サウンドサーバは、ALSAを使用するいくつかの側面を自動化するための、抽象化のレベルを提供します。そして、複数のアプリケーションが同時にオーディオハードウェアにアクセスできるようにします。この章で説明する3つのサウンドサーバーは別々の目標と特徴を持っています。 あなたが使用するべきサウンドサーバは、あなたが何をしているかによって決まります。
PulseAudioは、Linuxオペレーティングシステムでのオーディオプログラミングをできるだけ簡単にすることをめざした、進んだオーディオサーバです。そのデザインの背後にある考え方は、オーディオアプリケーションはオーディオをPulseAudioに出力するだけでよく、あとは、PulseAudioが面倒をみてくれるということです:特定のデバイスを選び、制御し、ボリュームを調整し、他のアプリケーションと一緒に動作する、などです。PulseAudioは、'ネットワークサウンド'を使う能力もあります。これは、PulseAudio を使う2つのコンピュータが、1つのコンピュータであるかのように通信するというものです。どちらのコンピュータも、相手のコンピュータのオーディオハードウエアに、自分のオーディオハードウエアと同様に簡単に入出力できるのです。これはすべて、PulseAudioの中で制御されているので、ソフトウエアがより複雑になることはありません。
Fedoraプロジェクトは、 PulseAudioを、オペレーティングシステムの重要な部分として統合しているので、ほとんどの人にとって、ほとんどの状況で、オーディオアプリケーションが'単に動作する'ことができるのを保証してきました。 これは、ユーザーが基本的なオーディオ作業を行うのをはるかに容易にしました。
JACKサウンドサーバは、他のサウンドサーバと比べると提供する機能が少ないですが、オーディオ作成アプリケーションにとって必要な機能に特化して作られています。 JACKは また、そのような状況で最も重要なオプションの設定をユーザーが簡単に行えるようにしています。このサーバは、1度にただ1つのサンプルレートとフォーマットをサポートします。そして、アプリケーションとハードウエアが簡単に接続し、多重化するのを可能とします.これは他のサウンドサーバにはない機能です。(ルーティングと多重化についてくわしくは、sect-Musicians_Guide-Vocabulary-Routing_and_Multiplexingを参照してください 。) それは、さらに、一貫して低遅延で実行するように最適化されています。JACK を使用するには、もととなるハードウェアのよりよい理解が必要ですが、QjackCtlアプリケーションがそのプロセスを容易にするグラフィカルユーザーインターフェイスを提供しています。
フォノンは、KDEソフトウェアコンパイレーションに含まれるサウンドサーバで、KDEの中心となるコンポーネントの1つです。 Fedora Linuxのデフォルトでは、フォノンは、出力をPulseAudioに供給します。しかし、他のプラットフォーム(Mac OS X、Windows、他のバージョンのLinux、FreeBSD、そしてKDE をサポートする他の任意のシステムなど)では、フォノンは出力をどこに供給するようにでも構成することができます。これは、その最大の強さです - KDEアプリケーションであるAmarokやDragon Playerなどは、フォノンを使うようにプログラムするだけでよく、それらはフォノンが他のすべての面倒を見てくれるのに頼ることができます。 KDEアプリケーションが、Windowsあるいは特にMac OS Xにおいてますますその位置を見つけるにつれ、このクロスプラットフォームの機能は非常に有用となってきました。
PackageKitあるいは KPackageKitを使ってjack-audio-connection-kitと qjackctlパッケージをインストールしてください。
インストールを確認し、承認ください。それが正常に完了したことを確認してください。
KMenuあるいはアプリケーションメニューからQjackCtlを実行ください。
JACKサーバーを開始するにはStartをクリック、JACKサーバーを終了するにはStopをクリックください。
メッセージを見るには、Messagesをクリックください。それは普通、エラーあるいは警告です。
現在実行中のサーバについてのいろいろな統計を見るには、Statusをクリックください。
アプリケーションとオーディオハードウエアの間の接続を見たり、調整するにはConnectionsボタンをクリックください。
JACKは、特別なリアルタイム特権で動作します。あなたはJACKを使うすべてのユーザをjackuserとpulse-rtグループに入れる必要があります。ユーザをグループに入れる方法については、http://docs.fedoraproject.orgから入手可能なFedora Deployment Guideの22章, Users and Groupsを参照ください。JACKを使わないユーザは、これらのグループに入れないでください。
デフォルトの設定ではQjackCtlは'デフォルト'サウンドカードを使用します。それは、実際にはALSAが決めたカードに行きます。 我々は、これを回避することができます。次の手順はJACKを特定のカードに接続するように構成します。訳注:このパラグラフ、原文の誤りと思われる記述をなおしました。
ターミナルを開きます。 GNOMEでは、Applications System Terminalを選択します 。 KDEでは、アプリケーションランチャーをクリックし、System Konsoleを選択します 。
このコマンドを実行します:cat /proc/asound/cards
catプログラムは、あなたのコンピュータにあるサウンドカードのリストを出力します。それは、このリストのように見えるでしょう:
0 [SB ]: HDA-Intel - HDA ATI SB HDA ATI SB at 0xf7ff4000 irq 16 1 [MobilePre ]: USB-Audio - MobilePre M Audio MobilePre at usb-0000:00:13.0-2
この出力例では、サウンドカードの名前は、角かっこで囲まれます。 この出力例では、サウンドカードの名前はSBとMobilePreです。
あなたが使いたいサウンドカードの名前を特定してください。 もし、あなたのサウンドカードがcatの出力リストにない場合は、あなたのコンピュータはそれを検出しなかったということです。
QjackCtlを開始してください。
Setup をクリックして、'Setup'ウインドウを開いてください。
'Interface'テキストボックスで、あなたが使いたいサウンドカードの名前を 'hw:'を先頭につけてタイプください。 上記のサウンドカードのリストであれば、次のように書くかもしれません hw:MobilePre。
QjackCtlを終了して、設定を保存ください。JACKを使う場合、QjackCtlを再起動ください。
QjackCtlアプリケーションは、より多くの機能と構成オプションを提供しています。 パッチベイは、注目すべき機能であり、ユーザは'Connections'ウインドウの構成を保存し、後にそれを回復することができます。それは、複雑なルーティングと多重化がされた状況での面倒なセットアップ時間を回避することができます。
QjackCtlについてのより多くの情報は、http://www.64studio.com/manual/audio/jackにある、Jack Audio Connection Kit (64studio)を参照ください。
PulseAudioのデフォルトの設定は、それは、JACK サーバーが起動したら、JACK にオーディオ機器の制御をあけわたします。PulseAudioは JACKによって使用されるオーディオインターフェイスからオーディオ信号入力を受信したり、出力を送信したりすることはできません。これは、時折しかJACKを使用しないユーザにとってはよいことですが、多くのユーザーはJACKと PulseAudioを同時に使用したり、または頻繁にこれら2つを切り替えたりしたいことでしょう。 次の手順では、PulseAudioを構成して、その入力と出力がJACKを経由するようにします。
PackageKit あるいは KPackageKit を使ってpulseaudio-module-jackをインストールしてください。
インストールを承認し、それが正しく終了するのを確認ください。
あなたはJACKモジュールを使うために、PulseAudioの設定ファイルを編集しなくてはいけません。
注意してください! あなたは、rootユーザーとして重要なシステムファイルを編集します!
ターミナルで以下のコマンドを実行します:sudo -c 'gedit /etc/pulse/default.pa'
[code]#load-module module-alsa-sink[/code]と書かれた行の下に、次の行を追加します:
load-module module-jack-sink load-module module-jack-source
ターミナルで以下のコマンドを実行して、PulseAudioを再開始してください: killall pulseaudio PulseAudioは自動的に再開始します。
QjackCtlを開いて、これがうまくいったことを確認ください。表示は、JACKは 'Active'のはずです。
'Connect'ウィンドウの'Audio'タブにはPulseAudioデバイスが両側にあり、それらは反対側の'system'デバイスに接続されているはずです。
QjackCtlの 'Setup' ウインドウを開いてください、そして、'Options' タブをクリックします.'Execute script after Shutdown: killall jackd'のチェックをはずします。この修正をしないと、QjackCtlはプログラムが終了する度に JACKサーバを停止しようとします。PulseAudioはその後でもまだ、JACK を使おうとしますから、これはしてはいけないのです。
PulseAudioが JACKを開始するとき、それは~/.jackdrcファイルにあるコマンドを使おうとします。QjackCtlはあなたが設定を変えたときこのファイルを、自動的に更新します。しかし、そのときあなたは、PulseAudioと JACKの両方を再起動しないと、設定の変更は有効になりません。もし設定が反映されないようであれば、自分でそのファイルを編集ください。
PulseAudioで非常に高いサンプルレートを使うときは注意してください。それは多くのCPUパワーを使用する傾向にあります。
これは、Fedora 14 Musicians' Guide http://docs.fedoraproject.org/en-US/Fedora/14/html/Musicians_Guide/index.html の部分を私が訳したものです。Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA")にしたがって https://sites.google.com/site/kandamotohiro で配布されます。
kanda.motohiro@gmail.com