Music Player avec affichage des pochettes

Bonjour à toute la communauté,

Waouh ça me fait bizarre de me retrouver ici et de poster sur un forum. C’est la première fois que ça m’arrive.

Je viens de découvrir l’univers des raspberry et j’en ai le vertige. Il y a un projet que j’aimerai vraiment mener à bien mais je me perds quand à la quantité d’infos qu’on peut trouver à droite et à gauche.

Concrètement j’aimerai faire ça : https://www.hackster.io/mark-hank/sonos-album-art-on-raspberry-pi-screen-5b0012

MAIS

Je veux l’adapter à mon utilisation. Je ne possède pas de système SONOS.

J’ai une enceinte Bluetooth dans mon salon et je voudrais utiliser ce materiel :

Raspberry Pi 3 Model A+
Pimoroni Hyperpixel 4.0 Square

Mon objectif :

Diffuser de la musique depuis le stockage de mon téléphone (ou tout autre support type carte sd ou DD externe ou serveur) ou mon abonnement Spotify depuis mon téléphone via le raspberry qui afficherait la pochette de l’album en cours de lecture :grinning:

C’est possible docteur ou je vis dans un rêve ?
Merci d’avance pour vos retours.

Bonne soirée.

Lena

Salut!

Si tu désire diffuser de ton téléphone vers ton Raspberry Pi via Bluetooth, tu ne pourras pas faire l’affichage des pochettes, il faut fournir au RPi le « metadata » du fichier en lecture pour qui puisse afficher les détails.

Si tu as des fichiers en « local » sur le Raspberry Pi, il faudra lui apprendre à lire les ID3 Tag des fichiers MP3 et les autres formats Metadata.

Si ton idée est de « détecter » la musique en lecture et d’y afficher les informations par la musique détecté, alors la tu passe un cran de difficulté au dessus. Car il te faudra enregistrer le stream, et l’analyser via un API de détection musical.


SI tu désire lire des fichiers depuis le Raspberry Pi, il existe plusieurs projets, certains complet d’autre requière du matériel spécifique. Mais comme tout utilisateurs de Raspberry Pi te diras ; « Prend le projet qui te plait le plus et modifie le a tes besoins ».

SI tu veux, tu peux partir avec cette base, mon projet : https://github.com/levelKro/piAudioCast
Il ne rempli pas tout tes demandes mais est une base simple qui peu ce travailler par la suite, comme ajouter la sortie Audio via le Bluetooth : RPi-Bluetooth Audio — Wiki levelKro .

Tu peux aussi t’inspirer de mon projet de Deskboard pour créer une interface simple en Python, il ne fait que play/pause d’une radio Internet, mais à la base il est géré par VLC (tout comme piAudioCast) et peut donc te donner des détails inclus dans le fichiers. Projet : https://github.com/levelKro/pideskboard (wiki : RPi-piDeskboard — Wiki levelKro )

Mais si tu fait un relay Bluetooth (Mobile → RPi / RPi → HiFi) tu va avoir de la « latency » et je ne sais même pas si le RPi est en mesure de faire du dual stream (in + out) via son Bluetooth. Peut-être le mieux sera d’ajouter un autre Bluetooth a RPi pour qu’un un puisse faire la réception et l’autre émettre.


C’est un qui parait simple mais qui concerne plusieurs choses, par expérience, commence étape par étape et grossi ton projet, tu va apprendre a coder et comment gérer chaque aspect de ce projet. Surement en cour de route tu aura l’envie de recommencer car tu va voir des choses impossible a faire e d’autre que tu désira ajouter au projet.

Établie des bases de travail et des priorité;

  1. Lire des fichiers sur le RPi
  2. Créer une interface sur le RPi (ou distant comme sur piaudiocast ?)
  3. Afficher les informations du fichier lu
  4. Émettre en Bluetooth l’audio sur la chaîne HiFi
  5. Recevoir un stream Bluetooth sur le RPi et le sortir en audio physique (3.5mm)
  6. Capturer l’audio, l’analyser pour trouver les informations de chanson
  7. Diriger le stream entrant Blueooth sur le signal audio Bluetooth sortant

Si tu n’arrive pas a faire tes point 5,6,7, tu auras comme solution de le relier directement sur l’appareil HiFi. Mais pour afficher les infos de musique sur le Raspberry, il te resterais l’option de te créer une application Android qui détecte le Bluetooth du Raspberry et dans ce cas la lui transmet des informations textes, dans c’est informations il transmet le « media » lu actuellement sur ton téléphone (via le API Media d’Android). Encore la faudra apprendre le Java et lire la doc SDK d’Android.