music

Monte le son bordel!

J'ai besoin de musique. Je ne vais pas essayer de vous convaincre que mes gouts musicaux sont meilleur que les vôtres parce ce que comme on dit, tous les gouts sont dans la nature. La plus part du temps au travail, j'écoute des chaines de musique sur YouTube, soit des musiques de style trailer de film, soit du synthé retro. Parfois un peu de jazz. J'ai tout de même une sacré collection de musiques itunes sur mon laptop a la maison (que j'ai acheté, oui monsieur!) et aussi des musiques qui trainent sur mon portable (cellulaire) et aussi.. des backups d'Archives de trucs de musiques que je trimbale depuis les années 1800, date ou le gramophone envoyait sérieux du lourd dans les chaumières. Bref, c'est quand même un peu le bordel tout ça...

C'est pour ca que pour tenter d'y remedier un peu, j'ai monter a la maison une solution a base de https://github.com/ejurgensen/forked-daapd, un moyen de diffuser de la musique sur des enceintes de type Airplay, ou, via ton itunes, de sélectionner une destination pour ton gros son. Ca marchais pas trop mal j'ai je l'utilisait pas trop (moi dès qu'un service est up j'estime que c'est bon et parfois je l'utilise même plus..je sais c'est pathétique). J'avais ensuite amméliorer le tout avec la solution mix avec cette solution http://recycledspace.com/2018/04/my-music-setup-at-home-with-mopidy-forked-daapd-and-shairport-sync.html.

Bon ca marche mais la aussi il me manquait un truc: pouvoir lire ma musique a partir d'un navigateur web (comme quand j'écoute de la radio youtube kwa) ou sur mon cellulaire/portable. Il existe bien des solutions android mais pour une raison ou une autre ca marche le premier jours et quand tu en a besoin, frrrt, ca marche plus... J'avais même essayé https://mstream.io/.

Mon reve a toujours été de:

  1. Centraliser ma musique
  2. Y acceder ou je veux
  3. Pouvoir la jouer ou je veux (enceinte multiroom, cellulaire/portable, web)

Donc. Tout ca pour dire que la gestion de la musique c'est pas facile.

Ces temps-ci je suis souvent avec un casque sur la tete pour le travail et je sais pas pourquoi mais ca me gonfle au bout d'un moment.. j'aimerais diffuser de la musique ailleur que dans mon casque et avoir un bon gros son dans mon bureau.

A partir de la, je sais que j'ai vu quelques articles sur le net pour avoir un serveur airplay sur un raspberry pi. Ni une ni deux, me voila parti!

Donc je sais que que dans le bordel intersideral de mon bureau, j'ai les pièces qu'il me faut, a savoir:

  • Un raspberry
    Au début j'ai trouvé un vieux odroid que je n'utilise plus et il aurait sans doute faiter l'affaire mais finalement j'ai pris le rpi qui ne faisait rien depuis mon projet de cheminée de Noel.
  • Des enceintes
    A l'époque je les avait acheté pour mon ma solution retropie avec une carte son externe USB.
  • Google
    Vu que je suis trop con pour monter une solution par moi même...

En cherchant un peu je tombe sur des postes qui parle de shareport-sync comme solution de Airplay. J'en avais entendu parlé quand j'ai monté la solution mopidy-forked-daap mais sans plus. Et la je ne trouve que des articles avec ce logiciel. Ca me semble prometteur et je me décide de tester cette solution https://www.instructables.com/id/Raspberry-Pi-AirPlay-Speaker/

Après avoir compiler la librairie ALAC (un truc Apple qui semble bien traiter le son) et shairport-sync (en plus d'installer avahi pour annoncer le service), PAF! mon sytème était près!

Il a fallu que je me batte un peu avec mon firewall pfSense parce qu'au début les requetes mdns fonctionnaient mal...

Dans forked-daap, je ne voyais pas mon nouveau système et lorsque je faisais un mdns-scan (que vous pouvez installer sous linux/rpi) je ne voyais pas les services annoncés sur tout mon réseau...déception...

J'ai cru que pfBlocker semblait être le problème vu que je voyais les requetes en denied dans les logs. J'ai tenté de passer du temps a regarder comment faire une while list (rien de raciste) mais en vain. J'ai même mis a jour snort vu que j'ai vu une mise a jour a ce moment la et j'ai même cru que le firewall de openwrt pouvais être le coupable (mon airplay rpi est sur le wifi et mon forked-daap est dans mon réseau standard). Mais après ce qui semble être de la magie, tout semble fonctionner (Je n'ai vraiment rien fait!).

