GNU/Linux >> Linux の 問題 >  >> Ubuntu

Pulseaudioループバックレイテンシー?

私はpulseaudioループバックを使用して、システムサウンドとマイクをリンクしています。問題は、私のシステムサウンドに1秒またはそれ以上の遅延があることです。 paprefsで同時にチェックマークを変更しました しかし、それはそれを修正していません。このスクリプトを使用してこれを行っています。

STREAM_MODULE=$(pactl load-module module-null-sink sink_name=StreamAudio sink_properties=device.description="StreamAudio")

pactl load-module module-loopback source=alsa_output.pci-0000_00_1b.0.analog-stereo.monitor sink=StreamAudio latency_msec=1 >> /dev/null  
pactl load-module module-loopback source=alsa_input.usb-AKM_AK5370-00-AK5370.analog-mono sink=StreamAudio latency_msec=1 >> /dev/null

pactl load-module module-device-manager >> /dev/null  

read -p "Loaded! Press enter to unload!"

pactl unload-module $STREAM_MODULE
pactl unload-module module-device-manager
pactl unload-module module-null-sink
pactl unload-module module-loopback

私はグーグルのページを調べましたが、何もそれを修正していないようです。私が見逃している明らかなものはありますか?

alsa_output.pci-0000_00_1b.0.analog-stereo.monitor すべて私のシステムサウンドです。

alsa_input.usb-AKM_AK5370-00-AK5370.analog-mono 私のマイクです

遅延が3.4秒になる例を次に示します。http://screencloud.net/v/tNAQ一方、他のループバックのhttp://screencloud.net/v/suIF

私の知る限り、何らかの理由でバッファがいっぱいになります。何かをフラッシュする方法はありますか?

承認された回答:

私は一時的な方法を見つけましたが、それでも私は混乱します。結合されたモジュールを作成し、その後、必要なすべての音源を結合されたものにリンクします。結合されたモジュールは、システムサウンドとストリーミングシンクにルーティングされます。

STREAM_MODULE=$(pactl load-module module-null-sink sink_name=StreamAudio sink_properties=device.description="StreamAudio")
COMBINE_MODULE=$(pactl load-module module-combine-sink sink_name=Combined sink_properties=device.description="Combined" slaves=StreamAudio,alsa_output.pci-0000_00_1b.0.analog-stereo)

pactl load-module module-loopback rate=44000 adjust_time=0 source=alsa_input.usb-AKM_AK5370-00-AK5370.analog-mono sink=StreamAudio latency_msec=1 >> /dev/null

pactl load-module module-device-manager >> /dev/null  

read -p "Loaded! Press enter to unload!"

pactl unload-module $COMBINE_MODULE
pactl unload-module $STREAM_MODULE
pactl unload-module module-device-manager
pactl unload-module module-loopback

pacmd list-clientsの結果をgrepできる方法はおそらくあります。 次に、有効なソースのみをクリーンアップし、それらの出力を結合されたシンクに変更しますが、これを行うには時間がかかり、複雑になります。

今は新しい問題が発生しましたが、ターミナルからコマンドを実行してテストしました。何らかの理由で、Javaの出力シンクを変更できません。これが私が試したものとそれが返したものです:

[email protected]:~$ pacmd move-sink-input 6421 124
Welcome to PulseAudio! Use "help" for usage information.
>>> Moved failed.

私も他の人と一緒に試しましたが、すべてうまくいきました。 6421はJavaインデックスであり、124はシンクインデックスです。

関連:方法:16.04でアイコンを変更しますか?
Ubuntu
  1. Pulseaudioで仮想出力を作成する方法は?

  2. Jack Vs Pulseaudio —どのくらい速いですか?

  3. Pulseaudioループバックオーディオ出力デバイスをアンロードしますか?

  1. キーをミュートしてAlsaとPulseaudioをミュートしますが、Alsaのみをミュート解除しますか?

  2. ノートパソコンのヘッドフォンジャックから音が出ない?

  3. ビデオループバックデバイスを使用してWebカメラを偽造しますか?

  1. Ubuntu21.04でPipeWireAudioServiceを有効にしてPulseAudioを置き換える方法

  2. Linux での低遅延シリアル通信

  3. すべての ALSA デバイスを一覧表示する