viernes, 11 de enero de 2008

Aumix - una forma de controlar el volumen en los script

Un pequeño complemento del artículo anterior... además de un método alternativo para controlar el volumen (para pisar el kurro de MoZ exclusivamente, que conste ~_^)

Concretamente voy a contar lo que hace aumix, para los que no lo conozcan. Según el man "This program adjusts the settings of an audio mixing device. It can be used from the command line, in scripts, or interactively with the keyboard or mouse."
Que viene a decir que es un programa para controlar los volúmenes y que se puede manejar desde la linea de comandos, scripts, o interactívamente.

A continuación unos ejemplos de uso. Aunque es muy sencillo de usar y en el manual está muy bien explicado.

Para ver qué volúmenes tenemos actualmente:
bpk@osaka:~$ aumix -q
vol 80, 80, R
pcm 90, 90
mic 100, 100, P
igain 0, 0


Creamos un directorio donde guardaremos los perfiles:
mkdir $HOME/.aumix/

Grabamos la configuración actual de los altavoces (se grabará en $HOME/.aumixrc):
aumix -f $HOME/.aumix/default -S

Modificaremos los volúmenes que queramos para un perfil concreto y lo grabaremos en $HOME/.aumix/
Creamos un perfil para silenciarlos:
aumix -v0 -c0 -l0 -m0 -w0 -W0 -f $HOME/.aumix/mute -S -q

Creamos un perfil con el volumen al que nos gusta jugar al quake:
aumix -v75 -m60 -w90 -W0 -f $HOME/.aumix/quake -S -q

Una vez tengamos creados los perfiles, podemos cargarlos de la siguiente forma:
aumix -f $HOME/.aumix/perfil_audio -L

Para lo que es realmente útil aumix, es para scriptear nuestras aplicaciones. Perogrullada de ejemplo:
bpk@soaka:~$cat quake.sh
#!/bin/sh
aumix -f $HOME/.aumix/quake
/opt/quake3/bin/quake3



Un par de apuntes.

El aumix ejecuta secuencialmente todo los parámetros que le indiquemos. Así que si ponemos el -q al principio, nos devolverá los valores antes de efectuar los
cambios.
Por ejemplo, cuidado si indicamos el -S antes de -f $HOME/.aumix/mute, porque grabará la configuración en el archivo por defecto $HOME/.aumixrc

En mi caso concreto, los único volúmenes que tengo que tocar en el portátil son -v (Volumen principal) -w (PCM), pero eso dependerá de las conexiones que use cada uno. En el manual indica a qué canal corresponde a cada letra.

miércoles, 9 de enero de 2008

Script para silenciar-dessilenciar altavoces, cascos...

Quien no tiene hoy en dia un ordenador con 40 salidas de audio de minijack (o mas) front, rear, supu... Normalmente para el dia a dia solo sueles usar alguna de estas. Muchos, como yo no tenemos altavoces 5.1 (7.1, 8.1 .... cuando parara...) para el ordena, para lo que lo usamos es para currar, escuchar musica y pa echarnos unos quakes a lo sumo. Normalmente tendras los altavoces estero (con o sin subwofer) y unos cascos. Dependiendo de la tarea y del entorno usaras cascos o altavoces y es posible que o tengas el duplicador de front con cascos y altavoces a la vez enchufados o que tengas que agacharte y mirarle el culo a tu precioso ordenador para cambiar mini-jacks cada vez que quieras cambiar de altavoces a cascos...

¡¡¡Bueno pues se acabo!!!
Se acabo el agacharte para poner los cascos y asi poder ver p*rn*... pelicul... series de.... (¿hay algo que no este prohibido aun y sea socialmente aceptable...?) a, si, videos de tus amigos en sus vacaciones en la palma en youtube el tener apagado los altavoces y escuchar un sonidillo de fondo en los cascos, con los mensajes del chuceras de turno que esta conectado a las 3 am al gaim, molestando asi tus dulces sueños.

Lo primero es duplicar el audio que sale por los altavoces principales salga tambien por los altavoces traseros :

En alsamixer, Duplicate Front, que este en on ([00])

Gracias a esto podras tener conectados altavoces y cascos a la vez y te sonara estereo por ambos.

Ahora creamos un script que vamos a llamar switch-alsa-output ...
(En el caso de mi tarjeta el master es el front.... npi de porque)
... en el que ponemos el siguiente codigo :

if amixer get Master | grep off; then
  amixer -q set Master unmute;
  amixer -q set Surround mute;
else
  amixer -q set Master mute;
  amixer -q set Surround unmute;
fi


Ejecutamos y comprobamos que cambia la salida del audio de uno a otro.

Ya como ultimo paso me meti como root, copie el script a /usr/local/bin

su
cp switch-alsa-output /usr/local/bin


Cambie permisos

chown root:audio /usr/local/bin/switch-alsa-output
chmod 750 /usr/local/bin/switch-alsa-output


audio es el grupo de usuarios que tienen acceso al audio del sistema en gentoo... No se como sera en otras distros...

Salud3!

El 99% del script esta sacado de aqui :: http://www.esdebian.org/forum/viewtopic.php?forum=38&showtopic=91279

Gracias infinitas a elsenyordelcaos por su aportacion.

Seguidores