Quand votre Raspberry Pi devient serveur Spotify

Date: 4/04/2013 | Catégories: Musique,Open-source,Planet-libre,raspberry | Tags: ,,,,,

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:

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:

On doit ensuite lancer un première fois Mopidy:

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)

On peut relancer ensuite Mopidy:

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

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 !

  • waldeck

    Salut Nicolargo.
    Super tuto comme d’habitude.
    Voir http://dbader.org/blog/crackle-free-audio-on-the-raspberry-pi-with-mpd-and-pulseaudio pour les tics

    Bonne continuation.

    • Pierre Pupix

      Oui, merci pour l’article et pour l’astuce… ça faisait des mois que mon mpd avait ce petit « tic » que je finissais par redouter après chaque chanson 😉

  • Pingback: Radio Web | Pearltrees()

  • mario

    Bonjour,

    J’ai suivi le tuto à la lettre et j’obtiens cette erreur :

    Traceback (most recent call last):

    File « /usr/local/bin/mopidy », line 9, in

    load_entry_point(‘Mopidy==1.1.1’, ‘console_scripts’, ‘mopidy’)()

    File « /usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py », line 558, in load_entry_point

    return get_distribution(dist).load_entry_point(group, name)

    File « /usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py », line 2682, in load_entry_point

    return ep.load()

    File « /usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py », line 2355, in load

    return self.resolve()

    File « /usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py », line 2361, in resolve

    module = __import__(self.module_name, fromlist=[‘__name__’], level=0)

    File « /usr/local/lib/python2.7/site-packages/mopidy/__main__.py », line 10, in

    import gobject # noqa

    ImportError: No module named gobject

    Une idée? Merci

    • boloss68 junior

      fais le tout (pas juste certaines parties en sudo)
      javais le meme probleme ca c’est réglé comme ca