StudioではJACKサウンドサーバが標準でインストールされています。基本的に、ひとつのサウンドデバイスはひとつのアプリケーションの音声データしか受けとることが出来ないため、サウンドサーバによるミックスがなければ、一度に一つのアプリケーションの音声を出すことしかできなくなります。サウンドサーバというのは、様々なアプリケーションが出力する音声データを集めてそれをミックスし、サウンドデバイスに出力するソフトウェアのことです。アプリケーションからの音声出力と別なアプリケーションの音声入力を仲介することで、録音や放送をすることを可能にしています。JACKサウンドサーバについてJACKサウンドサーバは以下の特徴を持っています。Transport機能により、アプリケーションの演奏位置を同期することができますドライバにFFADOライブラリを指定することで、ALSAやOSSでは使うことの出来ないFirewire接続のサウンドデバイスを使うことができるJACK対応のMIDIデバイス/アプリケーションが存在するが、ALSA対応のMIDIデバイスもJACK上のMIDIデバイスとして利用可能。10.10で導入されたJACKのバージョン2では、ネットワークを経由して遠隔マシンとの音声同期が可能ですそして上記すべての操作を、GUIアプリケーション「qjackctl」で可能ですJACKサウンドサーバの起動JACKサウンドサーバの実体は「jackd」という名前の常駐ソフトウェアであり、端末などでコマンドラインを実行することで操作を行うことも出来ますが、qjackctlというGUIフロントエンドで操作することができます。Control」でqjackctlを起動することができます。ボタン「Setup」で開くウィンドウで、接続するサウンドデバイスなどの設定を行います。ボタン「Start」でサーバを起動します。接続できるサウンドデバイスについてサウンドデバイスは以下のものを扱うことができます。それぞれ、カーネルモジュールあるいはライブラリが対応している必要があります。Systemが対応しているもの。Devicesを参照して下さい。Systemが対応しているもの。Devicesを参照して下さい。Firewire(IEEE1394)接続のものFFADOライブラリが対応しているもの。databaseを参照して下さい。ネットワーク越しに他のマシンで稼働しているJACKサウンドサーバに接続することができます。加えて、dummyデバイスに接続することで、サウンドデバイスを使わずにJACKサウンドサーバを起動することができます。レンダリングの際、不必要にマシンパワーを割くことがなくなります。ControlのSetupウィンドウのプルダウンリスト「Driver」で行います。DriverでALSAを選択している場合に限り、セレクトリスト「Interface」でシステムに認識されているデバイスを任意に選択することができます。接続についてJACKサウンドサーバを起動すると、サウンド関連の全てのデバイス/アプリケーションの入出力はポートに仮想化されます。これは、音データだけではなく、MIDIに関しても同様です。Controlのボタン「connect」によって開くウィンドウで行います。ウィンドウ「Connect」のAudioタブでは、音データの入出力を接続します。サウンドデバイスの入出力ポートは「system」というIDとなっています。ウィンドウ「Connect」のMIDIタブでは、JACKシーケンサにMIDIの入出力ポートを開いているアプリケーション/サウンドデバイス間を接続します。Firewire(IEEE1394)接続のサウンドデバイスに設けられているMIDI機能は、こちらにポートを開きます。ウィンドウ「Connect」のALSAタブでは、ALSAシーケンサにMIDIの入出力ポートを開いているアプリケーション/サウンドデバイス間を接続します。PCI/PCI-Expressバス接続やUSB接続のサウンドデバイスに設けられているMIDI機能は、こちらにポートを開きます。Transportに対応しているアプリケーションのみ、演奏位置の同期をすることができます。同期し、音声の入出力ポートのみJACKサウンドサーバに開くものもあります。GTK+のウィンドウが表示されています。それぞれ同じタイムコードを示しており、同期して動作している事がわかります。レイテンシについてサウンドサーバの主要機能であるミックスを行う際、各アプリケーションあるいはサウンドデバイスが発生させた音声データをいったん貯めておき、処理に必要な分量だけ読み出して処理を行います。これが原因で、発音タイミングの遅れ=レイテンシが発生します。この貯めておく部分をバッファと呼びます。再生のみ行う環境ではレイテンシを低減する必要はありませんが、サウンドデバイスから録音した音声を処理してサウンドデバイスで再生するとか、ソフトウェアシンセサイザをリアルタイムで演奏するなどの用途の場合、レイテンシは可能な限り小さな方がよいでしょう。JACKサウンドサーバはこのバッファのサイズを柔軟に変更することができます。ControlのSetupウィンドウで設定します。Rate」オプションは、1秒間のフレーム数(サンプリング周波数)を設定します「Periods/Buffer」オプションは、1バッファをいくつのピリオドに分割するか指定します「Latency」は、現在の設定値における、1バッファのサンプル時間を表示します「Latency」に表示される値は、以下の計算式で計算されます。(ミリ秒)リアルタイム優先実行についてJACKサウンドサーバは、リアルタイム優先実行オプションを有効にすることで、更なるレイテンシの低減を期待できます。このオプションを有効にすると、Linuxカーネルのスケジューリングにおいて、優先的に処理されるグループに登録されるようになります。Lock」はメモリー制限を解除します「Priority」オプションは、「Realtime」オプションが有効になっている場合に限り、その優先度を設定します。よってユーザによるリアルタイム優先実行が許可されている必要があります。jackdのインストール過程でリアルタイム実行優先を選択している場合に作成されるファイル「/etc/security/limits.conf.d/audio.conf」により設定されます。@audioはグループ「audio」に属するユーザを示します。anonymous)。