Я слышу щелчки всякий раз, когда громкость некоторого аудиопотока регулируется

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
    
Wrzlprmft
источник
Клики не являются нормальным поведением громкости для регулировки громкости Ubuntu. Как звучат эти щелчки? Не могли бы вы иметь проблемы с вашим внешним усилителем? Боюсь, вам придется быть более конкретным. Какая программа, какие потоки, где вы регулируете громкость?
Томпсон Доус
1
@ThompsonDawes: У вас могут быть проблемы с внешним усилителем? - Вряд ли. Как я уже писал, это происходит на разных машинах. - Какая программа, какие потоки, где вы регулируете громкость? - Это происходит с несколькими потоками. Регулировка громкости через pavucontrolдостаточно, чтобы испытать явление.
Wrzlprmft
Я слышал такое явление с некоторыми преобразователями частоты дискретизации. Попробуйте настроить все воспроизводимые потоки и микшер pulseaudio на одинаковую частоту дискретизации.
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 мс - это все еще достаточно низкая задержка, если вы не играете на цифровых инструментах с живой музыкой или в очень быстрых играх.

teknopaul
источник
Спасибо за ваш ответ. К сожалению, это, кажется, не помогает, но даже, кажется, делает его немного хуже. Тем не менее, я не пытался установить эту переменную глобально до сих пор и не могу найти, как элегантно сделать это.
Wrzlprmft