> root@rpi-airplay:~# mdns-scan
+ 3034ADF69424@Rpi-airplay._raop._tcp.local
+ LibreELEC._sftp-ssh._tcp.local
+ Kodi (LibreELEC)._http._tcp.local
+ LIBREELEC._device-info._tcp.local
+ pdrfs001._device-info._tcp.local
+ pdrfs001._sftp-ssh._tcp.local
+ pdrfs001._ssh._tcp.local
+ pdrfw001 [00:a2:a2:a2:02:1a]._workstation._tcp.local
+ pdrfw001._ssh._tcp.local
+ pdrfw001._sftp-ssh._tcp.local
+ Mopidy HTTP server on pdraudio01._http._tcp.local
+ My Music on pdraudio01._http._tcp.local
+ freenas._device-info._tcp.local
+ freenas._ssh._tcp.local
+ freenas._nfs._tcp.local
+ freenas._middleware-ssl._tcp.local
+ freenas._middleware._tcp.local
+ freenas._https._tcp.local
+ freenas._http._tcp.local
+ DCA63216B045@Kodi (LibreELEC)._raop._tcp.local
+ 58F32B196DE6@SHAIRPORT._raop._tcp.local
+ root@LibreELEC._pulse-server._tcp.local
+ root@LibreELEC: Dummy Output._pulse-sink._tcp.local
+ LIBREELEC._smb._tcp.local
+ Kodi (LibreELEC)._xbmc-jsonrpc-h._tcp.local
+ Kodi (LibreELEC)._xbmc-events._udp.local
+ Kodi (LibreELEC)._xbmc-jsonrpc._tcp.local
+ pdrfs001._smb._tcp.local
+ DIGITALRAT._smb._tcp.local
+ Mopidy HTTP server on pdraudio01._mopidy-http._tcp.local
+ My Music on pdraudio01._mpd._tcp.local
+ 32C7F41FE8E40D16._touch-able._tcp.local
+ iTunes_Ctrl_32C7F41FE8E40D16._dacp._tcp.local
+ My Music on pdraudio01._daap._tcp.local
+ My Music on pdraudio01._rsp._tcp.local
+ pdrweb002 [56:d0:aa:5a:b1:3c]._workstation._tcp.local
Browsing ... -

Donc, voila, tout fonctionne et je peux enfin avoir ma musique diffusée dans mon bureau pendant que je travail dur a résoudre les problèmes du monde libre.

Truc à améliorer:

  • Des enceintes bluetooth?
  • Valider l'histoire du mdns bloqué...
  • Pas avoir des câbles merdiques qui pendouilles partout...

Update:

Alors, vu que j'ai plusieurs network/vlan a la maison, les requêtes mdns ne peuvent pas aller d'un endroit a un autre a moins d'avoir installé le démon avahi sur pfSense et de l'avoir configuré pour proxiiser..proxyiser...de relayer les requetes mdns, ce que j'ai fait car je suis un gars consciencieux. Et j'ai comme l'impression que si je n'ai pas de requete mdns ou bonjour/airplay depuis un moment les messages ne sont plus relayer... car si je refais un mdns-scan sur mon rpi airplay, pouf! mon speaker redevient visible dans forked-daap! ('Pouf' est pas vraiment le terme technique je suis d'accord...)

D'un autre coté, je comprend bien mieux la partie Mopidy que j'avais installé dans l'espoir d'avoir un client web interessant pour ma musique...Comme un cretin, j'installe d'abord et je me demande si c'est intressant après.

Donc désormais mon pipe pour forked-daap fonctionne (enfin presque, par pour les metadatas, faudra que j'investigue un peu) mais c'est quand meme pas long entre le moment ou tu lance un morceau dans mopidy et le moment ou ca jour sur son speaker airplay for forked-daap...Bref. On s'en reparle.

0 Commentaires 0 Commentaires
0 Commentaires 0 Commentaires