web-dev-qa-db-ja.com

jackdにリアルタイム優先度を付与することは有害ですか?

試してみようと思いますが、サウンドミキシングプログラムであるArdourをインストールします。 Ardourをインストールすると、依存関係であるJACKもインストールされます。 JACKインストールスクリプトの一部として、次のダイアログが表示されます。

リアルタイムの優先順位でjackdを実行する場合、jackdを起動するユーザーにはリアルタイムのアクセス許可が必要です。このオプションを受け入れてファイル/etc/security/limits.d/audio.confを作成し、オーディオグルー​​プにリアルタイムの優先順位とmemlock特権を付与します。

Jackdをリアルタイムの優先度で実行すると、待ち時間は最小限に抑えられますが、使用可能なすべての物理システムメモリを要求することにより、システムの完全なロックアップが発生する可能性があります。これはマルチユーザー環境では受け入れられません。

リアルタイムプロセスの優先度を有効にしますか?

私はラップトップにインストールしていますが、同時に複数のユーザーがいません。私はまだ懸念があります:JACKは、システム自体がサウンドを再生するために使用するものですか(つまり、ALSAに置き換わるのでしょうか)?もしそうなら、JACKのリアルタイム優先度を有効にすると、サウンドが再生されるたびにマシンがフリーズするというわずかなリスクを冒すことになりますか?それとも、JACKはArdorが今のところ(他のJACK依存プログラムをインストールするまで)使用するだけですか?

7
SuperElectric

Jackdは通常、ALSAを置き換えません。 Jackdは通常、ALSAを使用して出力を提供します。 Jackdが提供するのは、他のソフトウェアが使用できる低遅延のオーディオパッチング/ルーティングネットワークです。 Jackdを使用するように設計されたソフトウェアのみがJackDを使用します。 Jackdは、それを使用するソフトウェアを実行している場合にのみ実行する必要があります(e.g。 Ardour、Rosegarden、Jack-rack)。 jackdを使用するプログラムを実行していない場合、jackdを実行する必要はありません。

Jackdを制御するために見つけた最高のプログラムはqjackctlです。これは、Ubuntu Software CenterからJack Controlとしてインストールできます。 jackdの起動/停止、実行方法の設定、接続の設定が可能です。

レイテンシーを可能な限り低くするために、jackdはリアルタイムの優先度スレッドを使用したいと考えています。 jackdのリアルタイム処理を有効にするのは良いことであり、システムを傷つけることはありません。 (私が今入力しているマシンは、2つの異なるLinuxディストリビューションと2つの異なるハードウェアインカネーションで、ロックアップなしで4年間有効になっています。)

ところで、jackdの機能の一部を使用し始めると、かなり中毒性が高まります。さまざまなエフェクトラック(ジャックラックインスタンス)を起動し、接続を設定することで、ステレオ録音を取得し、カスタムセンターであるリアスピーカーのさまざまな遅延リバーブ/遅延があるリアルタイム4.2出力を作成できますチャンネルミックス、サブウーファー出力。 (私はまだそのための良いオクターブダブラーを見つけようとしています。)

13
jwernerny

リアルタイムのロックアップ問題へのアプローチの1つは、bashよりも高い優先度でjackd端末を開くことです。リアルタイムのCPUホグの兆候が見られる場合は、優先度の高い端末を使用してjackdを殺してください。プロオーディオのirqの微調整の技術を学ぶ前に、これを使用して完全なクラッシュを回避しました。急な学習曲線、素晴らしい報酬!

1
Josh Sewell