2015年11月3日火曜日

Jack インストールと設定・3分クッキング

jackの導入・3分クッキング(16.04LTS改定)

といっても、いまや、ubuntu/mintだと、簡単です。CTRL+ALT+T でターミナルを開いて、下の一行を貼り付けてエンター。

sudo apt-get install qjackctl

sudo apt install qjackctl

依存関係含めて必要一式を導入してくれますので、導入は終わりです。ひさびさなので15.10を導入して確認してみました。Synapticなどでも同様です。qjackctlで検索して選んでください。依存関係はおまかせです。16.04でも同じでした。閲覧数がなぜか多いので加筆修正しました。

気分はカジュアルオーディオ、なんとなくハイレゾ。ライブラリはFLAC。楽曲管理は、EACやそのケーススタディ wav,ape,tak,tta,flac,+cue FLACに決めました。 みたいな考え方です。

設定作業

メニュー(サウンドとビデオに配されていると思います。)からqjackctlをラウンチ、設定、[開始|終了]。メニューにもしなければ?!、/usr/bin/qjackctl にあると思います。生で起動してみましょう。


設定画面のタブ4枚目、その他で自動起動設定にできます。D-Busインターフェイスの有効化はオフにしておいたほうがいいです。D-Busがらみでエラーメッセージが確認できる場合、真っ先に疑ってください。


当方は自動起動にはしていません。普段使わないので。あはは。
はい。設定終わり。

状況確認とタブ1枚目「設定」

タブの1枚目「設定」がうまく行かない場合は、次のようにデバイスを確認してみてください
サウンドデバイスの番号など状況確認は、次のコマンドで。当方の場合は、以下の黄色デバイスをデフォルト出力先にしていて、jackもこの出力先に設定しています。下の画面全体のキャプチャで確認できます。

aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: Generic [HD-Audio Generic], デバイス 3: HDMI 0 [HDMI 0]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 1: Generic_1 [HD-Audio Generic], デバイス 0: ALC892 Analog [ALC892 Analog]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 1: Generic_1 [HD-Audio Generic], デバイス 1: ALC892 Digital [ALC892 Digital]
  サブデバイス: 0/1
  サブデバイス #0: subdevice #0


aplay -L
Lが大文字です。長いので略。

考え方としては、ふつーHDMIにJACKは使わない??ので、HDMIというデバイス行はスルーですね。いちおう自分のハードウェア構成は知ってないと少し悩むかもしれません。以下の画面キャプチャで黄色をどう指定しているのか見比べてみてください。それでわかると思います。当方の光デジタル先のアンプが96kまでのハイレゾしか対応していないので96K設定です。最近のAVアンプなどをお持ちの場合は192k対応は通常余裕だと思います。

mplayerに、jackを掴ませて再生している図です。 mpvでもサウンド出力先指定して、同じことができます。兄弟なので。定義ファイルで固定にもできます。デフォルトは、Pulse。


サウンド設定(jackとはある意味無関係)

MATEはプロファイルでアナログとデジタルを選択する。この機体はReltek 892を使っており、光デジタルケーブルでアンプに流しています。だから、アナログは選択しません。適切な出力先(IEC958)を選ぶというだけの話です。あくまでデフォルトシンクで、JACKの出力先とは違います。同じでも構わないです。絵が古いだけで、どのディストリ、フレイヴァーでもやることは同じです。


Cinnamon Mint18のサウンド設定画面


横道ですが、こうして選ぶのもめんどうですか。つながっている全出力、同時鳴動というのもできます。たとえば、アナログ、デジタル、A2DP、同時に音出しができました。あほらしいので、元に戻しました。何も考えなくていいという意味はではいい方法かも。いや、ばかげている。



ここまで3分クッキング。

JACKで使ってみた再生アプリ(JACK対応限定)

JACKでの音出しテストです。「pulseaudio-module-jack 未導入ケース」なので、PulseAudioにしか対応していないアプリケーションは、JACKを終了するまで音がでません。JACKを終了した途端に(忘れた頃)再生を始めます。

どのアプリでもJACK経由で再生できる pulseaudio-module-jack については時間があれば。リンク先の手順通りにすればそのまま動きます。このモジュールをいれちゃうと表題の「JACK 3分クッキング」の縛りである180秒を超過してしまうので、別項-STEP2にします。結果的に、
Ubuntu How to route all audio through Jack https://www.youtube.com/watch?v=UVhRDU6Kcds の設定と同じになります。ブラウザ(chrome)でもPulseAudio JACK Sinkルートで再生できるようになります。

