web-dev-qa-db-fra.com

La sortie audio commence différée

Via SPDIF son audible commence tard, e. g. Dans la boîte de dialogue Tester le son, j'entends au maximum entendre "Gauche" lorsque la voix doit indiquer "Avant gauche".

Lorsque pavucontrol est ouvert (en arrière-plan) lorsque je clique sur le test de son, il commence immédiatement.

Généralement, à partir de n’importe quel fichier audio/multimédia, le début n’est pas lisible/compréhensible. Connexion soit optique ou coaxiale. Cela ne semble concerner que Ubuntu 12.10, ce n’était pas le cas dans 12.04, mais pas dans 13.04!

De buntuusers.de un peu d’aide - jouer avec un sinus incassable pour garder spdif en vie:

apt-get install sox
play -n -c2 synth sin gain -100   # -c2 for two channels

Matériel sur ASRock 970 Extreme3 ​​(et GeForce 210):

$ cat /proc/asound/cards
 0 [SB             ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0xfe200000 irq 16
 1 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xfe080000 irq 25

$ cat /proc/asound/card0/codec* | grep Codec
Codec: Realtek ALC892

Quelques pulseaudio -v sorties collées dans http://paste.ubuntu.com/5629082/

Puis-je mettre à jour à partir de pulseaudio 2.1?

Live Ubuntu 13.04 sortie collée vers http://paste.ubuntu.com/5630475/ - en fait, seul le tout premier appel de son (ou après une longue pause de l'utilisateur?) Est retardé, c'est-à-dire après "... Gauche", "Front Droite" se fait entendre alors qu'en 12.10, il est toujours "... Gauche", "... Droite".

10
type

Je sais que je suis sur le point de faire revivre un ancien fil de discussion, mais j'ai trouvé une solution simple et efficace qui résout le problème.

De: https://wiki.archlinux.org/index.php/PulseAudio

Pour désactiver le chargement du module module-suspend-on-idle, mettez en commentaire la ligne suivante du fichier de configuration utilisé (~/.config/Pulse/default.pa ou /etc/Pulse/default.pa):

### Automatically suspend sinks/sources that become idle for too long
# load-module module-suspend-on-idle

Enfin, redémarrez PulseAudio pour appliquer les modifications.

18
Dr_Evil

On dirait que la gestion de l’énergie empêche la carte son d’émettre le premier extrait de son. De http://wiki.gentoo.org/wiki/Power_management/Soundcard , les bits importants sont les suivants:

Réglage de l'exécution

Vous pouvez ajuster le pilote dans le système de fichiers sysfs sous/sys/module/snd_hda_intel/parameters

Le bouton power_save_controller contrôle si le mode économie d'énergie est activé. C'est prédéfini par l'option du noyau ... économie d'énergie ....

Le bouton power_save définit le délai d'expiration en secondes. Il est prédéfini par l'option du noyau Délai d'expiration par défaut ...

pm-utils

pm-utils contient un script permettant d'activer le mode d'économie d'énergie lorsqu'il est sur batterie et de le désactiver lorsqu'il est sous tension. Il remplace les valeurs par défaut du noyau.

Si vous utilisez pm-utils, mais ne souhaitez pas ce type de réglementation, désactivez le script: root # touch /etc/pm/power.d/intel-audio-powersave

Dans le texte ci-dessus, les choses à essayer sont:

  1. dans le terminal, lancez l’opération suivante et essayez à nouveau de lire de l’audio:

    echo N | Sudo tee /sys/module/snd_hda_intel/parameters/power_save_controller
    

    Si le son est correct, vous devez le rendre permanent en ajoutant un nouveau fichier dans /etc/modprobe.d/ avec le contenu suivant:

    options snd_hda_intel power-saving=N
    
  2. lancez Sudo touch /etc/pm/power.d/intel-audio-powersave et redémarrez

    si le correctif fonctionne, alors l'audio doit jouer normalement, sinon, supprimez à nouveau le fichier:

    Sudo rm /etc/pm/power.d/intel-audio-powersave
    

Si aucune de ces solutions ne fonctionne, alors je suis à court d'idées :-).

2
Daniel Llewellyn

Il s'agit d'un problème général avec la sortie SPDIF/numérique et le traitement du signal par le récepteur, etc. S'il n'y a pas de signal, le récepteur passe en mode veille. Quelques minutes à quelques centaines de millisecondes suffisent pour commencer à jouer le signal. Le SEUL moyen de remédier à ce problème est de faire en sorte que votre sortie SPDIF envoie en permanence un signal, laissant ainsi le traitement du destinataire en vie à tout moment. Pour le moment, je viens de résoudre ce problème dans Windows en utilisant un utilitaire minuscule écrit par un gars dans .NET qui émet un signal nul à tout moment. Il l'appelle SPDIF Keep-Alive. Le signal continue de circuler et mon récepteur écoute en permanence. Je n'ai pas encore vu de moyen de faire cela pour Linux, mais j'imagine que le support pour créer une telle chose est PARTOUT. J'espère que cela a donné à quelqu'un une idée de ce qu'il faut rechercher ou où regarder ensuite! -K9SPY

Maintien en vie de l’audio numérique Maintien en vie de SPDIF Maintien en vie de TOSLINK Maintien en vie de rester en vie Tiens le temps passé en veille éteint le retard du son SPDIF

1
K9SPY
  1. Recherchez les fichiers de configuration PulseAudio contenant les lignes load-module module-suspend-on-idle:

    neatsoft@desktop:~$ grep module-suspend-on-idle /etc/Pulse/*
    /etc/Pulse/default.pa:load-module module-suspend-on-idle
    /etc/Pulse/system.pa:load-module module-suspend-on-idle
    
  2. Commentez ces lignes.

  3. Redémarrez PulseAudio pour appliquer les modifications:

    pulseaudio -k

Vient de tester sur Ubuntu 17.04 et cela fonctionne bien.

0
neatsoft

Le réponse acceptée sur le fait de ne pas charger module-suspend-on-idle ne résout pas le problème pour moi. Pour "réparer" cela, je devais laisser une commande de silence continu à l'arrière-plan, voir UPDATE 2 de la question suivante:

Et j'ai reproduit ce problème à la fois dans les haut-parleurs internes des ordinateurs portables et sur les PC via HDMI et des écouteurs, aucun besoin de SPDIF, sur les derniers ArchLinux et Ubuntu.

0
pepper_chico