GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Latence de bouclage Pulseaudio ?

J'utilise le bouclage pulseaudio pour relier les sons de mon système et mon microphone. Le problème est que les sons de mon système ont un retard d'une seconde ou même plus parfois. J'ai changé coché simultanément dans paprefs mais cela n'a pas résolu le problème. J'utilise ce script pour le faire.

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

J'ai parcouru des pages de google, mais rien ne semble le réparer. Y a-t-il quelque chose d'évident qui me manque ?

alsa_output.pci-0000_00_1b.0.analog-stereo.monitor sont tous mes sons système.

alsa_input.usb-AKM_AK5370-00-AK5370.analog-mono est mon micro

Voici un exemple où le délai devient 3,4 secondes :http://screencloud.net/v/tNAQ alors que l'autre bouclage a beaucoup moins http://screencloud.net/v/suIF

D'après ce que je peux dire, pour une raison quelconque, le tampon se remplit. De toute façon je peux le vider ou quelque chose ?

Réponse acceptée :

J'ai trouvé une issue temporaire, mais cela me confond encore. J'ai créé un module combiné, et après cela, je relie chaque source sonore que je veux à la source combinée, qui est ensuite acheminée vers les sons de mon système et vers le récepteur de diffusion.

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

Il existe probablement un moyen de grep les résultats de pacmd list-clients puis nettoyer uniquement les sources valides, modifier leur sortie vers le récepteur combiné, mais cela prendrait trop de temps et serait trop complexe à faire.

Bien que maintenant un nouveau problème se pose, et je l'ai même testé en exécutant la commande via le terminal. Pour une raison quelconque, je ne peux pas modifier le récepteur de sortie de Java. Voici ce que j'ai essayé et ce qu'il a renvoyé :

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

J'ai essayé avec d'autres aussi et ils ont tous fonctionné. 6421 est l'index Java et 124 est l'index du récepteur.

Connexe :Comment :Changer une icône en 16.04 ?
Ubuntu
  1. Augmentez le débit et réduisez la latence pour Ubuntu Plex Media Server

  2. La prise casque pour ordinateur portable ne produit aucun son ?

  3. Comment mettre à jour Pulseaudio vers 12.x dans Ubuntu 18.04 ?

  4. Changer le périphérique audio par défaut dans Pulseaudio

  5. Comment fonctionne l'interface de bouclage

Comment activer le service audio PipeWire pour remplacer PulseAudio dans Ubuntu 21.04

Erreur de dépendance Libpulse - Impossible de réinstaller Pulseaudio dans Ubuntu

Lister tous les appareils ALSA

Pulseaudio :comment rescanner les appareils audio ?

Comment démarre PulseAudio ?

Pipe/Mix Line In vers Output dans PulseAudio