… ou pas.
On est geek ou on l'est pas. Moi pareil, des fois je suis un bon gros geek, parfois non.
Bon ben là, je pense que je penche plus du côté geek que du côté de la population qui a un cerveau sain.
Je ne peux pas vivre sans musique. Mon autoradio a un port USB pour que j'y mette ma clef USB de 8Go avec mes mp3 choisis consciencieusement. J'ai constamment de la musique dans les oreilles au boulot. Idem à la maison où je peux également pianoter sur mon clavier ou grattouiller la guitare électrique de ma chère et tendre. Parfois je crée de la musique aussi... mais c'est une autre histoire.
Depuis que j'ai quitté KDE (depuis Ubuntu 8.10) et l'arrivée d'Amarok 2, je n'ai jamais trouvé de lecteur audio qui me convenait. J'en ai essayés pourtant. J'ai finalement choisi Exaile que je pensais prometteur (qui l'est peut-être toujours, mais le développement est trop lent à mon goût).
Je viens de tester MPD et je l'ai adopté.
MPD (Music Player Daemon) est, comme son nom l'indique, un démon qui sert à jouer de la musique. Et ma foi, ça le fait très bien.
L'approche de MPD est particulière. Contrairement à tous les autres lecteurs, MPD est constitué d'au moins 2 logiciels: 1 serveur et au moins 1 client.
Le serveur s'occupe de gérer la bibliothèque de fichiers musicaux, les playlists, d'envoyer sur la sortie la musique jouée et de mettre à disposition une API qui permet à qui le veut de communiquer avec ce serveur.
Du coup, il existe tout un tas de clients plus ou moins complets, plus ou moins jolis, certains même sont en ligne de commande.
J'ai réfléchi (oui, ça m'arrive) et je me suis posé la question suivante: qu'est-ce que j'attends de mon lecteur audio:
En résumé, je n'ai pas besoin d'avoir une interface lourde. Le choix de MPD me parait pertinent. En avant l'installation.
Tout d'abord, installons le serveur:
sudo aptitude install mpd
Une fois installé, modifions le fichier de configuration (/etc/mpd.conf) afin qu'il trouve nos fichiers:
music_directory "/media/data/audio" playlist_directory "/media/data/audio"
De plus, il faut configurer la sortie audio. Sur Ubuntu 9.10, commentez les lignes "audio_output" concernant ALSA et décommentez les lignes pour Pulse Audio pour avoir ceci:
#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
#}
...
audio_output {
type "pulse"
name "My Pulse Output"
# server "remote_server" # optional
# sink "remote_server_sink" # optional
}
Sauvegardez le fichier et relancez le serveur:
sudo /etc/init.d/mpd restart
Il faut également installer un petit logiciel qui permet de paramétrer Pulse Audio, puis le lancer:
sudo aptitude install paprefs paprefs
Puis, dans l'onglet "Network Server", cochez "Activez l'accès réseau aux périphériques de son locaux" et enfin "Don't require authentification".
Enfin, relancez pulse audio pour que ces paramètres soient pris en compte:
sudo /etc/init.d/pulseaudio restart
Maintenant, nous allons installer un client. C'est peut-être là que nos chemins se séparent. Une liste de clients MPD existe sur le wiki du logiciel.
Moi, je vais vous parler de ncmpcpp un client ncurses écrit C++ qui fait (presque) tout ce que je veux. La version des dépôts n'est pas franchement à jour, aussi, si vous savez ce que vous faites, vous pouvez configurer ce PPA qui propose la dernière version, sinon contentez-vous de la version (tout a fait fonctionnelle) des dépôts.
sudo aptitude install ncmpcpp
Une fois installé, vous pouvez lancer le client en tapant:
ncmpcpp
Pour commencer, il faut faire une mise à jour de la bibliothèque musicale de MPD en tapant sur la lettre U de votre clavier. "Database update started" s'affiche dans le coin inférieur gauche. Une fois la mise à jour terminée, vous verrez "Database update finished !" apparaitre au même endroit. La mise à jour de la bibliothèque dépend évidemment de la taille de celle-ci. Plus vous avez de fichiers musicaux, plus ça prendra de temps.
En appuyant sur F1, vous aurez la liste intégrale des raccourcis claviers de ncmpcpp.
Appuyez maintenant sur F3 pour parcourir votre bibliothèque. Vous pouvez naviguer avec les flèches et la touche entrée (pour rentrer dans un répertoire) et enfin ajouter le répertoire ou le fichier musical sélectionné, dans la playlist courante, en appuyant sur la barre espace.
Appuyez sur F2 pour revenir à la playlist courante. Vous pouvez trier les fichiers musicaux grâce à CTRL+V, écouter un titre en appuyant sur entrée, aller au suivant grâce à > et au précédent grâce à <.
Vous pouvez modifier quantité de paramètres de ncmpcpp en créant/modifiant le fichier de configuration ~/.ncmpcpp/config. Vous pouvez récupérer un fichier de config exemple depuis /usr/share/doc/ncmpcpp/config.gz:
cp /usr/share/doc/ncmpcpp/config.gz ~/.ncmpcpp/ gunzip ~/.ncmpcpp/config.gz
Voici, d'ailleurs, mon fichier de configuration (mes fichiers musicaux sont renommés exactement comme je le désire, je ne m'embête donc pas des tags pour l'affichage, mais vous pouvez configurer comme bon vous semble ou laisser la configuration par défaut):
mpd_music_dir = "/media/data/audio"
mpd_crossfade_time = "0"
song_list_format = "%f$R$3%l$9"
song_status_format = "%f"
song_library_format = "%f"
song_window_title_format = "%f"
song_columns_list_format = "(25)[cyan]{a} (40)[]{t} (30)[red]{b} (7f)[green]{l}"
autocenter_mode = "yes"
clock_display_seconds = "yes"
display_bitrate = "yes"
Bien, maintenant que nous avons un lecteur audio, configurons nos raccourcis clavier en lançant les commandes suivantes:
gconftool -s /apps/metacity/keybinding_commands/command_1 -t string "ncmpcpp toggle" gconftool -s /apps/metacity/keybinding_commands/command_2 -t string "ncmpcpp next" gconftool -s /apps/metacity/keybinding_commands/command_3 -t string "ncmpcpp prev" gconftool -s /apps/metacity/keybinding_commands/command_4 -t string "gnome-terminal --maximize --hide-menubar --window -e ncmpcpp" gconftool -s /apps/metacity/global_keybindings/run_command_1 -t string "<Super>c" gconftool -s /apps/metacity/global_keybindings/run_command_2 -t string "<Super>b" gconftool -s /apps/metacity/global_keybindings/run_command_3 -t string "<Super>z" gconftool -s /apps/metacity/global_keybindings/run_command_4 -t string "<Super>p"
Vous pouvez maintenant faire play/pause avec Super+C, passer au titre suivant avec Super+B, au précédant avec Super+Z et afficher le lecteur dans un nouveau terminal grâce à Super+P. "Super", c'est la touche "windows", le drapeau entre Ctrl et Alt.
Installons maintenant de quoi envoyer nos écoutes à last.fm:
sudo aptitude install mpdscribble
Éditez le fichier /etc/mpdscribble.conf afin de mettre vos login/pass last.fm, puis éditez le fichier /etc/default/mpdscribble en mettant 1 à MPD_SYSTEMWIDE. Enfin, relancez le client:
sudo /etc/init.d/mpdscribble restart
Pour finir, nous allons faire afficher une notification à chaque modification de titre. J'ai créé 1 petit script qui va faire tout ça pour nous. Il y a également quelques dépendances à installer et le démarrage automatique à l'ouverture de la session à paramétrer:
sudo aptitude install python-mpd python-notify wget http://dl.mattlab.com/mpdnotify/mpdnotify.desktop -O ~/.config/autostart/mpdnotify.desktop sudo wget http://dl.mattlab.com/mpdnotify/mpdnotify -O /usr/bin/mpdnotify sudo chmod +x /usr/bin/mpdnotify mpdnotify &
Vous devriez voir apparaitre une belle notification du titre en cours :)
Pour plus d'informations, sur l'affichage des jaquettes par exemple, allez sur la page du projet.
Ce petit script permet également d'afficher une notification en lançant:
mpdnotify notify
Nous allons d'ailleurs nous en servir pour afficher une notification sur le raccourci Super+O en exécutant ces 2 lignes:
gconftool -s /apps/metacity/keybinding_commands/command_5 -t string "mpdnotify notify" gconftool -s /apps/metacity/global_keybindings/run_command_5 -t string "<Super>o"
Voilà, vous avez maintenant un lecteur audio léger mais pleinement fonctionnel... ou presque... en effet, MPD n'implémente pas un système de queue. Les développeurs ne souhaitent d'ailleurs pas l'implémenter car ils estiment que c'est très similaire aux playlists déjà implémentées.
Bonne écoute !
pligg.com
8 novembre 2009 à 15h05
Le meilleur player audio…
Si vous chercher un bon lecteur audio pour votre PC, voici MPD sous linux. Voici un test et toutes les indications pour l’installation…
MCMic
8 novembre 2009 à 19h50
Personnellement j’utilise gmpc ainsi que mpc au travers des raccourcis clavier de pekwm.
Par exemple j’ai associer super + espace à la commande « mpc toggle ».
C’est plutôt pratique et au final très proche de l’utilisation que j’avais d’amarok.
Renaud
8 novembre 2009 à 21h13
Super+Espace est déjà attribué au lancement de Gnome-Do, chez moi :)
J’ai testé gmpc et je ne l’ai pas aimé… je sais pas pourquoi, les goûts et les couleurs…
boblefrag
9 novembre 2009 à 02h43
et pourquoi pas notre bon vieux rhythmbox qui fait tout ce que tu lui demande. Pour les raccourcis claviers, tu peut configurer ceux de gnome-audio dans préférences > raccourcis claviers.
Il n’y a pas à mon avis plus simple. Chez moi, il me gère 50Go sans sourciler avec une charge mémoire de même pas 50Mo
Renaud
9 novembre 2009 à 09h00
MPD prend 12Mo en mémoire et le client ncmpcpp 4ko (!!!) pour 51Go. De plus, je n’ai pas besoin d’un interface graphique à temps plein. En revanche, quand j’en ai besoin, je veux que mes titres soient affichés par le nom de fichier car je renomme mes fichiers comme je le veux. Les colonnes Artistes/Album/Titre, ça ne me plait pas.
Encore une fois, les goûts et les couleurs :)
Greg
9 novembre 2009 à 22h21
Moi j’utilise ario comme client sur les pcs, et mpod sur les iphones, et je dois dire que ca fonctionne pas mal, meme avec une bibliothèque de 150GO :p
j’avais fait un tuto aussi : http://blog.lyrixx.info/ubuntu/installation-dun-serveur-home-sur-ubuntu-partie-3-installation-multimedia/
Bonne continuation ;)
Titang
9 novembre 2009 à 23h14
Merci pour les raccourcis et le script mpdnotify. Il a buggé une ou deux fois chez moi mais j’ai plus les erreurs sous la main. Si j’ai le temps je regarderai mais ça a l’air de venir de mes tags.
Sinon en complément de ncmpcpp, je viens de découvrir music player minion qui est un client sous la forme d’un plugin firefox. Plusieurs manière de l’utiliser, des raccourcis dans firefox ou l’ouverture d’un gestionnaire de playlist dans un onglet. A priori léger et comme firefox est toujours ouvert chez moi c’est toujours sous la main. Pour ceux que ça interesserait…
Renaud
10 novembre 2009 à 15h42
Titang, je viens de corriger des bugs dans mpdnotify. En fait, j’ai changé le principe, il n’y a plus de script d’init, mais un script de démarrage par utilisateur.
Si un jour, je sais comment faire, je ferais .deb :)
Titang
10 novembre 2009 à 21h23
Merci. J’ai testé le nouveau script et je l’ai changé un peu. Comme certains de mes fichiers sont mal taggés je l’ai rendu un peu plus robuste. (au lieu de mieux tagger ma musique)
Sinon, j’ai modifié la notification pour qu’il ne rajoute pas une nouvelle notification à chaque fois mais il met à jour celle existante, toujours la même. Lorsque l’on change plusieurs fois de morceaux rapidement ca évite qu’il affiche tous les morceaux que l’on saute.
Le fichier est là si ca t’interesse:
http://dl.free.fr/bw0oSkfuM
J’ai jamais fait de python et c’est codé vite fait. Il y a possibilité qu’un truc m’ait echappé.
Renaud
10 novembre 2009 à 23h21
Merci beaucoup Titang, j’ai mis à jour le script avec quelques-unes de tes modifications:
- la récupération de la conf ds ~/.mpdconf ou dans /etc/mpd.conf s’il n’y a pas de conf user
- l’update de la notification plutôt qu’un ajout systématique qui, effectivement, provoquait des listes interminables de notifications. Je ne savais pas que l’on pouvait faire ca :)
- un test sur l’existence des tags
Titang
11 novembre 2009 à 00h00
J’ai regardé tes changements et effectivement il me semblait bien que c’était pas propre mon truc en python. Du coup j’ai appris à jouer avec les notifications donc merci à toi.
Renaud
11 novembre 2009 à 08h58
Pour être franc, je ne connais pas le python non plus :)
J’apprends en même temps :)
FUN
16 novembre 2009 à 17h47
Salut
J’ai testé et aimé GMusicBrowser, développé par un Français (cocorico).
airballman
15 mai 2010 à 10h18
Salut,
J’ai une question.
Chez moi, l’appui sur la touche F1 dans ncmpcpp lance la fenetre d’aide globale du terminal et non la liste des commandes possibles du lecteur.
Sais-tu comment y remédier?
Merci d’avance!
mpd 2 : le retour, là où ça devient vraiment bien | mart's blog
29 mai 2010 à 13h12
[...] Source [...]