Audio Multiroom

Servidor multimedia con soporte Airplay

Roberto Lodeiro

Hoy vamos a instalar y configurar forked-daapd, un servidor multimedia para nuestra biblioteca musical.

DAAP (Digital Audio Access Protocol) es un protocolo ideado por Apple, el cual es utilizado por iTunes. Nuestro servidor será compatible por lo tanto con iTunes, dispositivos comerciales preparados para trabajar con Airplay, clientes MPD, entre otros.

Tal como expliqué en una entrada anterior, podemos montar nuestros propios dispositivos compatibles con Airplay con una simple Raspberry Pi con Shairport Sync instalado conectándola a nuestro equipo Hi-Fi, altavoz auto-amplificado o similar.

La idea es que tengamos en las estancias deseadas uno de estos dispositivos para poder enviar nuestra música a cada una de ellas.


1. Instalación

Primero, vamos a instalar forked-daapd en nuestro servidor, en mi caso es una Raspberry Pi.

  • Agregamos la key del repositorio
$ wget -q -O - http://www.gyfgafguf.dk/raspbian/forked-daapd.gpg | sudo apt-key add -
  • Añadimos el repositorio en /etc/apt/sources.list.d/forked-daapd.list
$ sudo nano /etc/apt/sources.list.d/forked-daapd.list

Dentro pegamos lo siguiente y guardamos:

deb http://www.gyfgafguf.dk/raspbian/forked-daapd/ stretch contrib
  • Instalamos forked-daapd
$ sudo apt update
$ sudo apt install forked-daapd

2. Configuración

El archivo de configuración se encuentra en /etc/forked-daapd.conf.

En mi caso he deshabilitado la salida local, ya que en mi Raspberry Pi no tengo conectado ningún equipo de audio. Si quieres que tu server también sea un de los dispositivos Airplay disponibles, puedes habilitarlo o en su lugar instalar shairport-sync tal como indiqué en el otro post .

  • Abrimos el archivo con nano
$ sudo nano /etc/forked-daapd.conf
  • Modificamos las siguientes líneas, eliminando # en caso de que figuren como comentarios
#Configuración general
uid = "root"

# Librería
name = "Nombre de tu servidor" # por defecto coge el nombre del host
port = 3689
directories = {"/ruta/directorio/de_tu_biblioteca"}

# Salida de audio local
type = "disabled"
  • Finalizada la configuración, habilitamos el inicio automático con el arranque del sistema y reiniciamos el servicio para aplicar los cambios
$ sudo systemctl enable forked-daapd
$ sudo service forked-daapd restart

Para poder utilizar forked-daapd al completo, tenemos que esperar a que termine de escanear la biblioteca, el tiempo que tarde dependerá de la cantidad de música que tengas. Podemos ver el progreso con:

tail -f /var/log/forked-daapd.log

3. Interfaz web

La interfaz web está disponible en http://ip_de_tu_servidor:3689.

3.1 Biblioteca

Lo primero que veremos será la parte destinada a navegar por nuestra biblioteca y nuestra música.

Para elegir en que dispositivo o dispositivos queremos reproducir la misma, solo tenemos que desplegar el menú pinchando en el icono del altavoz, y seleccionarlos, pudiendo manejar el volumen de forma independiente para cada uno de ellos.

En la imagen superior, vemos que solo tengo dos conectados a la red en este momento, uno llamado Studio (maquina linux con Shairport Sync instalado) donde se está reproduciendo audio, y un Apple TV el cual no está reproduciendo nada. Si selecciono este último para escuchar la música en ambas estancias, veremos algo así:

Ahora la música se está reproduciendo en ambas estancias, con un volumen diferente en cada una de ellas.

3.2 Administración

Pinchando en el icono de la rueda/Admin, accedemos al panel de administración de forked-daapd.

Aquí tenemos información relativa a nuestra biblioteca, pudiendo actualizar la misma. También veremos las solicitudes remotas de algunos clientes como remote en dispositivos Apple, salidas disponibles y la posibilidad de conectar servicios externos como Sportify, yo no lo tengo configurado ya que no lo utilizo.

Tienes toda la documentación en la web oficial de forked-daapd .

4. Clientes

La lista de clientes soportados es muy extensa. Paso a listar los que yo utilizo.

4.1 Shairport Sync (Linux)

Este reproductor de audio compatible con Airplay, tal como expliqué en una entrada anterior que pudes ver aquí , lo podemos instalar en cualquier máquina Linux.

Es el principal cliente que utilizo, ya que es compatible con multiroom y me permite reproducir la música en diferentes instancias de forma sincronizada.

4.2 Rhythmbox (Linux)

En mis máquinas Linux siempre utilizo como reproductor de audio Rhythmbox.

  • Para instalarlo en Debian o derivados:
$ sudo apt install rhythmbox

Además de reproducir audio local, Rhythmbox es compatible con el protocolo DAAP, por lo que tenemos disponible nuestra biblioteca servida por forked-daapd en el apartado Shared.

4.3 iTunes Remote (iOS)

Además de la interfaz web, también podemos controlar la música desde nuestros dispositivos iOS con iTunes Remote, disponible en la App Store.

Añadimos nuestra biblioteca de iTunes (forked-daapd) e introducimos el código de activación en la interfaz web de forked-daapd/administración tal como hemos visto antes.

iTunes Remote solo nos permite controlar, pero no reproducir el audio en el propio dispositivo. Si te interesa esto, presta atención al siguiente apartado.

5. MP3 Stream

Además de todo lo anterior, forked-daapd hace un streaming del audio en formato mp3, el cual está disponible desde:

http://ip_servidor:3689/stream.mp3

Se accede a el desde cualquier cliente compatible en iOS, Linux u otros sistemas. También podemos activarlo en la interfaz web (figura como una de las salidas disponibles) y así escucharemos el streaming en el propio dispositivo a través de la propia web.

Yo lo he probado con VLC y va perfecto.

Recuerda consultar la documentación oficial de forked-daapd aquí si necesitas alguna configuración adicional que yo no he utilizado.

También puedes revisar mi post sobre Shairport Sync para configurar tus propios dispositivos y ¡empezar a disfrutar de tu nuevo sistema de audio multiroom!.


Espero que sea útil, ¡gracias por leerme!