Réalisez votre serveur musical piloté par smartphone

Publié
Commentaires Aucun

On à tous maintenant un bon stock de musiques au format mp3, et on copie allègrement ces fichiers sur un smartphone, sur une tablette, etc. pour écouter en mobilité

Mais comment faire pour diffuser facilement sa musique (mp3 ou radios interne) sur une chaîne hi-fi tout en pilotant les listes de diffusion , les morceaux et le volume sonore depuis son pc, son,portable ou son smartphone et depuis n’importe ou ?

mixer.jpg

On peut réaliser cela facilement avec un ordinateur raspberry

Voici les opérations à suivre :
(par la suite on considère que vous êtes équipé d’un raspberry et d’une chaîne hi-fi avec une entrée audio disponible, et d’un disque dur intégré à votre box internet sur lequel se trouvent les fichiers mp3 à diffuser)

Installer le système d’exploitation sur une carte SD

dans la suite des instructions, le raspberry Pi sera désigné par RPI

Maintenant que votre système est installé et démarré on va procéder à l’installation de la partie logicielle du serveur musical

  • passer en root sur le RPI
su - 
  • montage du disque dur de la box en CIFS (utilisé par les partages Windows) comme un disque du RPI, les morceaux seront ainsi stockés sur la box et accessibles au travers du RPI
    cette opération n’est pas nécessaire, si vous utilisez un disque branché directement sur le RPI (par exemple une clé USB)

pour que le montage soit permanent on modifie le fichier /etc/fstab en ajoutant la ligne suivante

//192.168.1.254/Disque_dur/Musiques /mnt/music  cifs     defaults,sec=ntlm,password=pwd,uid=33,gid=33   0       0
ou avec mot de passe
//192.168.100.254/Disque\040dur/Musiques /mnt/music  cifs     defaults,sec=ntlm,password=votre mot de passe,uid=33,gid=33   0       0

  • 192.168.1.254 : adresse ip de votre box
  • /Disque_dur/Musiques : chemin sur le disque de la box, ou se trouvent les fichiers audio
  • /mnt/music le point de montage sur le RPI (mkdir /mnt/music)
  • pwd le mot de passe qui permet d’acceder à vos fichiers audio sur la box (uniquement nécessaire si vous avez protégé le partage par un “username” et un “password”)

monter le disque après modification du fichier fstab

Mount -a 

Si vous avez branché une clé usb, ou un disque externe sur le RPI, alors un simple mount indique ou se trouve le disque

mount
/dev/sdg1 on /media/joel/ssd1_joel type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)

il faudra donc dans le cas ci dessus, utiliser /media/joel/ssd1_joel comme parametrage du fichier de configuration du serveur

  • maintenant on installe le serveur
apt-get update
apt-get install mpd

  • on change la configuration du serveur mpd pour l’adapter à son RPI

nano /etc/pmd.conf
  • on modife le répertoire qui va etre lu par le serveur MPD
#music_directory                "/var/lib/mpd/music"
music_directory         "/mnt/music"
ou 
music_directory         "/media/joel/ssd1_joel"
ou 
music_directory        "votre point de montage" 

  • on modifie l’adresse sur laquelle le serveur MPD va présenter son service

#bind_to_address                "localhost"
bind_to_address         "192.168.100.30"

ici 192.168.100.30 doit être remplacé par l’adresse de votre RPI

  • on relance ensuite le serveur
/etc/init.d mpd restart
  • on installe les librairies qui permettent de lire des fichiers MP3
apt-get install mpg321
  • on ajoute les drivers et utilitaires de la carte son
apt-get install alsa-utils
sudo modprobe snd_bcm2835

  • on configure la sortie son du RPI sur le jack (ou sur la sortie HDMI)

amixer cset numid=3 1

Le serveur est maintenant prêt à diffuser le son des fichiers mp3, il faut donc raccorder la sortie son du RPI à un amplificateur

jack.jpg

  • Il faut maintenant configurer le client MPD android :

client_android.jpg

et voila on peut piloter le serveur


on pilote le serveur mpd du RPI en ligne de commande

  • en ligne de commande, on utilise un client pour mpd
