GNU/Linux >> Znalost Linux >  >> Ubuntu

Pulseaudio Loopback Latence?

K propojení systémových zvuků a mikrofonu používám pulzní audio smyčky. Problém je v tom, že zvuky mého systému mají zpoždění sekundy nebo někdy i více. Změnil jsem zaškrtnuté současně v paprefs ale tím se to nevyřešilo. K tomu používám tento skript.

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

Prošel jsem stránky google, ale zdá se, že to nic nevyřeší. Je něco zjevného, ​​co mi chybí?

alsa_output.pci-0000_00_1b.0.analog-stereo.monitor jsou všechny zvuky mého systému.

alsa_input.usb-AKM_AK5370-00-AK5370.analog-mono je můj mikrofon

Zde je příklad, kdy se zpoždění stane 3,4 sekundy:http://screencloud.net/v/tNAQ, zatímco druhá smyčka má mnohem méně http://screencloud.net/v/suIF

Z toho, co mohu říct, z nějakého důvodu se vyrovnávací paměť plní. Nějakým způsobem to můžu spláchnout nebo tak něco?

Přijatá odpověď:

Našel jsem dočasné východisko, ale stále mě to mate. Vytvořil jsem kombinovaný modul a poté propojím každý zdroj zvuku, který chci, s kombinovaným, který pak směruje do mých systémových zvuků a do jímky Streaming.

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

Pravděpodobně existuje způsob, jak mohu získat výsledky pacmd list-clients a poté vyčistit pouze platné zdroje, změnit jejich výstup na kombinovanou jímku, ale to by trvalo příliš dlouho a složitě.

I když nyní vyvstává nový problém a dokonce jsem to testoval spuštěním příkazu přes terminál. Z nějakého důvodu nemohu změnit výstupní jímku Java. Zde je to, co jsem zkusil a co to vrátilo:

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

Zkoušel jsem to i s ostatními a všichni fungovali. 6421 je index Java a 124 je index sink.

Související:Jak:Změnit ikonu v 16.04?
Ubuntu
  1. Jak vytvořit virtuální výstup v Pulseaudio?

  2. Jack vs Pulseaudio — Jak je to rychlejší?

  3. Pulseaudio Loopback Uvolnit výstupní audio zařízení?

  1. Ztlumit klávesu Ztlumí Alsu a Pulseaudio, ale zapne pouze Alsu?

  2. Jaký způsob, jak uložit nastavení Alsamixer jiný než Alsactl Store?

  3. Falešná webkamera pomocí zařízení Video Loopback?

  1. Jak aktualizovat Pulseaudio na 12.x v Ubuntu 18.04?

  2. Změna výchozího zvukového zařízení v Pulseaudio

  3. Jak se PulseAudio spouští?