Как управлять балансом динамика или отключить один динамик?
У меня ноутбук с двумя динамиками: один перегорел и воспроизводит неприятный искаженный звук.
Как я могу навсегда деактивировать его или контролировать с помощью баланса?
Команда терминала предпочтительна, я считаю.
Также я использую основные настройки звука Gnome и PulseAudio Manager. Последний используется для максимизации громкости, поскольку первый не позволяет мне выйти за пределы 150%. Но когда я использую PulseAudio Manager, он автоматически перебалансирует динамики до 50%/50%. Таким образом, любое решение должно быть достаточно постоянным, чтобы PulseAudio Manager не мог изменить баланс.
Благодарю.
3 ответа
Я не знаю способа заблокировать элемент управления с помощью ALSA или PulseAudio, но этот маленький хак должен сработать:
stdbuf -oL alsactl monitor | \
while read; do
amixer -D pulse sset Master 0,-
done
Он следит за изменениями громкости, используя alsactl monitor
(вы можете запустить эту команду самостоятельно и изменить громкость, чтобы увидеть, что она делает), и каждый раз, когда вносятся изменения, она сбрасывает громкость левого канала на 0.
Вам может понадобиться изменить:
pulse
к чему-то еще, если вы используете другое аудиоустройство.0,-
в-,0
если вы хотите, чтобы правильный канал был отключен.Master
что-то вродеSpeaker,0
если вы хотите, чтобы дополнительный контроль (например, наушники) работал как обычно.
Вы можете запустить скрипт при запуске:
- Положить его в файл, например
~/.bin/alsa-fix
, - давая файлу разрешение на запуск:
chmod +x ~/.bin/alsa-fix
, а также - добавление строки
~/.bin/alsa-fix &
в~/.profile
,
Скрипт должен практически не использовать процессор или оперативную память, но если вы хотите сделать его еще более эффективным, вы, вероятно, можете запустить его с dash
добавив строку #!/bin/dash
в начало файла.
В интерфейсе GUI есть звуковой контроль правого и левого баланса. Ваш вопрос, кажется, указывает на то, что вы предпочитаете команду терминала, и поэтому, если это так, я не могу вам помочь. Однако, если вы просто решили отключить звук одной из ваших колонок, вы сможете настроить это в своих настройках звука. Просто нажмите один раз на значок динамика в верхней части экрана и нажмите на настройки звука.
Обычная команда для установки уровней amixer имеет одно значение, используемое для всех каналов, но может использовать два разных значения
например: я установил линию захвата для мономикрофона на моем оборудовании с
amixer set -c 0 Line 42,0
используйте команду amixer или alsamixer, чтобы найти номер идентификатора устройства для опции -c
и имя элемента микшера ALSA для замены 'Line'
Можно использовать значения в процентах или дБ
В этом случае значения "46%" или "0 дБ" вместо "42" дают тот же результат
Если Pulseaudio по-прежнему вызывает изменения в уровне ALSA
Используйте Pulseaudio регулятор громкости pavucontrol
перейдите на вкладку Устройства вывода
нажмите на замок, чтобы разблокировать каналы, чтобы установить уровни каналов