Терминальная команда для установки громкости звука?

96

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

То, что я ищу, - это команда терминала, которая установит эту громкость на 50%, чтобы я мог запустить ее при входе в систему и не беспокоиться о том, что первый звук, который я воспроизведу, вылетит на меня, если я забуду включить громкость вниз. Какие команды позволяют изменить эту громкость, например ту, которая есть в звуковом индикаторе?

Я поковырялся в gsettings и dbus, но не смог найти ничего, что позволило бы мне так настроить громкость системы. Я знаю об alsamixer, но это не то решение, которое я ищу, поскольку оно не позволяет мне изменять громкость с помощью звукового индикатора или мультимедийных клавиш моего ноутбука.

Marius
источник
@rajagenupula он хочет уменьшить ту же громкость, что и графический интерфейс. ALSA не сработает в этом случае, поскольку контролируется не ALSA, а Pulseaudio. i.stack.imgur.com/9C8Z2.png
Брайам
Также смотрите здесь: askubuntu.com/questions/44680/…
Таккат

Ответы:

120

Часть этого ответа приходит из Настройка громкости входа микрофона с помощью командной строки? , размещенный здесь для вашего удобства.

Увеличить громкость на 5%

amixer -D pulse sset Master 5%+

Уменьшить объем на 5%

amixer -D pulse sset Master 5%-

Установите громкость на 50%

amixer -D pulse sset Master 50%

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

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

введите описание изображения здесь

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

введите описание изображения здесь

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

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

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

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

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

Помните, что эта команда позволяет вам контролировать параметры на любом звуковом устройстве, которое вы используете в данный момент.

Удачи!

Geppettvs D'Constanzo
источник
1
Стоит отметить, что если у вас нет «Мастер» контроллера или «Мастер» контроллер не может изменить фактическую выходную громкость, вы, вероятно, работаете с неправильной звуковой картой. F6на alsamixerи --card nна amixerизменение звуковой карты.
Пооян Хосрави
Неплохо подмечено! @PooyanKhosravi, даже если вы можете вызвать звуковую карту, которую хотите автоматизировать, из командной строки, опустив «-c X» (где «X» - номер вашей звуковой карты), полезно знать предоставленную вами информацию. Большое спасибо!
Geppettvs D'Constanzo
pactl(в отличие от amixer) позволяет увеличить громкость более чем на 100% (видя в pavucontrol) :-)
pevik
80

Вы можете сделать это с помощью самого PulseAudio (я не рекомендую использовать ALSA, потому что тогда вы не сможете использовать графический интерфейс для увеличения / уменьшения громкости).

Используя pactl : вы можете установить громкость для определенного устройства следующим образом:

pactl set-sink-volume 0 +10%

Это увеличивает громкость на 10%. Если вы хотите уменьшить его на 10%:

pactl set-sink-volume 0 -10%

Если вам нужен объем на 50%:

pactl set-sink-volume 0 50%

Если вам нужно качать все место:

pactl set-sink-volume 0 150%

Вы можете использовать проценты или целые числа, но целые числа медленные и могут не подходить вам.

pactl/ pacmd(в отличие от amixer) позволяет увеличить громкость свыше 100% :-).

Braiam
источник
3
Если вы используете наушники, попробуйте увеличить ноль до единицы: pactl set-sink-volume 1 50%
Smile4ever
13
Если вы хотите использовать одни и те же команды на разных хостах с разными @DEFAULT_SINK@приемниками , вы можете использовать их вместо номера 0. Вы устанавливаете приемник по умолчанию с помощью pactl set-default-sink my-sink-name(список имен с помощью pactl list short sinks).
Певик
3
Получение: Failed to get sink information: No such entityкак решить эту проблему? - Правка, мне нужно было использовать раковину, кроме того 0. Первый номер pactl list short sinksможно использовать. Эта команда работает, например:pactl set-sink-volume $(pactl list short sinks | head -n1 | cut -f1) 50%
ideasman42
23

amixer set 'Master' 10%+- увеличить максимальный звук на 10%

amixer set 'Master' 10%-- уменьшить максимальный звук на 10%

amixer set 'Master' 10% - получить 10% от максимального звука

amixer set 'Master' 80% - получить 80% от максимального звука

.. и т.д.

Если вы хотите установить громкость, отличную от «Master», проверьте список:

amixer scontrols


Вы также можете проверить alsamixerиpacmd

NP8
источник
6

Поздний ответ, но может быть полезным для кого-то.


Вы можете контролировать громкость текущего приемника, используя следующие команды

  • Поднимите громкость :pactl set-sink-volume @DEFAULT_SINK@ +1000

  • Нижний объем :pactl set-sink-volume @DEFAULT_SINK@ -1000

  • Mute :pactl set-sink-mute @DEFAULT_SINK@ toggle

Вы можете использовать следующие значения для управления громкостью:

целое число

  • Конкретное значение: <number>
  • Увеличение: +<number>
  • Уменьшение: -<number>

Пример:

pactl set-sink-volume @DEFAULT_SINK@ 50000 установит громкость около 76%

Линейный фактор

  • Конкретное значение: <number>.<number>
  • Увеличение: +<number>.<number>
  • Уменьшение: -<number>.<number>

Пример:

pactl set-sink-volume @DEFAULT_SINK@ 0.44\ установит громкость около 76%

Percentaje

  • Конкретное значение: <number>%
  • Увеличение: +<number>%
  • Уменьшение: -<number>%

Пример:

pactl set-sink-volume @DEFAULT_SINK@ 76% установит громкость около 76%

Значение децибела

ВНИМАНИЕ: не экспериментируйте со значениями децибел при использовании наушников, если вы не знаете, что делаете, вы можете повредить ваш слух

  • Конкретное значение: <number>dB
  • Увеличение: +<number>dB
  • Уменьшение: -<number>dB

Пример:

pactl set-sink-volume @DEFAULT_SINK@ 0.0dB установит громкость на 100%


Источники Arch Wiki , pactl man page

Cheloide
источник
+1 !! Единственное решение, которое сработало для меня мгновенно.
Дборис