Встановити гучність від терміналу


83

Чи можливо встановити гучність звуку за допомогою терміналу, а не клацати піктограмою динаміка у верхній панелі?

Причиною, для якої я хочу це зробити, є те, що на моїй клавіатурі немає кнопок збільшення / зменшення гучності, і мені здається, що це дратує охопити мишу.


1
Прочитайте Рівень гучності основного рівня в кількості відсотків 0% -100%: amixer sget Master | grep 'Right:' | awk -F'[][]' '{ print $2 }' Збільшити рівень гучності основного на 10%:amixer -q sset Master 10%+
Ерік Лещинський

Відповіді:


97

Для інтерактивного використання ви можете використовувати alsamixer. Для сценаріїв (наприклад, прив'язки до комбінацій клавіш) подивіться amixer.

alsamixer за замовчуванням включається в більшість систем.


Щоб встановити основну гучність, використовуйте:

# Gets a list of simple mixer controls
$ amixer scontrols 

Потім встановіть його на потрібний об'єм, як приклад

$ amixer sset 'Master' 50%

1
Чим відрізняється "sset" і просто "set". (Я спробував і те, і інше - робота)
Венрікс

@Venryx man amixerприпускає, що вони еквівалентні і що "s" у "sset" означає "просто". Існує також "cset", який встановлює вміст управління карткою.
Маттіас Браун

42

Знайдено у файлі конфігурації Openbox rc.xml:

# increase by 3%
amixer -q sset Master 3%+

# decrease by 3%
amixer -q sset Master 3%-

# mute/unmute
amixer -q sset Master toggle

amixer Сторінка керівництва може дати більше деталей.


21

Якщо ваша система використовує, pulseaudioви можете використовувати pactl:

pactl set-sink-volume 0 +15%

або

pactl set-sink-volume 0 -5dB

хоча ви також можете вказати ціле чи лінійний множник:

set-sink-volume SINK VOLUME [VOLUME ...]
          Set the volume of the specified sink (identified by its symbolic name or numerical index). VOLUME can be speci‐
          fied as an integer (e.g. 2000, 16384), a linear factor (e.g. 0.4, 1.100), a percentage (e.g. 10%, 100%) or a
          decibel value (e.g. 0dB, 20dB). If the volume specification start with a + or - the volume  adjustment  will  be
          relative to the current sink volume. A single volume value affects all channels; if multiple volume values are
          given their number has to match the sink's number of channels.

2
Примітка з wiki арки Linux : pactlкоманди, що приймають негативні відсоткові аргументи, не вдасться з помилкою "недійсний параметр" Використовуйте стандартний --псевдо аргумент оболонки, щоб вимкнути розбір аргументів перед негативним аргументом. наприкладpactl set-sink-volume 1 -- -5%
Джеймі Кокберн

2
@JamieCockburn - я не впевнений, коли це було написано, але я використовую archlinux, і немає абсолютно ніякої необхідності в додаткових --з від'ємними значеннями (відсоток, db, цілі числа ... всі вони працюють нормально). Насправді, це зовсім навпаки : якщо я використовую --згідно вікі, наприклад, pactl set-sink-volume 1 -- -3% я отримую Invalid volume specification.
don_crissti

Повинно бути залежним від оболонки? Я на ubuntu 14.04, з Xfce і запускаю команду з bash (4.3.11). Якщо я пропущу --, я отримую недійсний варіант.
Джеймі Кокберн

1
@JamieCockburn - я не думаю, що оболонка є релевантною (для запису, вона добре працює для мене і з обома, bashі з zsh). Ймовірно, більш ранні версії pactlцієї проблеми мали, і, швидше за все, її виправили (я використовую версію 6.0).
don_crissti

1
@JamieCockburn я запускаю ubuntu 16.04 xfce bash, і він працює ідеально без "-", лише примітка.
Reishin

9

Я знаю, що це стара. Оскільки Alsa та pulseaudio так пов'язані, ця відповідь від askubuntu допомогла мені керувати гучністю як від мого основного звуку, так і від HDMI:

збільшити обсяг

amixer -q -D pulse sset Master 10%+

зменшення гучності

amixer -q -D pulse sset Master 10%-

перемкнути звук

amixer -q -D pulse sset Master toggle

Інші команди набору аміксерів також працюють.


7

Це "більш природні для людського вуха".

Щоб отримати майстра в одиницях alsamixer, використовуйте:

amixer -M get Master

Щоб збільшити об'єм на 5% в одиницях альзаміксеру, наприклад:

amixer -M set Master 5%+

https://bbs.archlinux.org/viewtopic.php?id=135348


6

В OS X використовуйте наступне:

# highest
osascript -e "set Volume 7"
# lowest
osascript -e "set Volume 1"
# middle
osascript -e "set Volume 3.5"  

Ви навіть можете встановити гучність на інші дробові рівні:

# 25%
osascript -e "set Volume 1.75"


@Wildcard Кнопки гучності Mac мають лише з кроком 0,25
1 ''

4

Ви також можете спробувати pamixerнещодавній проект, який робить саме те, що ви хочете. Він знаходиться в однойменному сховищі ArchLinux AUR.


це навіть зараз у сховищі спільноти
Міхал Половка
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.