Question Commande de terminal pour définir le volume audio?


J'ai une carte son externe qui fonctionne la plupart du temps très bien, sauf que lorsque son premier branché ou quand je tourne sur mon ordinateur portable, le volume réglé à 100 obtient%. C'est-à-dire le volume global du système, comme indiqué dans l'indicateur sonore.

Ce que je suis à la recherche est une commande de terminal qui définira ce volume à 50%, pour que je puisse l'exécuter à la connexion et ne pas avoir à craindre que le premier audio que je joue va flonflons sur moi si j'oublie de tourner le volume bas. Quelles commandes vous permettent de modifier ce volume, c’est-à-dire celui de l’indicateur sonore?

Je me suis penchée sur gsettings et dbus, mais j'ai été incapable de trouver quoi que ce soit qui me permette de définir le volume du système comme ça. Je ne sais alsamixer, mais ce n'est pas la solution que je suis à la recherche, puisque cela ne me permet pas de modifier le volume à l'aide de l'indicateur sonore ou les touches multimédia de mon ordinateur portable.


86
2018-01-23 22:37


origine


@rajagenupula il veut diminuer le même volume que l'interface graphique. ALSA ne fonctionnerait pas dans ce cas car il n'est pas contrôlé par ALSA mais par Pulseaudio. i.stack.imgur.com/9C8Z2.png - Braiam
Voir aussi ici: askubuntu.com/questions/44680/… - Takkat


Réponses:


Des parties de cette réponse viennent de Réglage du volume d'entrée du microphone à l'aide de la ligne de commande?, placé ici pour votre commodité.

Augmenter le volume de 5% 

amixer -D pulse sset Master 5%+

Diminuer le volume de 5% 

amixer -D pulse sset Master 5%-

Régler le volume à 50% 

amixer -D pulse sset Master 50%

Si vous utilisez ALSA, amixer peut être utile pour votre script   la programmation.

En déposant le amixer --help commande dans un terminal, vous verrez   quelque chose comme ça:

enter image description here

Selon votre carte son, les niveaux peuvent être différents des miens, mais   vous pouvez utiliser alsamixer dans le terminal afin de vérifier quels niveaux   et quelles fonctionnalités de votre carte son vous pouvez appeler dans une commande pour définir   le volume comme vous le souhaitez.

enter image description here

Dans mon exemple, avec ma carte son principale (j'ai 2: la   et une carte audio PCI), les niveaux vont de 0 à 100, de cette façon je peux changer   le volume d'une entrée / sortie souhaitée dans ma carte son en passant dans un   terminal la prochaine commande:

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

Dans la première commande, le résultat définira la sortie du panneau avant sur   Niveau de 78% et le second définira la sortie du panneau avant à 100%   niveau.

Pour recueillir des informations relatives à vos commandes de mixage, déposez   la amixer commande sans paramètres et vous obtiendrez une liste. Ou   indiquer quel appareil audio vous souhaitez voir une liste de commandes avec    amixer -c X (où "X" est le numéro de votre périphérique audio).

BTW: Rappelez-vous que les valeurs de base de données sont calculées logarithmiquement et non   linéairement.

N'oubliez pas que cette commande vous permet de contrôler les paramètres sur n'importe quel périphérique audio que vous utilisez actuellement.

Bonne chance!


109
2018-01-23 23:11



Il est intéressant de noter que si vous n'avez pas de contrôleur "Master" ou que le contrôleur "Master" ne peut pas modifier le volume de sortie réel, vous travaillez probablement avec une carte son incorrecte. F6 sur alsamixer et --card n sur amixer changer de carte son. - Pooyan Khosravi
C'est un bon point! @PooyanKhosravi, même si vous pouvez invoquer la carte son que vous souhaitez automatiser à partir de la ligne de commande en supprimant le "-c X" (où "X" est le numéro de votre carte son), il est bon de connaître les informations fournies. Merci beaucoup! - Geppettvs D'Constanzo
pactl (contrairement à amixer) permet d’augmenter le volume de plus de 100% (voir en pavucontrol) :-) - pevik


Vous pouvez le faire en utilisant PulseAudio lui-même (je ne vous recommandons d'utiliser ALSA parce que vous pouvez pas utiliser l'interface graphique pour porter le volume haut / bas).

En utilisant pactl: vous pouvez définir les volumes pour un périphérique spécifique comme suit:

pactl set-sink-volume 0 +10%

Cela augmente le volume de 10%. Si vous le voulez 10% de moins:

pactl set-sink-volume 0 -10%

Si vous avez besoin du volume à 50%:

pactl set-sink-volume 0 50%

Si vous avez besoin de basculer la place entière:

pactl set-sink-volume 0 150%

Vous pouvez utiliser des pourcentages ou des entiers, mais les entiers sont lents et peuvent ne pas être votre truc.

pactl/pacmd (contrairement à amixer) permet d’augmenter le volume de plus de 100% :-).


68
2017-11-22 13:27



Si vous utilisez un casque, essayez d'augmenter le zéro à un: pactl set-sink-volume 1 50% - Smile4ever
Si vous souhaitez partager les mêmes commandes sur différents hôtes avec différents puits, vous pouvez utiliser @DEFAULT_SINK@ comme évier au lieu de nombre 0. Vous définissez votre évier par défaut avec pactl set-default-sink my-sink-name (énumérer les noms avec pactl list short sinks). - pevik
Quand j'utilise -- vous avez mentionné, comme pactl set-sink-volume 0 -- -10%, Je reçois un message d'erreur "Spécification de volume non valide". Je pense que la réponse devrait être corrigée. - jojman
@jojman apparemment ils ont corrigé cela. Regardera les changelogs pour le correctif. Voici le correctif bugs.freedesktop.org/show_bug.cgi?id=77108 - Braiam


amixer set 'Master' 10%+- à augmenter son maximum 10%

amixer set 'Master' 10%-- à diminution son maximum 10%

amixer set 'Master' 10% - pour obtenir 10% du son maximum

amixer set 'Master' 80% - pour obtenir 80% du son maximum

.. etc.

Si vous souhaitez définir le volume à une valeur autre que "Maître", vérifiez la liste en:

amixer scontrols


Vous pouvez également vouloir vérifier alsamixer et pacmd


22
2017-11-22 13:22