Sign up with your email address to be the first to know about new products, VIP offers, blog features & more.

Comando beep, sacandole partido al pcspeaker

pc_speaker

El comando beep es un pitido que hace lo que se espera, que suene.

Con beep sonará el altavoz interno del PC.

Beep permite controlar el tono, la duración y repeticiones. Se puede ejecutar directamente en la línea de comandos, pero su trabajo consiste en “vivir” dentro de scripts de shell / perl. Dicho de otro modo, podemos insertar beep en nuestros scripts para hacerlos mas interactivos o como aviso sonoro de un evento. Esto hace que el monitoreo del sistema sea mucho más informativo.

Se controla fácilmente a través de las opciones de línea de comandos. Como norma, el comando viene por defecto en Debian y demás distribuciones, aunque el módulo está en la lista negra.

Vamos primero a ver si tenemos instalado beep en la maquina (emitirá el característico sonido):

[code]$ beep[/code]

Si nos devuelve que no lo tenemos instalado, lo instalamos con:

[code]$ sudo apt-get install beep[/code]

Volvemos a introducir el comando en el terminal, si no suena el característico pitido, lo tendremos que sacar de lista negra con el comando modprobe pcspkr:

[code]$ sudo modprobe pcspkr[/code]

Comprobamos:

[code]$ beep[/code]

Esto hace que tengamos el sonido, pero si queremos dejarlo fijo (como esta en la lista negra, al rebotar la maquina no se emitirá el sonido), tenemos que editar en modo root el fichero que se encuentra en /etc/modprobe.d/blacklist.conf   o en mi caso también en  /etc/modprobe.d/alsa-base-blacklist.conf.

Buscamos y descomentamos la linea ‘blacklist pcspkr’ o ‘blacklist snd-pcsp’, y ya lo tenemos preparado.
Por defecto, sólo root puede ejecutar el comando beep, pero otros usuarios pueden estar autorizados cambiando los permisos del comando:

[code]# chmod 4755 /usr/bin/beep[/code]

La parte 755 significa que hay lectura / escritura / permisos de ejecución para el propietario (root), y de sólo lectura / permisos de ejecución para todos los demás.

Dando un vistazo al man de beep se ven las frequencias de sonido:

man beep

man beep

 
A partir de aquí podemos utilizarlo para incluirlo en shell scripts o directamente desde la terminal con un poco de originalidad:

[code]$  beep -f 1000 -n -f 1500 -n -f 600 -n -f 500 -n -f 100 -r 2 -l 10 -n -f 50 -r 2 -l 200 -n -f 40 -r 2 -l 300 -n -f 60 -r 3 -n -f 50 -r 3[/code] [code]$ beep -f 261; sleep 0.20; beep -f 277; sleep 0.20; beep -f 293; sleep 0.20; beep -f 311; sleep 0.20; beep -f 329; sleep 0.20; beep -f 349; sleep 0.20; beep -f 369; sleep 0.20; beep -f 392; sleep 0.20; beep -f 415; sleep 0.20; beep -f 440; sleep 0.20;  beep -f 466; sleep 0.20; beep -f 493;[/code]

Mas ejemplos:

– Star Wars Marcha Imperial   http://pastebin.com/RCeWpaUw

– Superdetective en Hollywood   http://pastebin.com/19zuN8tY

– Daft Punk aerodynamics       http://pastebin.com/Z6R3PHH0

Leer entrada anterior
XP

Cerrar