21 fév 2010

Installation de Spotify sous Ubuntu Karmic Koala 9.10

Category: UncategorizedRenaud @ 00h00

Pour ceux qui ne connaissent pas Spotify, c’est une application que l’on peut télécharger et installer sur sa machine afin d’écouter gratuitement et en toute légalité de la musique en streaming moyennant quelques pages publicitaires tous les quarts d’heure environ ou bien sans publicité, avec une meilleure qualité (320k) et un mode hors connexion pour la modique somme de 9,99€ par mois. Le catalogue est énorme et s’agrandit tous les jours. Last.fm est géré et pour chaque artiste, une liste conséquente d’artistes similaire vous aide à découvrir de nouveaux artistes ou à en retrouver des anciens oubliés.

Bref, une application que je recommande fortement à tous les amoureux de musique et ceux qui n’ont pas/plus envie d’utiliser eMule, BitTorrent ou les newsgroups. De plus, depuis peu, vous pouvez vous créer un compte librement alors que jusqu’à présent il fallait une invitation. Ça se passe sur http://www.spotify.com/fr/.

Maintenant que les présentations sont faites, intéressons-nous à son installation sur Ubuntu 9.10.

Tout d’abord il faut savoir que, pour le moment, il n’y a pas de version native linux, mais que cela fonctionne très bien avec wine… pour peu que l’on installe ce qu’il faut.

La documentation de Spotify pour l’installation de leur logiciel sous wine date un peu et, surtout, n’est pas spécifique à Ubuntu et n’indique donc pas un petit patch à installer.

Trêves de bavardages et préparons notre machine à recevoir Spotify.

Tout d’abord, il faut installer wine, mais comme je l’ai dit, il faut un petit patch. Attention, ce patch provient d’un dépôt tiers et ne fait donc pas parti de la distribution officielle. Il peut entrainer des problèmes plus ou moins graves sur votre ordinateur et la mort de petits poussins nains. Vous l’installez en connaissance de causes.

Ajoutez à vos repository le dépôt ppa suivant:
deb http://ppa.launchpad.net/neil-aldur/ppa/ubuntu karmic main

Récupérez ensuite sa clef:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com D3E49C82

Maintenant, on fait une petite mise à jour et on installe wine:
sudo aptitude update && sudo aptitude install wine1.2

Une fois wine installé, il faut le configurer. La version patchée de wine que l’on vient d’installer nous permet de bénéficier du driver PulseAudio et donc, de ne pas avoir tout un tas de problème de son que l’on aurait avec le driver ALSA par exemple.

Lancez la configuration de wine:
winecfg

Vous aurez probabement un message d’alerte vous indiquant qu’il n’y a pas de driver audio configuré. C’est précisemment ce que nous sommes venu faire. Allez dans l’onglet audio, vérifiez bien que seul le pilote PulseAudio est coché, puis tout en bas dans « DirectSound » > « Accélération matérielle », choisissez « Émulation ». Appuyez sur le bouton « Appliquer » puis « Tester le son » afin de voir si ça fonctionne (n’oubliez pas de régler le volume :D). Vous pouvez cliquer sur « Ok » pour fermer la configuration.

Maintenant passons à l’installation de Spotify. Il suffit d’aller sur le site prendre la version windows de Spotify et de lancer le programme grâce à wine. Par défaut, firefox prend en charge les .exe et vous propose automatiquement de les ouvrir avec wine. Sinon, téléchargez le fichier quelque part et lancez-le en tapant
wine "Spotify Installer.exe"

L’installation en elle-même n’est pas compliquée. Une fois installé, une petite fenêtre vous demander vos identifiants… que vous avez dû créer ou que vous pouvez créer maintenant sur le site.

Amusez-vous bien !

Cadeau bonus: si vous souhaitez que votre navigateur fétiche gère les liens Spotify, suivez le tuto officiel.

Mots-clefs : , , , , ,


08 nov 2009

Mon lecteur audio idéal: MPD et ses copains

Category: UncategorizedRenaud @ 10h59

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 ? C’est quoi ça ?

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.

Ma configuration

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:

  • il doit lire ma musique (oui… c’est curieux, hein?), dans l’ordre ou aléatoirement,
  • il doit gérer les queues de plusieurs titres que je souhaite écouter à la file,
  • il doit me permettre de faire des recherches dans ma bibliothèque facilement,
  • il doit me permettre de faire play/pause/suivant/précédent grâce à des raccourcis clavier globaux, c’est à dire depuis n’importe quelle application sans avoir besoin d’utiliser ma souris et sans avoir besoin d’afficher mon lecteur audio à l’écran,
  • il doit utiliser les notifications du système pour m’avertir du titre écouté,
  • Il doit afficher mes fichiers musicaux comme je le désire, c’est à dire par le nom du fichier car j’ai déjà renommé mes fichiers comme je veux,
  • il doit envoyer les titres que j’écoute sur ma page last.fm.

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 !

Mots-clefs : , , , , ,