Music Player Daemon: configuración simple (y algunos usos extra)

Music Player Daemon + Sonata

MPD (o Music Player Daemon) es un reproductor de audio ideado para correr como un servicio del sistema (por eso lo de daemon), con una arquitectura de tipo cliente-servidor, que inicia junto con el equipo independientemente de la interfaz grÔfica. Lo que hace es indexar nuestra biblioteca musical a una velocidad impresionante y ponerla a  nuestra disposición para que la podamos escuchar tanto desde la PC donde esta instalado, como a través de la red.

Para ello existen diferentes clientes, los cuales estÔn disponibles no solo para Linux, sino también para Android, e incluso para Windows.

A pesar de ser extremadamenteĀ versĆ”til, la relativa complejidad para su configuración suele espantar a mĆ”s de uno. Hoy les voy a explicar como hacer para impedir que MPD se ejecute como servicio y que en su lugar se inicie cuando iniciamos sesión con los privilegios de nuestro usuario. De esta manera evitamos un riesgo de seguridad innecesario (mĆ”s de un paranoico me lo agradecerĆ”  ).

Después de seguir muchas guías y de renegar mas de una vez para configurarlo, me di a la tarea de crear un script para facilitar la configuración de este grandioso programa para que resulte un poco mÔs user-friendly: aquí estÔ.

Aclaración: la guía (y el script) estÔn hechos para distros debian o derivadas, pero a grandes rasgos debería servirle a cualquiera, teniendo en cuenta las particularidades de cada distribución.

Para empezar, debemos instalar MPD y para controlarlo mediante una interfaz grÔfica usaremos Sonata:

sudo aptitude install mpd sonata

Luego detenemos el servicio y evitamos que se inicie como demonio del sistema:

sudo service mpd stop

sudo update-rc.d mpd disable

Y ahora si pasaremos a la configuración de la aplicación, y aquí debo hacer otra aclaración: el script crea un archivo de configuración bÔsico con los parÔmetros justos y necesarios para que funcione, pero para la guía usaremos el archivo de configuración que crea MPD por defecto, el cual esta debidamente comentado y posee muchas opciones mÔs que pueden o no serles útiles, por lo que les recomiendo que al menos lo miren.

Creamos los directorios necesarios para MPD:

mkdir -p ~/.mpd/playlists

Copiamos el archivo de configuración a la carpeta recién creada y creamos los archivos que precisamos:

gunzip -c /usr/share/doc/mpd/examples/mpd.conf.gz > ~/.mpd/mpd.conf

touch ~/.mpd/mpd.db

touch ~/.mpd/mpd.log

touch ~/.mpd/mpd.pid

touch ~/.mpd/mpdstate

Y ahora comenzamos a editar el archivo de configuración propiamente dicho (yo use medit, ustedes usen el que acostumbren):

medit ~/.mpd/mpd.conf

Primero debemos indicarle donde se encuentra nuestra música y la ruta donde estÔn los archivos que acabamos de crear:

music_directory Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā Ā«~/MĆŗsicaĀ»

playlist_directory Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā Ā«~/.mpd/playlistsĀ»

db_file Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā Ā«~/.mpd/mpd.dbĀ»

log_file Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā«~/.mpd/mpd.logĀ»

pid_file Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā Ā«~/.mpd/mpd.pidĀ»

state_file Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā Ā«~/.mpd/mpdstateĀ»

