Skip to main content

Configurar ALSA en Debian y reproducción de música en segundo plano

He instalado un servidor casero con Debian Squeeze, y como tal, sólo se ha instalado lo necesario para que funcione como tal, servir como servidor Web para manejar control de inventario de bienes informáticos y poco más.

Resulta que después de dicha instalación (aproximadamente 1 mes después) me surge la necesidad de tener una fuente de audio “permanente” para el conmutador de la empresa, es decir, el clásico sonido de música en espera cambiarlo por un archivo de audio cualquiera.

 Alsamixer

En ese sentido, hay dos equipos que actuán de servidores en el site donde se encuentra el conmutador, pero sólo el equipo con Debian tiene tarjeta de audio, así que el otro quedó descartado.

Manos a la obra

Ese pequeño servidor con Debian no tiene ambiente gráfico, se instaló (como mencioné al inicio) sólo la base y de ahí a instalar los paquetes que hicieron falta para dejarlo funcionando. Pues bien, al no instalar el ambiente gráfico no se instalaron los paquetes necesarios para que se pueda oir desde consola.

Checamos que estén cargados los módulos (en mi caso, sí lo estaba)

~# cat /proc/asound/modules
0 snd_via82xx

Y checar qué módulos se están cargando

# lsmod |grep snd
snd_via82xx 15256 2
gameport 6061 1 snd_via82xx
snd_ac97_codec 79136 1 snd_via82xx
ac97_bus 710 1 snd_ac97_codec
snd_pcm 47226 3 snd_via82xx,snd_ac97_codec
snd_page_alloc 5045 2 snd_via82xx,snd_pcm
snd_mpu401_uart 4067 1 snd_via82xx
snd_seq_midi 3576 0
snd_seq_midi_event 3684 1 snd_seq_midi
snd_rawmidi 12513 2 snd_mpu401_uart,snd_seq_midi
snd_seq 35463 2 snd_seq_midi,snd_seq_midi_event
snd_timer 12270 2 snd_pcm,snd_seq
snd_seq_device 3673 3 snd_seq_midi,snd_rawmidi,snd_seq
snd 34423 11 snd_via82xx,snd_ac97_codec,snd_pcm,snd_mpu401_uart,snd_rawmidi,snd_seq,snd_timer,snd_seq_device

En caso de que no estén instalados los paquetes necesarios, los instalamos

# aptitude install alsa-utils alsa-oss alsa-tools

Bastaría realizar el paso siguiente para ya dejar funcionando la tarjeta, y no dar tantas vueltas como lo hice yo

# alsaconf

El problema viene cuando vemos en la Wiki de ALSA en Debian lo siguiente:

For release Squeeze or any later release, alsaconf is no longer available in package alsa-utils. So try to configure alsa by running the command ‘alsactl init‘ as root. Just ignore the error message like ‘Unknown hardware’ (this issue said to be fixed in alsa-utils .20), then reboot and try to test your sound. For more details please see this thread.

Así que tendremos que ejecutar lo siguiente como root:

# alsactl init

Y con eso ya tenemos resuelto el problema de sonido, bastaría hacer una prueba colocando bocinas o auriculares y reproducir algún archivo de audio para corroborar que todo funciona bien.

Ahora bien, una vez que ya tengo solucionado el problema de sonido viene ver el segundo punto, dejar audio (o música) reproduciendo en dicho servidor de forma continua, es decir, que esté reproduciendo el o los archivos de audio (mp3) de forma aleatoria y sin parar.

Para esto usaremos dos programas, el primero es el viejo conocido mplayer(http://www.mplayerhq.hu) que me servirá para reproducir archivos de audio.

$ mplayer "01 Diablo.mp3"

Con esto hacemos una prueba simple de reproducción.

Si tenemos varios archivos, el comando sería el siguiente:

$ mplayer *.mp3

Si queremos que la reproducción se repita como en un bucle, usamos la opción -loop indicando con un número las veces que queremos que se repita:

$ mplayer "03 Elysium.mp3" -loop 5

Con eso logramos que se repita 5 veces, pero si queremos que sea indefinido, es decir, hasta que nosotros lo cancelemos, sería:

$ mplayer "03 Elysium.mp3" -loop 0

Ya avanzamos, ahora la idea es tener varios archivos que se reproduzcan de forma indefinida pero también de forma aleatoria, para lograr esto último, usamos la opción -shuffle:

$ mplayer -shuffle -loop 0 *.mp3

En este caso, tengo un directorio llamado “bond” con unos 15 archivos mp3 que quiero que se reproduzcan de forma aleatoria y que se repitan indefinidamente, pero además que si cierro sesión via tty1, putty o ssh, el comando se siga ejecutando en segundo plano. En este caso nohup(http://rm-rf.es/nohup-mantiene-ejecucion-comando-pese-salir-terminal/) es nuestro amigo ñ_ñ

Quedando el comando final de la siguiente forma:

hbautista@war-machine:~$ nohup mplayer -shuffle -loop 0 bond/*.mp3 &

Y con esto logramos el cometido: Reproducir de forma aleatoria y de forma indefinida los archivos .mp3 que se encuentren en el directorio bond dentro de la carpeta del usuario, lo haga en segundo plano aún si dicho usuario cierra sesión.

7 comentarios en “Configurar ALSA en Debian y reproducción de música en segundo plano”

  1. bueno todo se veia maravilloso hasta el tercer paso aki estalo que paso

    root@debian:/home/jorgemaster# cat /proc/asound/modules
    0 snd_hda_intel
    root@debian:/home/jorgemaster# lsmod |grep snd
    snd_hda_codec_hdmi 26352 1
    snd_hda_codec_realtek 142274 1
    snd_hda_intel 21786 0
    snd_hda_codec 63477 3 snd_hda_intel,snd_hda_codec_realtek,snd_hda_codec_hdmi
    snd_hwdep 12943 1 snd_hda_codec
    snd_pcm 53461 3 snd_hda_codec,snd_hda_intel,snd_hda_codec_hdmi
    snd_page_alloc 12867 2 snd_pcm,snd_hda_intel
    snd_seq 39512 0
    snd_seq_device 13016 1 snd_seq
    snd_timer 22356 2 snd_seq,snd_pcm
    snd 42722 9 snd_timer,snd_seq_device,snd_seq,snd_pcm,snd_hwdep,snd_hda_codec,snd_hda_intel,snd_hda_codec_realtek,snd_hda_codec_hdmi
    soundcore 12921 1 snd
    root@debian:/home/jorgemaster# aptitude install alsa-utils alsa-oss alsa-tools
    bash: span: No existe el fichero o el directorio
    root@debian:/home/jorgemaster#

    no se que paso, mi sistema operativo es debian wheezy 7.3.0 i386

  2. Found hardware: “HDA-Intel” “Realtek ALC262” “HDA:10ec0262,104d2800,00100100 HDA:14f12c06,104d1700,00100000” “0x104d” “0x902d”

    saben por que me salio este erroor?

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: