Articles avec le tag ‘musique’

Mise en place d’un serveur musical avec MPD

J’ai mis en place chez moi un serveur de musique qui devait répondre a des besoins un peu particuliers :
– fonctionnement client-serveur, le serveur devant lire la musique (il est branché sur ma chaine hifi) et les clients permettant de contrôler la lecture de la musique à distance (pas d’écran sur le serveur)
– la musique est stockée non pas sur le serveur, mais sur mon PC fixe, dans ma chambre, qui n’est pas allumé tout le temps (bon il faudra l’allumer pour lire la musique évidement :D )
– tout ça sur du Linux bien entendu, le serveur étant sous Ubuntu server 10.10 et le PC fixe sous Ubuntu 10.04

Je me suis penché vers MPD (Music Player Deamon), qui a l’avantage de répondre parfaitement à tous ces besoins :)

Pour la suite : IP du serveur : 192.168.1.8 et IP du PC fixe : 192.168.1.4, les deux sont en DHCP mais le routeur est configuré pour leur attribuer toujours la même IP.

Voilà, le contexte étant posé, on y va :)
Première étape : rendre la musique présente sur le PC fixe accessible au serveur. J’ai choisi de faire ça avec NFS, à priori une autre méthode (comme avec Samba) aurait fonctionné tout aussi bien. Le partage NFS, donc :
0) Installation des paquets « nfs-common » (nécessaire sur le client et le serveur) et « nfs-kernel-server » (nécessaire uniquement sur le serveur). Attention, ici (et uniquement ici) c’est le PC fixe qui joue le rôle de serveur puisque c’est lui qui partage la musique
1) Création du point de montage sur le serveur (donc le « vrai » serveur cette fois ci) : mkdir /mnt/jidey_musique
2) Paramétrage de NFS sur le PC fixe (donc le serveur NFS) :
– ajouter une ligne dans le fichier /etc/exports :

/home/jidey/Musique/ *(ro,fsid=0,insecure,no_subtree_check)

– ajouter ces trois lignes dans le fichier /etc/hosts.deny :

portmap:ALL
nfsd:ALL
mountd:ALL

– ajouter ces 6 lignes dans le fichier /etc/hosts.allow (adapter les IP, il faut mettre l’IP du client nfs) :

portmap: 192.168.1.8
lockd: 192.168.1.8
nfsd: 192.168.1.8
mountd: 192.168.1.8
rquotad: 192.168.1.8
statd: 192.168.1.8

3) Monter le partage nfs sur le client nfs (le serveur MPD) :

sudo mount -t nfs4 192.168.1.4:/ /mnt/jidey_musique/

NB : j’ai été au plus rapide pour la partie NFS. C’est un peu crado, et surtout automatisable (avec fstab). Je ne veux pas m’étendre sur le sujet ici, tout ce qui importe c’est d’avoir un dossier avec de la musique sur le serveur MPD.

Deuxième étape : installation et configuration de MPD sur le serveur.
L’installation est, comme souvent sur Ubuntu, simplissime : sudo apt-get install mpd
Pour la configuration, c’est à peu près du même niveau. La configuration se fait dans /etc/mpd.conf pour une configuration valable pour tous les utilisateurs (c’est notre cas) ou dans ~/.mpdconf pour une configuration personnalisée à chaque utilisateur. Voici le contenu de mon /etc/mpd.conf :

port                    "6600"
music_directory         "/mnt/musique_jidey"
playlist_directory      "/var/lib/mpd/playlists"
db_file                 "/var/lib/mpd/tag_cache"
log_file                "/var/log/mpd/mpd.log"
pid_file                "/var/run/mpd/pid"
state_file              "/var/lib/mpd/state"

user                    "mpd"
bind_to_address         "localhost"

audio_output {
        type            "alsa"
        name            "My ALSA Device"
        device          "hw:0,0"        # optional
        format          "44100:16:2"    # optional
        mixer_device    "default"       # optional
        mixer_control   "PCM"           # optional
        mixer_index     "0"             # optional
}

Notez qu’il faut créer les dossiers ci-dessus (.mpd et .mpd/playlists) s’ils n’existent pas.
Beaucoup d’autres options sont possibles, toutes sont très bien expliquées dans le fichier de configuration créé avec l’installation.
Si vous avez des problèmes de connexion avec les clients, essayez de commenter la ligne « bind_to_address « localhost »  »
Un petit restart du démon MPD et ça devrait être bon :

sudo /etc/init.d/mpd restart

Troisième étape : installation et configuration des clients. Il existe une multitude de clients compatibles avec MPD. La liste (à priori à peu près exhaustive) est disponible sur le site de MPD. Comme vous le constaterez, des clients existent pour à peu près toutes les plateforme imaginable, d’Androïd à Gnome (assez classique) en passant par la Wii…