Las opciones de usuario y grupo las comentamos (agregando # en el inicio de la linea). No hacen falta ya que MPD correrÔ con los privilegios del usuario que lo inicie.

Donde dice «For network» tenemos dos opciones: si simplemente vamos a utilizar MPD como si fuera un reproductor de música cualquiera, donde dice «bind_to_address» simplemente ponemos «localhost». Si en cambio vamos a controlar MPD desde otro dispositivo (por ej. un Smartphone Android, como explicaremos mÔs adelante) o queremos hacer streaming de audio, en vez de localhost colocaremos (siempre entre comillas) nuestra dirección IP, por ej:

bind_to_address                                          «192.168.1.10»

Donde dice «port» cambiamos el que viene por defecto (6600) por algún otro(en este caso 8888) ya que he leído por ahí que el predeterminado a veces da problemas, y debería quedar de esta forma:

port                                                                  «8888»

A continuación les sugiero descomentar las siguientes lineas, para mejorar la experiencia (aunque ya depende de cada uno):

gapless_mp3_playback                                 «yes»

metadata_to_use                                           «artist,album,title,track,name,genre,date,composer,performer,disc»

auto_update                                                   «yes»

Luego pasamos a la configuración de audio, donde dice «Audio Input» lo dejamos como estÔ, y donde dice «Audio Output» dependiendo de si usamos ALSA o PulseAudio descomentamos la sección correspondiente. Por ejemplo si usamos ALSA:

audio_output {
type «alsa»
name «My ALSA Device»

}

Y si usamos Pulse:

audio_output {

type «pulse»
name «My MPD PulseAudio Output»

}

Si queremos escuchar nuestra música desde otra PC o incluso desde nuestro teléfono (siempre que nos encontremos en la misma red local) podemos activar el servidor http incluido por defecto en MPD, para ello solo debemos descomentar las siguientes lineas:

audio_output {
type «httpd»
name «My HTTP Stream»
encoder «vorbis» # optional, vorbis or lame
port «8000»
# quality «5.0» # do not define if bitrate is defined
bitrate «128» # do not define if quality is defined
format «44100:16:1»
}

para conectarnos (en teoría, ya que esto no tuve ocasión de probarlo) solo debemos ingresar la IP de nuestro servidor seguido del numero de puerto especificado, por ej: 192.168.1.10:8000 , aunque para reproducir el stream de música en algunos reproductores debemos agregarle lo siguiente al final «/mpd.ogg» y nos quedaría algo así:

192.168.1.10:8000/mpd.ogg

Ya casi terminamos, tan solo les recomiendo que descomenten las siguientes lineas:

mixer_type                                                 «software»  #Para que al ajustar el volumen de la música no afecte al volumen general del sistema

replaygain                                                   «track»

filesystem_charset                                     «UTF-8»

id3v1_encoding                                           «UTF-8»

Listo, guardamos el archivo y cerramos el editor. Ahora desde la consola ejecutamos Ā«mpdĀ» para que empiece a funcionar, y abrimos Sonata para configurarlo. Hacemos clickĀ conĀ elĀ botónĀ derecho Ā en cualquier parte del programa y elegimos Ā«Preferencias…» y luego MPD.Ā AllĆ­Ā completaremos de la siguiente manera:

Configurando Sonata

Nombre: Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  podemos poner lo que queramos.

Servidor:                                  Localhost o nuestra IP (depende de lo que hayamos puesto en el archivo de configuración)

Puerto:                                     8888 (o lo que hayamos puesto en el archivo de configuración)

y marcamos la casilla que dice «Conectar automÔticamente al iniciar», le damos «Aceptar» y ya deberían poder ver sus archivos en la pestaña «biblioteca» (depende de la cantidad de Música que tengan puede demorar un par de minutos).

Podemos agregar Ā«mpdĀ» al inicio deĀ sesiónĀ para no tener que iniciarlo manualmente cada vez, en XFCE lo hacemos desde: Ā«MenĆŗĀ» —> Ā«Administrador de configuraciónĀ» —> Ā«Sesión e inicioĀ» —> Ā«Autoarranque de aplicacionesĀ» —> Ā«AƱadirĀ»:

Agregando MPD al inicio de sesión

Y de yapa, les voy a mostrar como pueden controlar su reproductor musical de forma muy simple desde su Android, para eso solo necesitamos una pequeña aplicación llamada MPDroid (les debo el link, pero pueden encontrarlo en la tienda de aplicaciones).

MPDroid

Lo configuramos de la siguiente manera: vamos a Ā«SettingsĀ» –> Ā«Conection SettingsĀ» –> Ā«Default Connection SettingsĀ» –> yĀ allĆ­Ā lo completamos de la siguiente forma:

Host:                             192.168.1.10 (la dirección de nuestro servidor MPD)

Port: Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā 8888 (el puerto que le asignamos a MPD)

Streamming host:        192.168.1.10 (la misma dirección de nuestro servidor MPD)

Streamming Port:        8000 (es la dirección por defecto)

Ahora ya pueden usar su Smartphone como control remoto para MPD (sin necesidad de tener Sonata corriendo). Y si lo que quieren es escuchar la mĆŗsica de su PC directamente desde su celular, desde MPDroid deben entrar a Ā«SettingsĀ» –> Ā«OutputsĀ» –> Seleccionar Ā«My HTTP StreamĀ» –> En elĀ menĆŗĀ de opciones de la interfaz principal seleccionar Ā«StreamingĀ» (Puede demorar unos cuantos segundos en cargar la mĆŗsica, tengan paciencia ļ˜‰ ).
Espero que les haya servido, y comenten que les pareció el script, ya que es el primero que hago relativamente complejo. Saludos!