Я чую клацання, коли регулюється гучність якогось аудіопотоку


13

(Майже) щоразу, коли регулюється гучність аудіопотоку, я чую клацання звуку.

Я використовував веб-додаток, який випромінював декілька потоків і часто регулював їх обсяг (і повинен був це робити), що призвело до нестерпної кількості кліків. (Ця програма тепер змінила спосіб обробки потоків таким чином, що явище більше не виникає; проблема все ще може бути відтворена шляхом ручного налаштування потоків і може представляти інтерес для інших програм.)

Чи відомий спосіб запобігти цьому?

Деякі подальші спостереження:

  • Це також відбувається, коли я регулюю гучність потоків вручну (за допомогою pavucontrol). Зокрема, це також працює для потоків з інших додатків (наприклад ogg123), тому, здається, це не проблема програми.

  • Цього не відбувається в разі зміни обсягу всього пристрою виведення, тільки з потоками на pavucontrol«и відтворення вкладки.

  • Інтенсивність клацання залежить від гучності звуку, який зараз відтворюється у відповідному звуковому потоці. Його найкраще чути з монотонними звуками. Це явище також більш помітне, якщо відтворюється хоча б один аудіопотік.

  • Явище також спостерігається при незначних змінах гучності.

  • Це не те саме, що проблема, описана в: Як я можу відключити звук, що вискакує, під час регулювання гучності? Звук чітко відрізняється від /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga.

  • У мене складається враження, що деякі оновлення за останні місяці покращили ситуацію, але не повністю усунули проблему. Це також може бути пов’язано з тим, що я є ненадійним детектором.

  • Я вперше зіткнувся з цим питанням 14.04. Він зберігається в 16.04.

  • Це трапляється на декількох машинах, тому я припускаю, що це не проблема обладнання. Однак вони обидва пристрої Intel. Ось результат sudo lshw -C multimedia:

    Перша машина:

    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
    

    Друга машина

    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
    

Кліки не є нормальною поведінкою гучності для регулювання гучності Ubuntu. Як виглядають ці клацання? Чи можете у вас виникнути проблеми із зовнішнім підсилювачем? Боюся, вам доведеться бути більш конкретними. Яка програма, які потоки, де ви регулюєте гучність?
Томпсон Дауз

1
@ThompsonDawes: Чи могли у вас виникнути проблеми із зовнішнім підсилювачем? - Навряд чи. Як я писав, це відбувається на різних машинах. - Яка програма, які потоки, де ви регулюєте гучність? - Це відбувається з кількома потоками. Регулювання гучності за допомогою pavucontrolдостатньо для переживання явища.
Wrzlprmft

Я чув таке явище з деякими перетворювачами швидкості вибірки. Спробуйте встановити всі відтворюючі потоки та пульсовий звуковий мікшер, щоб використовувати однакову швидкість вибірки.
O8h7w

Зараз у мене немає часу на тестування та дослідження, але як би я встановив частоту вибірки, яку використовує змішувач Pulseaudio?
Wrzlprmft

Чи впливає кількість відтворених потоків? Чи отримуєте ви однакові результати, коли відтворюється один потік, який ви отримуєте з кількох потоків? Я намагаюся визначити, чому це завжди (майже) повинно бути правдою і які умови, коли це не так. Ви заявляєте, що це відбувається на кількох машинах. Чи є щось спільне? Можливо, такий же вихідний пристрій? Той же водій? Чи вихід однаковий у всіх системах команді sudo lshw -C multimediaЯкщо так, то що це за вихід? Який аплікатон ви використовуєте, що призводить до такої поведінки?
Старійшина Гік

Відповіді:


2

Якщо пульс "зайнятий", ви можете досягати меж затримки обладнання.

configuration: driver=snd_hda_intel latency=0

Дійсно, немає нульової затримки. Я припускаю, що це означає мілімісекунду.

Відповідно до цього https://arunraghavan.net/2013/08/pulseaudio-4-0-and-skype/ Встановлення змінної env PULSE_LATENCY_MSEC = 10 перед запуском програми. Це дає програмному забезпеченню 10 мс буферного часу, якщо у нього більше роботи для змішування потоків.

10 мс все ще досить низька затримка, якщо ви не граєте на цифрових інструментах живої музики чи дуже швидких іграх.


Спасибі за вашу відповідь. На жаль, це, здається, не допомагає, але навіть, здається, робить це трохи гірше. Однак я до цього часу не намагався встановити цю змінну в усьому світі і не можу знайти, як це елегантно зробити.
Wrzlprmft
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.