Как управлять балансом динамика или отключить один динамик?

У меня ноутбук с двумя динамиками: один перегорел и воспроизводит неприятный искаженный звук.

Как я могу навсегда деактивировать его или контролировать с помощью баланса?

Команда терминала предпочтительна, я считаю.

Также я использую основные настройки звука 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 если вы хотите, чтобы дополнительный контроль (например, наушники) работал как обычно.

Вы можете запустить скрипт при запуске:

  1. Положить его в файл, например ~/.bin/alsa-fix,
  2. давая файлу разрешение на запуск: chmod +x ~/.bin/alsa-fix, а также
  3. добавление строки ~/.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
перейдите на вкладку Устройства вывода
нажмите на замок, чтобы разблокировать каналы, чтобы установить уровни каналов

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