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

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

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

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

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

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

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

1 ответ

Решение

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

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

Последняя версия 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,

Для меня текущий лучший ответ добавления ignore_dB=1 в конфигурации PulseAudio, фиксированный уровень громкости, начиная с 0, но он все равно слишком быстро становился громким.

Еще немного поиграв, я обнаружил, что мое обычное аудиоустройство USB имеет несколько выходных "профилей" с такими именами, как "аналоговый-стерео" и "iec958-стерео". Несмотря на то, что физическое устройство имеет только выход 3,5 мм, изменение профиля на "iec958-stereo" устранило как масштабирование громкости, так и проблемы смещения.

Я играл с разными профилями, используя pavucontrolИнструмент с графическим интерфейсом. Выбор профиля находится во вкладке "Конфигурация". Затем я воспользовался советом из этого поста, чтобы сделать вещи постоянными:https://unix.stackexchange.com/questions/462670/set-default-profile-for-pulseaudio

Другие вопросы по тегам