Categorías: Tutoriales

Comando beep, sacandole partido al pcspeaker

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

 
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

mcanchal

Trabajo en Oliran magevais, una empresa del sector de las energías renovables. No practicante de la iglesia de Emacs.

Ver comentarios

  • Vaya pasada :), lo malo es que los portátiles no lo traen incorporado pero no había llegado nunca a sacarle tanto partido al speaker.

  • Increíble, aunque parezca mentira puede resultar útil. Muchísimas gracias por el aporte, Manuel.

    • Brutal he probado en una torre la de Star Wars y hacía tiempo que no me picaba tanto a un sonido así, recuerdo la época de los SID, ¡podrías hacer una entrada sobre los SID!

  • xD

    Aquellos commodore 64 ...........

    10 sid=54272

    20 for i = 0 to 28 : poke sid + i, 0 : next

    30 poke sid + 24, 15

    40 poke sid + 1, 20

    RUN

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

4 semanas hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace