MPD + Sonata: Una combinación perfecta para reproducir música

martes, julio 27, 2010

Lo primero que debo aclarar antes de empezar éste post es que la forma de reproducir música con éstas herramientas es completamente diferente a la tradicional. Si no te interesa reproducir música como un verdadero geek entonces huye y busca otras aplicaciones, éstas no son para tí.

Si eres valiente, continuemos entonces. MPD es un demonio (o sea un servicio) para reproducir música, corre en segundo plano y no tiene interfaz gráfica. De hecho se inicia como cualquier otro servicio de tu equipo (red, hal, udev, etc).

¿Cómo demonios hago para interactuar con él? te preguntarás. Sencillo, está basado en una arquitectura cliente-servidor así que existen aplicaciones que se comunican con él (clientes) y que te permiten manejarlo. Ahí es donde entra Sonata y compañía.

Lo primero que debemos hacer es instalar las dependencias:

# aptitude install mpd mpc sonata

Yo instalaré 2 clientes, Sonata y MPC, porque quiero controlar la reproducción vía SSH desde mi celular xD (sí, sí, muy geek... pero me gusta la comodidad)

Luego vamos a nuestro directorio personal, creamos la carpeta .mpd y dentro de ésta creamos dos carpetas más, playlists y music

$ cd ~
$ mkdir -p .mpd/playlists
$ mkdir -p .mpd/music


Dentro de la carpeta .mpd creamos los archivos mpd.db, mpd.log y mpd.error

$ touch .mpd/mpd.db
$ touch .mpd/mpd.log
$ touch .mpd/mpd.error


Ahora, por cada carpeta de música que tengamos en nuestro sistema creamos un enlace simbólico dentro de music:

$ ln -s /ruta/de_la/carpeta1 .mpd/music
$ ln -s /ruta/de_la/carpeta2 .mpd/music
...


Luego (como root) editamos el archivo de configuración del MPD en /etc/mpd.conf y modificamos las siguientes opciones:

music_directory     /home/tu_usuario/.mpd/music
playlist_directory  /home/tu_usuario/.mpd/playlists
db_file             /home/tu_usuario/.mpd/mpd.db
log_file            /home/tu_usuario/.mpd/mpd.log
error_file          /home/tu_usuario/.mpd/mpd.error


Comentamos la línea de usuario para evitar problemas con los permisos:

#user             "mpd"


Y buscamos el apartado de audio y lo configuramos para ALSA o para PulseAudio:

ALSA:
audio_output {
        type    "alsa"
        name    "My ALSA Device"
}


PulseAudio:
audio_output {
        type    "pulse"
        name    "My PulseAudio Device"
}


Establecemos un mezclador por software descomentando la siguiente línea:

mixer_type "software"

Y voilá! Luego reiniciamos el servicio y creamos la base de datos de tags:

# /etc/init.d/mpd restart --create-db

Ahora desde Sonata (o desde mpc) agregamos las canciones que queramos a la lista y empezamos a disfrutar. Es tan genial ésta combinación que podemos cerrar el Sonata e incluso hasta la sesión gráfica y la música seguirá sonando.

Nos quedará algo tan mínimo como esto:


O en su versión extendida:


Y con unas agradables notificaciones:


Díganme... ¿No es una maravilla? Bueno de aquí en adelante los dejo para que experimenten y se enamoren.

7 comentarios:

Seraph dijo...

Hey Satanas tengo un problema y es que cuando mpd esta activo no deja que los otros programas reproduzcan algún sonido, por casualidad sabrás como se soluciona eso estuve buscando pero no encontré nada preciso, utilizo debian squeezy AMD64, de resto esta combinación esta monumental.

Unknown dijo...

Bueno Seraphin, intenta comentando en el /etc/mpd.conf la línea que dice mixer_type "software", debería quedar así:

#mixer_type "software"

Luego reinicia el mpd:

# /etc/init.d/mpd restart

E intenta de nuevo.

Saludos

orvtech dijo...

Publicado en meneame.net http://www.meneame.net/story/sonata-mpd-combinacion-perfecta-para-reproducir-musica

altobelli dijo...

Hola Satanás, que sera que pasa que en la ventana de sonata no puedo abrir la carpeta de música? Es la única que tengo.
Además, en etc.mpd.conf,
estas lineas van asi ( "/home/usuario/.mpd/x") o sin comillas?
La linea del servidor -localhost- va comentada?
¿Como queda la sección simbolic link behavior?
¿Las lineas que no mencionas de la sección audio output y que tienen una simbolo de comentario se dejan ahi o que?
Disculpa tantas preguntas. Utilizo este medio porque no encontré otra forma de contactarte. Te agradeceria que me enviaras tu respuesta a jaepo10 arrobagmaildotcom.
Gracias por tu esfuerzo por compartir lo que sabes, es algo que destaco de tu blog.

Anónimo dijo...

Querido amigo Satanás (wow! si las hermanas dominicas se enteraran de que ahora yo hago esto ....) en fin, quería preguntarte algo.. este servicio mpd o el cliente sonata permiten manejar audioscrobling? Eso es casí casi lo único que espero de una aplicación para escuchar música... ah y el manejo de letras..

Hay algo de eso por ahí?

Anónimo dijo...

Por si a alguien le ha pasado esto.
Seguí toda las direcciones de Will, sin embargo me encontré con el problema de que no arrancaba el servicio (ni creaba la base de datos) porque el puerto estaba ocupado. Lo solucioné cambiando esta línea a este valor dentro del archivo /etc/mpd.conf

bind_to_address "any"

para que no busque pegarse del localhost porque es casi seguro que esté ocupado con cualquier otro servicio.

Hay otro tema. En ese archivo no hay ninguna línea de error_file.

Saludos!
Mariangela

Unknown dijo...

buenas amigo me sale este error

[ronald@localhost ~]$ /etc/init.d/mpd restart --create-db
bash: /etc/init.d/mpd: No existe el fichero o el directorio