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!

31 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   tammuz dijo

    muy util y bien explicado

    1.    TheSandman86 dijo

      Muchas gracias, me alegro de que te sea útil. Saludos!

      1.    Elynx dijo

        Te fuistes para Ubuntu?.

        No estabas en Crunchbang Linux?

        1.    TheSandman86 dijo

          Temporalmente estoy en Xubuntu (por el tema de steam) ya que tuve un par de problemas con Crunchbang, pero pienso volver, ya que es la distro en la que me siento mas cómodo.

  2.   Ermimetal dijo

    Llegando a la casa lo voy a probar, y vaya que se muy bueno

  3.   TheSandman86 dijo

    Lo increíble es el bajo consumo de recursos que tiene, solo por eso vale la pena darle una oportunidad.

  4.   helena_ryuu dijo

    exelente post, mpd mola.

    1.    TheSandman86 dijo

      Muchas gracias!

  5.   Yoyo Fernández dijo

    Ofú!!! :O

  6.   B1tBlu3 dijo

    Muchas Gracias, me fue de utilidad, ahora puedo cambiar mi música sentado desde el trono del baño… jajajaja.

    1.    TheSandman86 dijo

      Jajaja, ahora si creo que he logrado mi objetivo: simplificarle la vida a alguien, me siento realizado 😉

  7.   car_96 dijo

    Muy buen tuto, antes usaba el script autómatico que daban en la wiki de Arch, pero quitaron el Link y este tuto me sirvió (el script no, me marcaba error).
    Lo malo es que ahora para instalar un cliente en mi Nokia E5 necesito miles de cosas x.x.

    1.    TheSandman86 dijo

      Que error te marcaba el script? Me alegro de que el tutorial te haya sido útil. Si podes instalar el cliente en el nokia pasa el nombre del mismo por si le sirve a otra persona.

  8.   Leproso_Ivan dijo

    Muy bueno! Felicitaciones.

    1.    TheSandman86 dijo

      Gracias!!!

  9.   AurosZx dijo

    Excelente 🙂 MPD es el rey. Sólo me gustaría un cliente como Cantata de KDE, para GTK.

    1.    TheSandman86 dijo

      Si, las posibilidades que te da MPD son muy variadas. Que diferencias tiene Cantata con respecto a otros clientes? Yo ahora estoy probando Ncmpcpp (desde el terminal) y la verdad que es muy bueno y completo, me sorprendio para bien.

  10.   mario dijo

    Casualmente estaba leyendo esto: http://www.lacocina.nl/artikelen/how-to-setup-a-bit-perfect-digital-audio-streaming-client-with-free-software-with-ltsp-and-mpd

    cuando me topo con su articulo. Le parece razonable esta combinacion?
    Quiero aplicarlo pero mi sistema es LMDE KDE creado por Schoejle. Es excelente y muy intuitivo pero al igual que otros no permite una reproduccion bitperfect. Puede combinarse de algun modo lo que ud escribio con lo que dice ese articulo? Es necesario hacerlo asi? Gracias por su paciencia.

  11.   TheSandman86 dijo

    Yo creo que se debería poder, MPD es muy versátil, por lo tanto creería que lo mas complicado seria la configuración de LTSP (con lo cual no tengo nada de experiencia) pero en cuanto a lo que puse de MPD no tendrías que tener problemas, Lo único que te recomiendo es no usar el script, y leer el archivo de configuración comentado para ver que opciones se adaptan mejor a lo que necesitas.

    1.    Ronald van Engelen dijo

      My spanish is not so good, but it think you mean if bitperfect playback can be combined with a local mpd installation instead of usage with LTSP?

      The answer is yes. Have a look at http://lacocina.nl/audiophile-mpd to see how you can turn any computer running mpd in to a bit perfect streamer.

      It also contains information and scripts to automatically create a bit perfect mpd.conf, especially the audio_output { alsa … } section, which is critical for bit perfect playback.

      Regards,
      Ronald

  12.   mlab dijo

    Me aparece un error al tratar de usar MPDroid :/

    Conection Failed

    Conection to MPD-Server failed! Check if the Server is running and reachable. (Unable to resolve host «http://192.XXX.XXX.XXX»: No address associated with hostname.)

    Alguna idea?

    1.    TheSandman86 dijo

      que raro, revisaste que MPD este funcionando correctamente en tu PC? Y estas conectado a la misma red con tu teléfono y con tu PC?

      1.    mlab dijo

        En mi computadora funciona todo bien, el problema al parecer es que no funciona en JellyBean 4.2

  13.   TheSandman86 dijo

    Yo lo uso en mi teléfono con jellyBean 4.1.2 y no tengo problemas, puede ser otra cosa. Si puedes pasarme un link con una copia de tu mpd.conf y algúna captura de pantalla de los settings de MPDroid quizás podamos ver donde esta el problema.

  14.   Gabriela dijo

    Hola buenas, hasta hace poco fue que descubrí mpd y pues he intentado de todo y no se como solucionar el problema que tengo, he hecho varias cosas que he visto en varios foros pero no he podido solucionarlo. El problema es el siguiente

    Failed to bind to ‘127.0.0.1:6600’: Address already in use

    He cambiado el port y hecho otras cosas mas pero nada ha funcionado, te agradecería tu ayuda 🙂

    El error sale justo al teclear mpd desde consola, gracias 🙂

  15.   Victor dijo

    si esta es la version «SIMPLE» como sera la version dificil…. 🙂

  16.   matias dijo

    ¿Alguien sabe bien como configurar para escuchar musica en dos pc? Osea una una tengo toda la musica y en otra quiero acceder a esa.

  17.   Javilondo dijo

    El enlace del script parece que está roto, me lleva a una plantilla por defecto de este sitio.

  18.   Giovanni Garciliano dijo

    El enlace al script ya no funciona, redirige a la raíz del sitio

    1.    TheSandman86 dijo

      En estos días veo si puedo rehacer el script ya que no lo encuentro para resubirlo, ya que el original se perdio y veo si puedo actualizar la guía o hacer una nueva.

  19.   charly dijo

    todo funciona bien excepto cuando navego , al presionar el 5 se queda colgado y me envía el siguiente comentario MPD Stored playlists are disabled