Configurar Airplay de audio en la Raspberry Pi 3

Hace tiempo que he configurado mi Raspberry Pi 3 como reproductor de audio Airplay, y aprovecho para publicar este artículo de cómo tener Airplay de audio en la Raspberry Pi 3 a 2018. Con Stretch e iOS 11. Entre las actualizaciones de Raspbian y las de iOS, a veces lo que tienes funcionando perfectamente, de un día para otro deja de funcionar.

Airplay de audio en la Raspberry Pi

Importante: este artículo sólo habla de Airplay de audio, por ejemplo si quieres enviar el sonido de Spotify a una mini cadena (que fue la razón por la cual yo monté este sistema). Como tengo un par de Raspberry Pi en casa, era una solución barata y muy cómoda.

La solución que vamos a utilizar es Shairport-Sync.

Esta configuración está hecha usando:

  • Raspberry Pi 3
  • Raspbian Stretch (2017-11-29) recién instalado
  • iOS 11.2.1 en un iPhone 6s

Obtener Shairport Sync

Por suerte, Shairport ya está disponible en los repositorios de Raspberry. Cuando instalé mi primera versión, había que compilarlo. Si por lo que sea necesitas o quieres compilarlo, abajo está el método para compilarlo.

Como siempre, antes de instalar un paquete nuevo, vamos a asegurarnos que el sistema operativo está actualizado.
sudo apt-get update
sudo apt-get upgrade

Luego, descargamos Shairport Sync (ojo que Shairport -a secas- es otro software)
sudo apt-get install shairport-sync

Y ya está, así de fácil. 😛

Salida por HDMI o jack

El sonido ahora sale por el puerto HDMI. Pero yo quería que saliera por el puerto minijack, para ello hay que tocar un par de cosas.

Lo primero, es editar el fichero /boot/config.txt

sudo joe /boot/config.txt

Y agregar esta línea al final del fichero, y reiniciar.
audio_pwm_mode=2

¡Ojo! Con este último cambio, el audio siempre saldrá por el puerto minijack y no por el puerto HDMI. Si quieres cambiar esto, simplemente agrega un # al principio de la línea anterior, y reinicia las Raspberry.

Configurando Shairport Sync

Según el desarrollador, recomienda tocar algunos parámetros del fichero de configuración.

Si queremos ver el fichero de configuración, editamos el fichero en /etc/shairport-sync.conf. Yo utilizo joe como editor de textos:

sudo joe /etc/shairport-sync.conf

Agregar estas líneas:

volume_range_db = 40 ;
drift_tolerance_in_seconds=0.010;

Yo ademas quiero que aparezca un nombre «Friendly» en el iPhone.

name = "Pi3 Air" ;

Airplay de audio en la Raspberry Pi iOS 11

Método alternativo: compilar Shairport Sync

En su momento yo he seguido con las instrucciones de la web del desarrollador, y pude compilar Shairport Sync desde 0, y funcionó durante mucho tiempo. Luego, actualicé a Stretch y el método automático (apt-get) ya quedó funcionando.

La página:

https://github.com/mikebrady/shairport-sync

Sonando Airplay de audio en la Raspberry Pi iPhone

Airplay de audio en la Raspberry Pi iOS11 y Stretch

Más artículos de Raspberry Pi

3 comentarios:

  1. Estupendo tutorial!
    Me ha funcionado perfecto, es una pena que no funcione el modo multiroom…
    Tengo una duda, como se le puede su ir el volumen a la salida de auriculares de la raspberry??? Lo Estoy usando en dos habitaciones, en una de ellas tengo un amplificador modular, y suena bien aunque le suba el volumen, pero en otra uso un sistema de audio de pc ( altavoces autoamplificados) y le tengo que subir el volumen al maximo para poder escucharlos…
    Gracias!!

    • Hola!

      Una manera fácil es usar el comando
      alsamixer
      Tendrás una interfaz para poder subir el volumen.

      Si quieres automatizarlo, con este comando subes el volumen a los dB deseados:

      amixer set PCM -- -XYY

      Pone el volumen en -X.YYdB

      En esta web incluso puedes encontrar la manera de crear scripts para subir y bajar el volumen, en plan volumeup y volumedown 😛
      Setting the volume for 3.5mm jack

      Espero que ayude!

      Alfonso

  2. Funciona perfecto!,
    lo acabo de hacer funcionar en una Orange Pi Zero, pero tengo una consulta..
    Se podría habilitar un Gpio de la placa que se active cuando esta reproduciendo? la idea es alimentar un amplificador pero a través de un riele para que solo se encienda cuando reproduce.
    gracias

Deja una respuesta

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

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