Jackは実行中にコンピュータの出力を許可しますか?

Jackは実行中にコンピュータの出力を許可しますか?

私は過去にジャックを試してみましたが、圧倒的な感じを受けており、ジャックの実行中にコンピュータのオーディオ出力を実行し続けることができなかったので、実際に成功したことはありません。マイメディアプレーヤーで曲を再生しようとすると、再生を試行している間に0秒で曲が停止します。おそらく、PCMや他のものをpulseaudioまたはalsaに書き込みますが、書き込みは完了しません。

Jackがコンピュータのオーディオ出力を聞くことができ、ほとんどまたは常にバックグラウンドで実行する方法はありますか?

私の場合、USBオーディオインターフェース(Focusrite Scarlett)は一対のスピーカーに接続されていますが、それをデフォルトのオーディオ出力として使用しますが、ここではどの出力タイプ(USBまたは内部サウンドカードなど)が重要かわかりません。

私は最新のHWEカーネル(実際にはデフォルトのOS Odinですが、Ubuntu 20.04ベース)を実行しているUbuntu 20.04 LTSを使用しています。


編集する:PipeWireを使用すると、これらすべてを完全にバイパスできます。

PipeWireは、PulseAudio、ALSA、およびJackプロトコルを使用でき、PulseAudioとJackを簡単に置き換えることができる低遅延オーディオシステムです。デスクトップのPulseAudioサーバーをPipeWireに置き換えました。それほど難しくなく、Jack用PipeWireも有効になっているので、すべてが統合された場所にあり、作業を実行するために愚かな解決策を実行する必要はありません。それで、すべてがあまり合理的ではありません。

ここに画像の説明を入力してください。

私のディストリビューションである初等OS 6でこれを行う方法を作成しました。この点

答え1

USBオーディオインターフェイスはいつでも単一のオーディオデータストリームのみを受け入れることができるため、jackコンピュータのオーディオ出力からのオーディオをソフトウェアで一緒にミックスする必要があります。

ないシステムでは、jack通常PulseAudioはこれを行うコンポーネントですが、jack最小限の待ち時間とサンプル同期を提供したいので、サウンドデバイスへの排他的なアクセスが必要です。

このページを読んでください: https://jackaudio.org/faq/pulseaudio_and_jack.html

具体的には、そのページで他のページを参照するオプション3を考えてみましょう。 https://github.com/jackaudio/jackaudio.github.com/wiki/WalkThrough_User_PulseOnJack

簡単に言うと、UbuntuはすでにALSAをPulseAudioにデフォルト設定している可能性があるため、そのパッケージがインストールされていることを確認し、pulseaudio-module-jackこの設定を次のトピックに追加するだけです。~/.config/pulse/default.pajack

load-module module-native-protocol-unix
load-module module-jack-sink channels=2
load-module module-jack-source channels=2
load-module module-null-sink
load-module module-stream-restore
load-module module-rescue-streams
load-module module-always-sink
load-module module-suspend-on-idle
set-default-sink jack_out
set-default-source jack_in

USBオーディオインターフェースの機能によっては、次の設定の一部または全部が必要になる場合があります~/.config/pulse/daemon.conf

default-sample-format = float32le
default-sample-rate = 48000
realtime-scheduling = yes
exit-idle-time = -1

(ほとんどのUSBオーディオインターフェイスは固定サンプルレート(通常48000)でのみ入力を許可するため、Pulseaudioはこれらの制限を理解し、デスクトップオーディオ側からのすべての入力をその形式に変換してjack作業を簡単にします。)

qjackctlbootを使用している場合jackdPulseAudioを次に切り替えるには、次の起動後にタスクを設定する必要がありますjack

pactl load-module module-jack-sink channels=2; pactl load-module module-jack-source channels=2; pacmd set-default-sink jack_out

jackしばらく実行している場合、この起動後のタスクは実際に上記の~/.config/pulse/default.pa設定を実行して、PulseAudioに出力をjack開始に移動するように指示します。

関連情報