sudo apt-get install mpc
  • attention si on rencontre une erreur “error: connexion refused” avec mpc, il faut modifier le fichier de configuratiuon /etc/mpd.conf
bind_to_address    "any"

on peut maintenant lancer la construction de la base de données du serveur à partir du client MPD
Attention cette étape est indispensable pour pouvoir construire la liste de lecture

mpc -h IP de votre serveur -p port d'écoute de votre serveur update

par exemple :

mpc -h 192.168.1.30 -p 6600 update
  • on peut suivre la construction de la base de données en lançant
tail -f /var/log/mpd/mpd.log

Feb 04 17:45 : update: added The Clash/clash-09-clampdown.mp3
Feb 04 17:45 : update: added The Clash/clash-11-wrong 'em boyo.mp3
Feb 04 17:45 : update: added The Clash/Live -- From Here to Eternity/The Clash-14-Know Your Rights.mp3
Feb 04 17:45 : update: added The Clash/Live -- From Here to Eternity/The Clash-13-The Magnificent Seven.mp3
Feb 04 17:45 : update: added The Clash/Live -- From Here to Eternity/The Clash-04-Clash City Rockers.mp3
Feb 04 17:45 : update: added The Clash/Live -- From Here to Eternity/The Clash-03-What's My Name.mp3
Feb 04 17:45 : update: added The Clash/Live -- From Here to Eternity/The Clash-08-I Fought The Law.mp3
Feb 04 17:45 : update: added The Clash/Live -- From Here to Eternity/The Clash-06-Capital Radio.mp3

  • Pour lire une radio web ou en streaming avec MPD :

mpc add "l'adresse de la radio"
  • Pour obtenir les adresses des radios on peut utiliser shoutcast.com
    lister les radio puis cliquer sur le lien de téléchargement et prendre l’extension MP3U
  • on ouvre ensuite dans un éditeur le fichier téléchargé :
#EXTM3U
#EXTINF:-1,UK Rock Radio
http://listen.radionomy.com:80/UKRockRadio

  • on récupère l’adresse (sans le point final) et on l’ajoute à la playlist

mpc add http://listen.radionomy.com:80/UKRockRadio

usb_audoi.jpg

à noter que j’avais un peu de souffle en utilisant la sortie jack audio du RPI, j’ai donc branché un adptateur usb vers jack ( à 6€ sur amazon ) et j’ai maintenant un son bien plus clair

Ajouter une carte son USB

This little how-to, should enable you to use the USB-AUDIO as default playback device.

To get started, plug your USB-AUDIO into the Pi and run the following command:

  aplay -l

Within the output you should find: card 0: Device [USB Audio Device], device 0: USB Audio [USB Audio], which means the Pi has recognized the USB-AUDIO adapter and we can move on to configuration.

If this is not the case, some further troubleshooting is needed (try power cycling your USB hub or plug the audio adapter directly into the Pi and alternatively use the lsusb command).

Use your favorite editor to modify /etc/modprobe.d/alsa-base.conf (be sure to make a backup of this file before editing in case something goes wrong!)

Change:

  options snd-usb-audio index=-2

to:

  options snd-usb-audio index=0

and also add the following on the next line:

  options snd_bcm2835 index=1

This is essentially forcing the default sound module (snd_bcm2835) to be disabled while the usb sound module (snd-usb-audio) is enabled; rearranging the hierarchy of the sound modules.

Reboot and test for audio output

As the distros get updated and change over the months, this tutorial might not be an exact 1 : 1 representation of what your .conf may look like, or how the audio adapter enumerates. The main point here is to set the audio adapter to 0. The .conf itself has the following comment: “Keep usb-audio from being loaded as first soundcard”. This clue is what you are looking for to set to 0.

Avec des versions plus récentes de raspbian le fichier de configuration à modifier est ici :
bc. /usr/share/alsa/alsa.conf

remplacer

defaults.ctl.card 0
defaults.pcm.card 0

par

defaults.ctl.card 1
defaults.pcm.card 1

Autoriser un compte a changer de carte son

  • il faut ajouter l’utilisateur dans le groupe “audio”

Par exemple

usermod -a -G audio joel

Auteur
Catégories Faites le vous même

Commentaires

Commentaires fermés pour cet article.

← Plus anciens Plus récents →