Настройка громкости входа микрофона с помощью командной строки?

У меня есть USB-микрофон, который я постоянно подключаю к док-станции своего ноутбука. Когда я захожу в док-станцию, мне нужно, чтобы микрофон автоматически настраивался на мой текущий аудиовход. У меня есть скрипт "I'm docked", который я запускаю, который устанавливает элементы xrandr / etc, мне просто нужен какой-то метод, выполняющий действие:

gnome-volume-control, вкладка input, выберите mic [ 111]

но из строки / скрипта cmd.

Любые советы о том, как я могу автоматизировать / сценарий этого?

7
задан 11 June 2014 в 16:25

3 ответа

Если вы используете ALSA, amixer может быть полезен для программирования ваших скриптов.

При сбросе команды amixer --help в терминале вы увидите что-то вроде этого:

enter image description here

В зависимости от вашей звуковой карты уровни могут отличаться от моих, но вы можете использовать alsamixer в терминале, чтобы проверить, какие уровни и какие функции на вашей звуковой карте вы можете вызвать с помощью команды, чтобы установить громкость по вашему желанию.

enter image description here

В моем примере, с моей основной звуковой картой (у меня есть 2: встроенная и звуковая карта PCI), уровни от 0 до 100, таким образом я могу изменить громкость желаемого входа / выхода в моей звуковой карте, добавив в терминал следующую команду:

amixer -c 0 set Front 50DB 
amixer -c 0 set Front 64DB 

В первой команде результат установит выходной сигнал передней панели на уровень 78%, а второй установит выход на передней панели на уровень 100%.

Чтобы собрать информацию, относящуюся к элементам управления вашего микшера, удалите команду amixer без параметров, и вы получите список. Или укажите, какое аудиоустройство вы хотите увидеть в списке элементов управления, с помощью amixer -c X (где «X» - номер вашего аудиоустройства).

Кстати: помните, что значения БД рассчитываются логарифмически, а не линейно.

0
ответ дан 11 June 2014 в 16:25

Возможно, pacmd set-default-source работает, если вы используете pulseaudio, например:

pacmd set-default-source alsa_input.usb-046d_0819_9F13DC90-02-U0x46d0x819.analog-mono

Найдите имя источника с помощью команды: pacmd list-sources.

0
ответ дан 11 June 2014 в 16:25

Я нашел лучший ответ, посмотрев документы (вероятно, это недавнее дополнение к pacmd ...

Используйте pacmd list-sources, чтобы увидеть различные устройства ввода, устройство с * index: ... - один активный.

Вы можете затем использовать pacmd set-source-volume <index> <volume>, чтобы установить его. В моем случае 50% не удался, поэтому я просто пробовал разные числа, пока он не достигал 50%.

Для я: pacmd set-source-volume 1 30000

Ура!

0
ответ дан 11 June 2014 в 16:25

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

Похожие вопросы: