kotonoha_pcg@気ままに雑記

kotonoha_pcgが気分次第で様々書き置きます.dlang関係他:http://kotonoha-pcg.hatenadiary.com

JACKサーバに替える

 こんにちは.4月に入り,そろそろ体力無しでは色々ときつい季節になりました.というのも,冬場はオフシーズンで自転車乗りませんが,春夏秋は毎日乗ります.その関係でよく筋肉痛になるのが日常茶飯事です.慣れればなんともないんですけどね.今回はPulseAudioからJACKサーバに替えた話.備忘録の要素がかなり強いかなぁ.

動機

 元々flac音源を多く使っていました.そこで,flacだけでなくmp3でももうちょっと高音質で聴きたいなぁ,という思いを持ち始めたので,いっそのことカーネルともども替えてしまえば良いと考え,替えました.

作業

カーネル

 Synaptic パッケージマネージャ(要スーパーユーザー権限)からカーネルとモジュールに飛び,パッケージ一覧から"linux-lowlatency-hwe-16.04"をマークしてインストール指定.依存関係を含める.適用後,再起動.

JACKサーバ

 簡単に書くと,jackd2/jackd,qjackctlを各依存関係含めてインストール.再生プレーヤ(ここでは愛用しているAudacious)の出力設定を任意の出力からJACK出力に変更します.

JACK

 例にもれずGNUのような再帰的頭字語,"JACK Audio Connection Kit"というらしい.詳しいことは投げるとして,つまりサウンドサーバの一種.たぶんUbuntuなどでデフォルトに設定されている(特に手を加えなくても音が出る)ならPulseAudioを使っているはず.ALSAからデータをPulseAudioサーバに送り,またALSAはPulseAudioサーバを利用してサウンドデバイスにデータを送る,というのがかなり大雑把な説明か.他に音楽を再生しつつ,横でブラウザゲームが出来てかつその効果音も一緒に聞こえるのはこれの所為.

qjackctl

 JACKのQtフロントエンド.本来JACKの設定等はコマンドであり,また設定項目も多いが,これをGUIで行える.はっきり言って楽なのでとりあえず聴きたいなら使うべき.Ubuntu Japanese Team Wikiの項目が細かく書かれている.
https://wiki.ubuntulinux.jp/UbuntuStudioTips/Application/qjackctl

qjackctl

 此処から先は私の設定例を載っけておきます.設定から設定→パラメータ,Advancedそれぞれを次に設定.ここからは面倒だから画像載せます.
f:id:kotonoha_pcg:20170403140017p:plain
f:id:kotonoha_pcg:20170403140029p:plain
ここで,設定→パラメーターでのサンプルレートが後述するサンプリング周波数コンバーターのレートと合致していないと音が出ない(周波数がそもそも違う値なので噛み合わない,という方が良いのだろうか).
1枚目のインターフェース,2枚目の出力デバイスは私の場合です.詳しくいうと前者はサウンドカード(であると推測している),後者はHDA Intel PCH.
最後に"その他".
f:id:kotonoha_pcg:20170403140352p:plain

Audacious

 qjackctlを立ち上げておく.Audaciousの設定で,オーディオタブから出力プラグインを"JACK出力"に変更.
f:id:kotonoha_pcg:20170403135014p:plain
 プラグインはエフェクトのみについて,それ以外はお好みで.エクストラステレオ0.6,ダイナミックレンジコンプレッサー0.5/0.4,BS2Bはデフォルト,サンプリング周波数コンバーターは高品質sinc補間/96000Hz.レートマッピング無し.
特に最後のサンプリング周波数コンバーターは,ここでのレート設定がqjackctlで設定したサンプルレートと合致していないと再生できない罠に嵌った記憶がある.BS2Bは聴く曲によって変更しますが,それ以外は概ねこの通りです.

まとめ

 今回はPulseAudioサーバからJACKサーバへと変更を行いました.ここではあくまで音楽を聴くときはJACK起動した上でAudacious,それ以外はJACKサーバを閉じてデフォルトのPusleAudioサーバから出力,というように分けています.その他,例えば双方の共存などを行いたい人は他を探してみると良いと思います.

参考サイト

夜な夜な涙とともにパンをかじった。: Jack インストールと設定・3分クッキング
例えばサウンドデバイスの設定(適切なサウンドドライバの調査),ここより詳細な設定や話が書かれている.ここではJACKとPulseAudioとの共存は行わない(あくまで適材適所)ので,そういった場合は参照するべきだろう.