JACKに素で対応しているアプリ

ざくっというと次のリストの通りです。自分が導入テストした範囲。けっこうWindows版もありますね。
  • Audacious 
  • Audacity(編集、解析用に使えます) 、
  • DeadBeef(jackプラグインの別途導入が必要。アンドロイドアプリもあります)
  • Clementine
  • smplayer(フロントエンド)
  • Gnome mplayer(フロントエンド)
  • mpv
  • mplayer(またはmplayer2)
など。それぞれ、コマンドラインでパラメーター引き渡しが必要だったり、定義ファイル指定が必要だったり、 JACKを出力先に設定してあげる必要などがありますが、最初の音出しテストなら、Audaciousがわかりやすくていいかもしれません。

コマンド派ならmpv/mplayerです。次のように、音声出力を指定します。jackのところを、alsaやpulseに変えてテストできますので、他のシーンでも便利でしょう。定義ファイルに指定もできます。nano ~/.mpv/config 。

#確実に指定できるので、テストはこのほうがいいかも。
mpv --ao=jack "音声ファイル=できれば重いハイレゾ.flac"


DeadBeef……デザインモードで、カスタマイズできます。素で対応とはほんとはいえないがお気に入りなので紹介します。

(横道)妙な周波数ファイルがリストされているのは、ノイズがのっているので、どういうのり方なのか、聴いているからです。DeadBeefについていえばイコライザオンにすると高い周波数に別の信号がソフトウェア内部で発生しています。0にどんな数字をかけても0なのに?!というが私の解釈ですが、どうも期待どおりではないです。Audaciosでも発生しています。っていうか、ubuntu上のすべての導入済みアプリ、aplay、paplay でも発生しています。ちな、Windowsでは、WMPでも発生しています。SONY Xアプリだけが正確、ノイズがはいりません(ハードは同一でOSとアプリが違うということです)。正弦波「だけ」再生している限り、聴こえないはずの音がやっぱり聴こえてしまうのは、ubuntu/mintなので。鋭意調査中です。(無駄な気もしますが)。SONYすげー。ということにして続けます。

DeadBeefはJackと相性がよい作りになっています。jackを出力先指定しており、jackが起動していなければjackを自動起動して再生してくれます。Deadbeefを終了すればjackも終了します。当方はjack常時起動ではありませんので好ましい機能です。jackプラグインを別途ダウンロード、追加して設定します。設定さえ済ませておけばjackの存在を気にかける必要がなくなります。



VLCメディアプレーヤはプラグインがあった気がしますので、それで使えるようになると思います。ちなみにvlcをコマンドラインで再生する場合は、cvlc にしてもいいよともいわれますので、そうしています。プラグインはあります。プラグインをいれて設定で出力選択するだけで使えるようになります。
次のコマンを発行してください。

sudo apt-get install vlc-plugin-jack


gnome mplayerの例


JACKとPulseAudioを共存させる:カジュアルオーディオですから

次のステップは音楽専用機する人は不要ですが、カジュアルオーディオ派の多くが目指したいと思うはずの、PulseAudioとの共存です。つまり、一旦設定しておけばその後ユーザーは何も考えずに高音質設定(jack)で音がでるようになる。そうするってことです。横着です。
どのアプリでもPulseaudioからJACKで再生できる pulseaudio-module-jack でjack経由で再生します。おわり。――いや、ほんとにそれだけなんです。
以下のキャプチャを説明します。どうなっているかというと、WINEでゲーム音声を再生しています。3つのアプリケーションで楽曲再生しています。firefoxでYoutube動画を再生しています。同時です。うるさいです。

WINEに関していえば(10000Hzを超えるテストトーンがノイズだらけだったのですが)ノイズが確実に減りました。JACKの効果でしょう。軽いゲームのBGMなどでは問題ないレベルです(また、JACKと無関係にWINE1.8以降ではさらにサウンドは改善されていると思います。これは断言します)。



音楽専用(+ピュアオーディオ志向)なら、これに加えて低遅延カーネルを導入したほうがいいですね。電気は多少食います。再生ピッチに違和感などを感じたら、低遅延カーネルの出番かもしれません。もっとも、ものごとには限度ってものがありますから。
http://poor-user.blogspot.jp/2016/04/install-linux-lowlatency-on-ubuntu1604.html

0 件のコメント:

コメントを投稿