Как изменить способ, которым 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