Quand votre Raspberry Pi devient serveur Spotify

capture_067C'est en lisant un article sur le blog de Korben que j'ai découvert qu'il était possible de transformer une distribution GNU/Linux en une borne audio Spotify, pilotable à distance. L'objectif étant d'avoir un petit boîtier (type Raspberry Pi ou équivalent) branché directement à sa chaîne Hifi et de pouvoir naviguer à distance sur sa bibliothèque Spotify.

La configuration que j'ai mis en place est la suivante:

Mise en place du système

Je ne vais pas faire un copier/coller de mon billet d'installation de Raspbian Wheezy sur un Raspberry Pi, il suffit de suivre ce lien.

Etape optionnelle, uniquement si vous avez un DAC ou une carte son USB branché à votre Raspberry:

Comme j'utilise un DAC afin de remplacer la médiocre sortie analogique du Raspberry, il faut effectuer une petite configuration complémentaire pour forcer le Raspberry à utiliser le DAC (sortie USB) comme carte son. Il suffit d'éditer le fichier /etc/modprobe.d/alsa-base.conf en commentant une première ligne et en ajoutant une deuxième:

#options snd-usb-audio index=-2
options snd-usb-audio nrpacks=1

Après un dernier redémarrage, votre Raspberry Pi est prêt à recevoir l'installation de Mopidy.

Installation de Mopidy, le serveur Spotify

Mopidy est un serveur Audio compatible avec les clients uPnP et MDP et permet donc de jouer des musiques stockés localement ou de streamer des musiques disponibles sur le service Spotify (c'est sur ce dernier point que nous allons nous focaliser dans ce billet).

On commence par installer le dépôt officiel de Mopidy puis le logiciel:

wget -q -O - http://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
sudo wget -q -O /etc/apt/sources.list.d/mopidy.list http://apt.mopidy.com/mopidy.list
sudo apt-get update
sudo apt-get install mopidy

On doit ensuite lancer un première fois Mopidy:

$ mopidy
INFO     Starting Mopidy 0.13.0
INFO     Platform: Linux-3.6.11+-armv6l-with-debian-7.0
INFO     Python: CPython 2.7.3
INFO     Creating dir /home/pi/.config/mopidy
INFO     Creating dir /home/pi/.local/share/mopidy
INFO     Creating file /home/pi/.config/mopidy/settings.py
WARNING  Could not open tag cache: [Errno 2] No such file or directory: u'/home/pi/.local/share/mopidy/tag_cache'
INFO     Loading tracks from /home/pi/None using /home/pi/.local/share/mopidy/tag_cache
INFO     Loading playlists from /home/pi/.local/share/mopidy/playlists
INFO     Audio output set to "autoaudiosink"
INFO     Audio mixer set to "alsamixer" using track "PCM"
ERROR    Setting "SPOTIFY_USERNAME" is empty.
ImportError: could not import gtk.gdk

Cela va permettre à Mopidy de créer l'arborescence ~/.config/mopidy qui va contenir les fichiers de configuration.

On doit éditer le fichier  ~/.config/mopidy/settings.py avec les paramètres:

  • du serveur MDP qui va permettre de contrôler à distance Mopidy
  • du répertoire local (ou distant sur un NAS) ou sont stockés vos fichiers audios
  • du compte Spotify Premium (obligatoire)
  • du compte LastFM (optionnel, uniquement pour le scrobbling)

FRONTENDS = (u'mopidy.frontends.mpd.MpdFrontend', u'mopidy.frontends.lastfm.LastfmFrontend')
MPD_SERVER_HOSTNAME = u'0.0.0.0'
MPD_SERVER_PASSWORD = u'mdppassword'
LOCAL_MUSIC_PATH = u'/home/nicolargo/Musiques'
SPOTIFY_USERNAME = u'spotifylogin'
SPOTIFY_PASSWORD = u'spotifypassword'
SPOTIFY_BITRATE = 320
LASTFM_USERNAME = u'lastfmlogin'
LASTFM_PASSWORD = u'lastfmpassword'

On peut relancer ensuite Mopidy:

$ mopidy
INFO     Starting Mopidy 0.13.0
INFO     Platform: Linux-3.6.11+-armv6l-with-debian-7.0
INFO     Python: CPython 2.7.3
WARNING  Could not open tag cache: [Errno 2] No such file or directory: u'/home/pi/.local/share/mopidy/tag_cache'
INFO     Loading tracks from /home/pi/.config/mopidy/None using /home/pi/.local/share/mopidy/tag_cache
INFO     Loading playlists from /home/pi/.local/share/mopidy/playlists
INFO     Audio output set to "autoaudiosink"
INFO     Audio mixer set to "alsamixer" using track "PCM"
INFO     Mopidy uses SPOTIFY(R) CORE
INFO     MPD server running at [0.0.0.0]:6600
INFO     Connected to Spotify
ImportError: could not import gtk.gdk
ERROR    MPRIS frontend setup failed (org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11)
INFO     Connected to Last.fm
INFO     Loaded 57 Spotify playlist(s)

Vous pouvez ignore les erreurs, les lignes importantes étant:

INFO     MPD server running at [0.0.0.0]:6600
INFO     Connected to Spotify
INFO     Connected to Last.fm
INFO     Loaded 57 Spotify playlist(s)

Piloter à distance votre borne Mopidy

Pour piloter votre tout nouveau serveur Mopidy, il suffit d'installer un client compatible avec le protocole implémenté dans MPD. Personnellement, j'utilise GMPC sur mon PC Ubuntu mais d'autres solutions existes:

  • Sous GNU/Linux: En ligne de commande Ncmpcpp (bon corage pour retenir le nom mais il marche à merveille) ou en GUI avec GMPC
  • Sous Andoid: MPDroid
  • Sous iOS: MPaD

Conclusion

Encore une utilisation sympa d'un Raspberry dans le monde de la Hifi. J'ai encore quelques problèmes de son (gros tics quand je passe d'un morceau à l'autre) mais dans l'ensemble c'est une solution bien pratique pour écouter sa bibliothèque musicale sur sa chaîne !

Retrouvez tous mes billets sur le Raszberry Pi sur ma page dédiée !

Cet article Quand votre Raspberry Pi devient serveur Spotify est apparu en premier sur Le blog de NicoLargo.

Vus : 2033
Publié par Nicolargo : 402