web-dev-qa-db-fra.com

J'entends des clics lorsque le volume d'un flux audio est ajusté

(Presque) chaque fois que le volume d'un flux audio est ajusté, j'entends un clic.

J'utilisais une application Web qui émettait plusieurs flux et en ajustait fréquemment le volume (ce qui devrait permettre de le faire), ce qui a entraîné une quantité insupportable de clics. (Cette application a maintenant changé sa façon de gérer les flux de telle sorte que le phénomène ne se produise plus; le problème peut toujours être reproduit en ajustant manuellement les flux et peut présenter un intérêt pour d'autres applications.)

Y a-t-il un moyen connu d'empêcher cela?

Quelques observations supplémentaires:

  • Cela se produit également lorsque j'ajuste le volume des flux manuellement (avec pavucontrol). En particulier, cela fonctionne aussi pour les flux d'autres applications (comme ogg123), de sorte que cela ne semble pas être un problème d'application.

  • Cela ne se produit pas si vous modifiez le volume d’un périphérique de sortie entier, uniquement avec les flux sur l’onglet pavucontrol ’s .

  • L'intensité du clic dépend du volume du son en cours de lecture dans le flux audio correspondant. On l'entend mieux avec des sons monotones. Le phénomène est également plus important si au moins un autre flux audio est lu.

  • Le phénomène est également observable pour de légers changements de volume.

  • Ce n'est pas la même chose que le problème décrit dans: Comment puis-je désactiver le son "popping" lors du réglage du volume? Le son est clairement distinct de /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga.

  • J'ai l'impression que certaines mises à jour au cours des derniers mois ont amélioré la situation, mais n'ont pas complètement résolu le problème. Cela peut aussi être dû au fait que je suis un détecteur peu fiable.

  • J'ai rencontré ce problème pour la première fois en 14.04. Il persiste dans 16.04.

  • Cela se produit sur plusieurs machines, donc je suppose que ce n'est pas un problème matériel. Ce sont deux appareils Intel, cependant. Voici le résultat de Sudo lshw -C multimedia:

    Première machine:

    description: Audio device
    product: 7 Series/C210 Series Chipset Family High Definition Audio Controller
    vendor: Intel Corporation
    physical id: 1b
    bus info: pci@0000:00:1b.0
    version: 04
    width: 64 bits
    clock: 33MHz
    capabilities: pm msi pciexpress bus_master cap_list
    configuration: driver=snd_hda_intel latency=0
    resources: irq:28 memory:f2530000-f2533fff
    

    Deuxième machine

    description: Audio device
    product: 82801JI (ICH10 Family) HD Audio Controller
    vendor: Intel Corporation
    physical id: 1b
    bus info: pci@0000:00:1b.0
    version: 00
    width: 64 bits
    clock: 33MHz
    capabilities: pm msi pciexpress bus_master cap_list
    configuration: driver=snd_hda_intel latency=0
    resources: irq:32 memory:f9ff8000-f9ffbfff
    
13
Wrzlprmft

Il est possible que vous atteigniez les limites de latence de votre matériel lorsque Pulse est "occupé".

configuration: driver=snd_hda_intel latency=0

Il n'y a vraiment pas de latence nulle. Je suppose que cela signifie moins d'une milliseconde.

Selon ce https://arunraghavan.net/2013/08/pulseaudio-4-0-and-skype/ Définir la variable env Pulse_LATENCY_MSEC = 10 avant de démarrer une application. Cela donne au logiciel 10 ms de temps tampon s'il a plus de travail à faire pour mélanger les flux.

10 ms est toujours une latence suffisante, sauf si vous jouez de la musique en direct, des instruments numériques ou des jeux très rapides.

2
teknopaul