Comando de terminal para configurar el volumen de audio?


96

Tengo una tarjeta de sonido externa que en su mayoría funciona bien, excepto que cuando se conecta por primera vez, o cuando enciendo mi computadora portátil, el volumen se configura al 100%. Es decir, el volumen general del sistema, como se muestra en el indicador de sonido.

Lo que estoy buscando es un comando de terminal que establezca ese volumen al 50%, de modo que pueda ejecutarlo al iniciar sesión y no tener que preocuparme de que el primer audio que reproduzca me resuene si olvido girar bajar el volumen ¿Qué comandos le permiten cambiar ese volumen, es decir, el que está en el indicador de sonido?

He buscado en gsettings y dbus, pero no he podido encontrar nada que me permita configurar el volumen del sistema de esa manera. Sí conozco alsamixer, pero esa no es la solución que estoy buscando, ya que eso no me permite cambiar el volumen utilizando el indicador de sonido o las teclas multimedia de mi computadora portátil.


@rajagenupula quiere disminuir el mismo volumen que la GUI. ALSA no funcionaría en este caso ya que no está controlado por ALSA sino por Pulseaudio. i.stack.imgur.com/9C8Z2.png
Braiam

Respuestas:


120

Parte de esta respuesta proviene de ¿ Establecer el volumen de entrada del micrófono usando la línea de comando? , colocado aquí para su conveniencia.

Aumenta el volumen en un 5%

amixer -D pulse sset Master 5%+

Disminuir el volumen en un 5%

amixer -D pulse sset Master 5%-

Establecer el volumen al 50%

amixer -D pulse sset Master 50%

Si está utilizando ALSA, amixer puede ser útil para la programación de su script.

Al soltar el amixer --helpcomando en una terminal, verá algo como esto:

ingrese la descripción de la imagen aquí

Dependiendo de su tarjeta de sonido, los niveles pueden ser diferentes a los míos, pero puede usarlos alsamixeren la terminal para verificar qué niveles y qué características de su tarjeta de sonido puede llamar en un comando para configurar el volumen como desee.

ingrese la descripción de la imagen aquí

En mi ejemplo, con mi tarjeta de sonido principal (tengo 2: la tarjeta de audio incrustada y una PCI), los niveles son de 0 a 100, de esta manera puedo cambiar el volumen de una entrada / salida deseada en mi tarjeta de sonido colocando un terminal el siguiente comando:

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

En el primer comando, el resultado establecerá la salida del panel frontal al nivel del 78% y el segundo establecerá la salida del panel frontal al nivel del 100%.

Para recopilar información relacionada con los controles de su mezclador, suelte el amixercomando sin parámetros y obtendrá una lista. O indique con qué dispositivo de audio desea ver una lista de controles amixer -c X(donde "X" es el número de su dispositivo de audio).

Por cierto: recuerde que los valores de DB se calculan logarítmicamente y no linealmente.

Recuerde que este comando le permite controlar los parámetros en cualquier dispositivo de sonido que esté utilizando actualmente.

¡Buena suerte!


1
Vale la pena señalar que si no tiene un controlador "Maestro" o el controlador "Maestro" no puede cambiar el volumen de salida real, probablemente esté trabajando con una tarjeta de sonido incorrecta. F6en alsamixery --card nsobre amixerla tarjeta de sonido cambio.
Pooyan Khosravi

¡Ese es un buen punto! @PooyanKhosravi, incluso cuando puede invocar la tarjeta de sonido que desea automatizar desde la línea de comando soltando "-c X" (donde "X" es el número de su tarjeta de sonido), es bueno saber la información que proporcionó. ¡Muchas gracias!
Geppettvs D'Constanzo

pactl(a diferencia amixer) permite aumentar el volumen por encima del 100% (viendo pavucontrol) :-)
pevik

80

Puede hacerlo usando el propio PulseAudio (no recomendaré usar ALSA porque entonces no puede usar la GUI para subir / bajar el volumen).

Usando pactl : puede configurar los volúmenes para un dispositivo específico de la siguiente manera:

pactl set-sink-volume 0 +10%

Esto hace que el volumen suba un 10%. Si lo quieres un 10% menos:

pactl set-sink-volume 0 -10%

Si necesita el volumen al 50%:

pactl set-sink-volume 0 50%

Si necesitas rockear todo el lugar:

pactl set-sink-volume 0 150%

Puedes usar porcentajes o enteros, pero los enteros son lentos y pueden no ser lo tuyo.

pactl/ pacmd(a diferencia amixer) permite aumentar el volumen por encima del 100% :-).


3
Si usa auriculares, intente aumentar el cero a uno: pactl set-sink-volume 1 50%
Smile4ever

13
Si desea compartir los mismos comandos en diferentes hosts con diferentes sumideros, puede usarlos @DEFAULT_SINK@como sumidero en lugar de número 0. Configura su sumidero predeterminado con pactl set-default-sink my-sink-name(enumere los nombres con pactl list short sinks).
pevik

3
Obteniendo: Failed to get sink information: No such entity¿cómo solucionar esto? - Editar, además necesitaba usar un lavabo 0. Se pactl list short sinkspuede usar el primer número de . Este comando funciona, por ejemplo:pactl set-sink-volume $(pactl list short sinks | head -n1 | cut -f1) 50%
ideasman42

23

amixer set 'Master' 10%+- para aumentar el sonido máximo 10%

amixer set 'Master' 10%-- para disminuir el sonido máximo 10%

amixer set 'Master' 10% - para obtener el 10% del sonido máximo

amixer set 'Master' 80% - para obtener el 80% del sonido máximo

.. etc.

Si desea establecer el volumen en otro que no sea 'Maestro', consulte la lista de la siguiente manera:

amixer scontrols


Es posible que también desee revisar alsamixerypacmd


6

Una respuesta tardía, pero podría ser útil para alguien.


Puede controlar el volumen del sumidero actual utilizando los siguientes comandos

  • Subir volumen :pactl set-sink-volume @DEFAULT_SINK@ +1000

  • Menor volumen :pactl set-sink-volume @DEFAULT_SINK@ -1000

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

Puede usar los siguientes valores para controlar el volumen:

Entero

  • Valor específico: <number>
  • Incrementar: +<number>
  • Disminución: -<number>

Ejemplo:

pactl set-sink-volume @DEFAULT_SINK@ 50000 fijará el volumen alrededor del 76%

Factor lineal

  • Valor específico: <number>.<number>
  • Incrementar: +<number>.<number>
  • Disminución: -<number>.<number>

Ejemplo:

pactl set-sink-volume @DEFAULT_SINK@ 0.44\ fijará el volumen alrededor del 76%

Porcentaje

  • Valor específico: <number>%
  • Incrementar: +<number>%
  • Disminución: -<number>%

Ejemplo:

pactl set-sink-volume @DEFAULT_SINK@ 76% fijará el volumen alrededor del 76%

Valor de decibelios

ADVERTENCIA: no experimente con valores de decibelios mientras usa auriculares, a menos que sepa lo que está haciendo, podría dañar su audición

  • Valor específico: <number>dB
  • Incrementar: +<number>dB
  • Disminución: -<number>dB

Ejemplo:

pactl set-sink-volume @DEFAULT_SINK@ 0.0dB establecerá el volumen al 100%


Fuentes Arch Wiki , pactl man page


+1 !! La única solución que funcionó para mí al instante.
Dboris
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.