Régler le volume du terminal

83

Est-il possible de régler le volume audio à l'aide du terminal au lieu de cliquer sur l'icône du haut-parleur dans la barre supérieure?

La raison pour laquelle je veux faire cela est que mon clavier n’a pas de boutons d’augmentation / diminution du volume et je trouve cela ennuyant d’atteindre la souris.

Tristian
la source
1
Lire le niveau de volume principal en pourcentage numérique 0% -100%: amixer sget Master | grep 'Right:' | awk -F'[][]' '{ print $2 }' Augmentez le niveau de volume principal de 10%:amixer -q sset Master 10%+
Eric Leschinski

Réponses:

97

Pour une utilisation interactive, vous pouvez utiliser alsamixer. Pour les scripts (par exemple, la liaison à des combinaisons de touches), jetez un coup d'œil à amixer.

alsamixer est inclus par défaut dans la plupart des systèmes.


Pour régler le volume principal, utilisez:

# Gets a list of simple mixer controls
$ amixer scontrols 

Puis réglez-le sur le volume souhaité, à titre d'exemple.

$ amixer sset 'Master' 50%
Renan
la source
1
Quelle est la différence entre "sset" et juste "set". (J'ai essayé les deux et les deux marchent)
Venryx
@Venryx man amixersuggère qu'ils sont équivalents et que le "s" dans "sset" signifie "simple". Il existe également un "cset" qui définit le contenu du contrôle de la carte.
Matthias Braun
42

Trouvé dans le fichier de configuration d'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 page de manuel peut donner plus de détails.

enzotib
la source
21

Si votre système utilise, pulseaudiovous pouvez utiliser pactl:

pactl set-sink-volume 0 +15%

ou

pactl set-sink-volume 0 -5dB

bien que vous puissiez aussi spécifier un entier ou un facteur linéaire:

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.
don_crissti
la source
2
Note de l' arch linux wiki : les pactlcommandes qui prennent des arguments en pourcentage négatifs échoueront avec une erreur 'option non valide'. Utilisez le --pseudo-argument du shell standard pour désactiver l'analyse des arguments avant l'argument négatif. par exemplepactl set-sink-volume 1 -- -5%
Jamie Cockburn
2
@JamieCockburn - Je ne sais pas quand est-ce que cela a été écrit, mais j'utilise archlinux et il n'y a absolument pas besoin d'ajouter --des valeurs supplémentaires avec des valeurs négatives (pourcentage, db, entiers ... tout fonctionne correctement). En fait, c'est tout le contraire : si j'utilise --conformément au wiki, par exemple, pactl set-sink-volume 1 -- -3% je reçois Invalid volume specification.
don_crissti
Doit être dépendant de shell alors? Je suis sur Ubuntu 14.04, avec Xfce, et j'exécute la commande depuis bash (4.3.11). Si j'omets le --, je reçois une option invalide.
Jamie Cockburn
1
@JamieCockburn - Je ne pense pas que la coquille soit pertinente (pour mémoire, cela fonctionne très bien pour moi avec bashet zsh). Probablement les versions antérieures de pactlavaient ce problème et en amont le corrigeaient probablement (j'utilise la version 6.0).
don_crissti
1
@JamieCockburn je suis sous ubuntu 16.04 xfce bash, et cela fonctionne parfaitement sans "-", juste une note.
Reishin
9

Je sais que c'est un vieux. Alsa et pulseaudio étant si connectés, cette réponse de askubuntu m'a aidée à gérer le volume de mon son principal et de la connexion HDMI:

augmenter le volume

amixer -q -D pulse sset Master 10%+

diminuer le volume

amixer -q -D pulse sset Master 10%-

bascule muet

amixer -q -D pulse sset Master toggle

Les autres commandes amixer sset fonctionnent également.

Mathter
la source
7

Celles-ci sont "plus naturelles pour l'oreille humaine".

Pour obtenir le maître dans les unités alsamixer, utilisez:

amixer -M get Master

Pour augmenter le volume de 5% dans les unités alsamixer, par exemple:

amixer -M set Master 5%+

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

Robson
la source
6

Sous OS X, utilisez les éléments suivants:

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

Vous pouvez même régler le volume sur d'autres niveaux fractionnaires:

# 25%
osascript -e "set Volume 1.75"
1''
la source
@Wildcard les boutons de volume Mac ne sont que par incréments de 0,25
1 ''
4

vous pouvez également essayer pamixerun projet récent qui fait exactement ce que vous voulez. Il se trouve dans le référentiel ArchLinux AUR du même nom.

fradeve
la source
c'est même dans le référentiel communautaire maintenant
Michal Polovka