GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Latenza di loopback Pulseaudio?

Sto usando i loopback di pulseaudio per collegare insieme i suoni del mio sistema e il mio microfono. Il problema è che i suoni del mio sistema hanno un ritardo di un secondo o anche di più a volte. Ho cambiato barrato simultaneo in paprefs ma questo non l'ha risolto. Sto usando questo script per farlo.

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

Ho sfogliato le pagine di google, ma nulla sembra risolverlo. C'è qualcosa di ovvio che mi sfugge?

alsa_output.pci-0000_00_1b.0.analog-stereo.monitor sono tutti i miei suoni di sistema.

alsa_input.usb-AKM_AK5370-00-AK5370.analog-mono è il mio microfono

Ecco un esempio in cui il ritardo diventa 3,4 secondi:http://screencloud.net/v/tNAQ mentre l'altro loopback ha molto meno http://screencloud.net/v/suIF

Da quello che posso dire, per qualche motivo il buffer si riempie. In qualche modo posso svuotarlo o qualcosa del genere?

Risposta accettata:

Ho trovato una via d'uscita temporanea, ma questo mi confonde ancora. Ho creato un modulo combinato, dopodiché collego ogni sorgente sonora che voglio a quella combinata, che poi viene indirizzata ai suoni del mio sistema e allo Streaming sink.

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

Probabilmente c'è un modo in cui posso grep i risultati di pacmd list-clients e quindi ripulisci solo le sorgenti valide, cambia il loro output nel sink combinato, ma ciò richiederebbe troppo tempo e complessità.

Anche se ora sorge un nuovo problema e l'ho persino testato eseguendo il comando tramite il terminale. Per qualche motivo non posso cambiare il sink di output di Java. Ecco cosa ho provato e cosa ha restituito:

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

Ho provato anche con altri e hanno funzionato tutti. 6421 è l'indice Java e 124 è l'indice sink.

Correlati:Come:cambiare un'icona in 16.04?
Ubuntu
  1. Aumenta il throughput e riduce la latenza per Ubuntu Plex Media Server

  2. Come creare un output virtuale in Pulseaudio?

  3. Jack Vs Pulseaudio:come è più veloce?

  4. Pulseaudio Loopback Scarica i dispositivi di uscita audio?

  5. Il tasto Mute disattiva Alsa e Pulseaudio, ma riattiva solo Alsa?

Come abilitare il servizio audio PipeWire per sostituire PulseAudio in Ubuntu 21.04

Errore di dipendenza Libpulse – Impossibile reinstallare Pulseaudio in Ubuntu

Modifica del dispositivo audio predefinito in Pulseaudio

Come si avvia PulseAudio?

Pipe/Mix Line In all'uscita in PulseAudio

Come funziona l'interfaccia di loopback