Как мне изменить способ, которым Ubuntu регулирует уровни моего микшера громкости?

14

У меня некоторое время была слегка раздражающая проблема со звуком, и я наконец решил, что пришло время что-то с этим сделать.

Каждый раз, когда я настраиваю основной регулятор громкости на панели инструментов или использую горячие клавиши громкости на своем ноутбуке, Ubuntu странным образом регулирует уровни моего микшера. Когда я открываю GNOME ALSA Mixer, я замечаю, что для моего SigmaTel STAC9200 есть три ползунка вывода: Master, PCM и LFE. Master и LFE имеют флажки Mute.

Когда я нажимаю горячую клавишу увеличения громкости один раз, Master и LFE включаются, а ползунки для PCM и LFE подпрыгивают примерно на полпути. Мастер-слайдер остается на нуле. Другое нажатие поднимает PCM и LFE примерно до 4/5, и Мастер остается неподвижным внизу.

Ubuntu не перемещает Master, пока PCM и LFE не достигнут максимума, что происходит между 15% -20% на главном выходном микшере.

Эффект этого состоит в том, что я не получаю никакого звука вообще до примерно 15% -20% (так как Мастер на нуле), и когда я пересекаю этот порог, я сразу же получаю громкий басовый звук (очевидно из LFE) , Если я использую наушники, я до сих пор не слышу звука до этого порога, но, по крайней мере, он меня не волнует, когда я получаю звук.

Есть ли что-то в конфигурации PulseAudio или где-либо еще, что может изменить поведение моего выходного микшера?

DLH
источник
1
Статья на wiki.ubuntu.com была идеальной. Вы должны были опубликовать это как ответ.
DLH
2
Даниэль Т Чен: Пожалуйста, оставьте свой комментарий в качестве ответа. Еще лучше процитировать соответствующий раздел на случай, если ссылка когда-нибудь не сработает.
Стефано Палаццо
Извините, я переместил ответ в (более) соответствующий раздел. Кроме того, у меня есть прерывистый доступ в Интернет, поэтому я не могу сразу решать проблемы. Спасибо за понимание.
Даниэль Т Чен

Ответы:

23

Есть много слоев в стеке аудио, которые могут способствовать этому симптому. Наиболее прямым является поведение, которое по умолчанию использует PulseAudio, и вы можете прочитать об этом по адресу http://pulseaudio.org/wiki/PulseAudioStoleMyVolumes . Вы можете обойти некоторые экземпляры, используя инструкции, которые я предоставил на https://wiki.ubuntu.com/DebuggingSoundProblems/KarmicCaveats#Volume%20range%20anomalies :

Объемные аномалии

Последняя версия PulseAudio пытается управлять громкостью звуковой карты с помощью элементов управления микшера. Обычно это работает просто отлично, но в некоторых случаях это не работает должным образом. (Является ли это ошибкой PulseAudio или ALSA, выходит за рамки этой вики-страницы. Более подробная информация здесь .)

диагностика

Вы испытываете любое из следующего:

  • Скачки громкости, например, если все ниже 20% приглушено, а 21% очень громко.
  • Перегрузка (искаженный звук), если громкость установлена ​​выше определенного (низкого) уровня
  • Никаких изменений громкости в некоторых частях диапазона, например, если 20% громко, как 70%.

Исправить / Обойти

Есть несколько переменных, которые управляют тем, как PulseAudio контролирует громкость. Вы можете либо отредактировать /etc/pulse/default.pa(для этого вам нужно быть пользователем root), чтобы изменить поведение всех пользователей, либо скопировать этот файл ~/.pulse/default.paи затем отредактировать этот файл, чтобы изменить поведение только для текущего пользователя.

Откройте файл, упомянутый выше. Найдите строку с надписью load-module module-udev-detectи измените ее на:

load-module module-udev-detect ignore_dB=1

Чтобы попробовать внести изменения, перезапустите PulseAudio с помощью следующей команды:

killall pulseaudio

PulseAudio будет автоматически вызываться (перезапускать себя).

Вы можете обнаружить, что вышеуказанного обходного пути недостаточно, и в этом случае вы можете настроить PulseAudio для управления только одним микшером, например, PCM (см. Alsamixer). Найдите строку с надписью #load-module module-alsa-sinkи измените ее на:

load-module module-alsa-sink control=PCM

(не забудьте убрать символ # в начале строки!) При необходимости замените PCM на элемент управления микшером, которым вы хотите управлять PulseAudio.

Затем вам нужно будет, killall pulseaudioкак указано выше, и разрешить демону автозапускаться.

Наконец, нужно ли использовать эту аномалию на самом деле как ошибку ubuntu-bug alsa-base.

Даниэль Т Чен
источник
Изменение этих двух строк в default.pa работало отлично. Благодарность!
DLH
У меня тот же аудио чипсет, и управление модулем линейного загрузочного модуля alsa-sink = PCM дало мне ровный звук (мне не нужно ignore_dB = 1). Это похоже на ошибку в этом чипсете.
Эрик Дрехсель
Спасибо, но это далеко не оптимальное решение. Во-первых, он полностью портит аудиоустройства на панели «Настройки системы Ubuntu». И во-вторых, это, кажется, не сохраняется для меня.
thnee
Вы, сэр, гений! У меня была одна из тех проблем (нет звука ниже как 20% иша) со всеми внешними аудиоадаптерами, которые я пробовал (3+). До нынешнего момента. О, МОЙ БОГ. Все, что мне было нужно, это флаг ignore_dB = 1. Другой ничего не сделал. Я так благодарен. Этот флаг должен быть включен по умолчанию, так как у меня была та же проблема со многими внешними аудиоадаптерами (от 10 до 50 долларов). (Я не испытывал ни одной из описанных проблем @ thnee). Стоит отметить, что у меня были эти проблемы в Ubuntu 16.04 и выше. Я сейчас на 17.04.
fgblomqvist