Webradio last.fm
Introduction
Ce document présente les différentes façons de profiter de last.fm pour les utilisateurs de Ubuntu plus particulièrement, mais une bonne partie du document s'applique à tous les utilisateurs des systèmes Debian.
Last.fm est un site communautaire de musique. Après avoir créé un profil gratuit, Last.fm peut analyser la musique que vous écoutez pour vous proposer des artistes qui devraient vous plaire et des personnes ayant les mêmes goûts musicaux. Vous pouvez de plus écouter gratuitement des webradios diffusant le genre de musique que vous écoutez ou de la musique similaire à des artistes de votre choix. Vous pouvez consulter mon profil pour avoir un aperçu des informations recueillies par last.fm et des possibilités offertes. L'article de Wikipédia est également très bien pour en savoir plus. Si vous n'utilisez pas last.fm et ne souhaitez pas l'utiliser, ou si vous avez autre chose à faire pour le moment, vous pouvez arrêter la lecture de ce document ici .
Audioscrobbler
Audioscrobbler est à la fois le nom de la base de données recueillant les titres que vous écoutez, et le plug-in utilisé par votre lecteur audio pour envoyer les données. L'utilisation de audioscrobbler est tout à fait opérationnelle dans le monde de Linux, vous ne devriez rencontrer aucun problème à l'utiliser vous aussi. Il existe des plugins audioscrobbler pour tous les principaux lecteurs :
- Rhythmbox : supporté nativement. Edition > Greffons, puis activez last.fm, cliquez dessus et sur le bouton 'configurer' pour vos informations d'identification.
- Amarok : supporté nativement. Settings > Configurer Amarok > Modules externes, rubrique Services internet
- Exaile : supporté nativement. Edition > Préférences, Last.fm
- XMMS :
sudo apt-get install xmms-scrobbler
- Spotify : Modifier > Préférences > Last.fm
- Songbird : Extension proposée à l'installation, ou téléchargeable par Outils > Modules Complémentaires > Get Extensions
Pour d'autres lecteurs, recherchez dans Synaptic le nom de votre lecteur et "scrobbler" ou "audioscrobbler", vous pouvez aussi télécharger les sources depuis la page de téléchargement de last.fm.
Radios last.fm
Last.fm
Last.fm est aussi le nom du lecteur audio développé par le site pour écouter les radios last.fm. Ce lecteur est évidemment l'idéal car il intègre toutes les fonctionnalités possibles. En particulier, il permet d'accéder rapidement à toutes les radios de votre profil, ce qui est bien pratique surtout pour les subscribers. Il permet aussi de tagger les titres joués sans passer par le site.
Il existe une version pour Windows, Mac OS X et Linux, mais malheureusement ces deux dernières sont beaucoup moins au point que la première (ce sont des versions beta). De nombreux utilisateurs rencontrent des bugs, n'arrivent pas à l'utiliser, voire n'arrivent pas à le compiler. Faisant partie de la deuxième catégorie, je ne peux vous être d'une grande aide sur ce point. Toute information à ce sujet est la bienvenue.
Ajout du dépôt
- Ajoutez le dépôt lastfm :
sudo gedit /etc/apt/sources.list
- Ajoutez le dépôt lastfm copier dans sources.list :
deb http://apt.last.fm/debian stable main
- Récupérez la clef d'authentification (optionnel: pour vérifier les packages téléchargés) par le terminal :
wget -q http://apt.last.fm/last.fm.repo.gpg -O- | sudo apt-key add -
- Puis mettez à jour vos dépôts :
sudo apt-get update
* installation
sudo apt-get install lastfm-scrobbler
- lancement :
lastfm-scrobbler
* Paramétrage:
suivre les étapes de synchronisation entre lastfm-scrobble et le site Lastfm
Last.fm player
Ceux pour qui Last.fm n'est pas tout nouveau doivent connaitre ce lecteur, c'est le prédécesseur de l'application Last.fm. Il est un peu moins évolué que ce dernier, mais offre mine de rien suffisament de fonctionnalités pour que vous puissiez en faire votre choix. La principale différence avec son successeur est que ce n'est pas du "tout intégré", certaines fonctions telles que le tag, le journal ou le choix de certaines radios nécessitent de passer par le site. Mais cela se fait d'un simple clic depuis le lecteur, donc rien de bien contraignant.
Vu que ce lecteur est bien plus éprouvé que le logiciel précédent, il a été intégré à Ubuntu et est donc facilement accessible et installable. Installez le paquet lastfm.
Si vous lancez le lecteur et tentez d'écouter une radio, il y a fort à parier que le lecteur va se mettre dans un état bloquant sans sortir aucun son. C'est parce que le lecteur ne sait pas communiquer avec le démon du son. Ce démon est un programme qui permet à plusieurs logiciels d'émettre du son en même temps, il s'occupe de les mixer, car un accès à la carte son est normalement exclusif. Comme le lecteur ne sait pas communiquer avec ce démon, il essaye d'envoyer le son directement au pilote, ce qui est impossible car le démon bloque l'accès. Il est possible de remédier à ce problème, en utilisant la méthode brutale : tuer le démon.
sudo killall esd (avec Ubuntu / Gnome) sudo killall artsd (avec Kubuntu / KDE)
Après ce meurtre, vous pouvez lancer le lecteur et écouter votre musique préférée sans problème. Cependant, ce qui s'applique au démon reste vrai pour le lecteur, c'est maintenant lui qui a l'accès exclusif au pilote de la carte son, donc aucun autre logiciel ne pourra émettre du son pendant ce temps.
Last-exit
Last-exit est un lecteur très similaire à celui de Last.fm, qui intègre toutes les fonctionnalités, mais qui s'intègre beaucoup mieux à Gnome (développé avec Gtk). Il suffit donc d'installer le paquet last-exit.
Vagalume
Vagalume est un autre client GTK+ pour Last.fm. Bien qu'il fonctionne sur les PC, il a été spécialement conçu pour la plate-forme Maemo, celle embarquée dans les appareils Nokia séries 770, N800 et N810. Vagalume est un projet récent mais est assez stable pour une utilisation quotidienne.
C'est un logiciel libre distribué sous licence GNU GPL et il est présent dans les dépôts officiels : Visiter le site web de Vagalume
Vagalume offre la possibilité de :
- Lire des flux radios Last.fm (protocole v1.2)
- Accéder aux différentes stations radio (personnel, voisins, morceaux favoris, …, ou n'importe quel URL commençant par
lastfm:
) - Marquer les morceaux comme aimé ou les bannir
- Tagger les artistes, morceaux et albums
- Envoyer des recommendations à d'autres auditeurs
- Ajouter des morceaux à votre playliste
- Télécharger les morceaux gratuit/libre sur vote disque dur
- Scrobbler les morceaux pour qu'ils apparaissent dans votre page web Last.fm (peut-être désactivé au lancement).
- Envoyer les informations sur la lecture en cours grace au protocole d'envoi temps-réél Audioscrobbler v1.2
- Utiliser le mode découverte
- Créer des Marque-page
- Etre contrôlé à distance
- Etre utilisé dans 8 langues différentes !
Amarok
En plus de disposer nativement d'un audioscrobbler, les dernières versions de Amarok permettent aussi d'écouter des flux last.fm. Pour ceux qui ne connaitraient pas, Amarok est un puissant lecteur audio, dans le même style que i-Tunes, avec bon nombres de fonctionnalités supplémentaires, en particuliers la notion de playlist qui manque cruellement à iTunes. Il est tout à fait possible que vous n'ayez jamais entendu parler de Amarok si vous utilisez Ubuntu (et non Kubuntu), étant donné qu'Amarok est conçu pour KDE. Il est toutefois possible de l'utiliser sous Gnome, il s'y intègre très bien, mais sachez que vous devrez télécharger plusieurs librairies KDE (de l'ordre de 50 Mo).
Une fois que vous avez installé Amarok 1.4.3 ou postérieur, vous pouvez écouter une radio en allant dans l'onglet "listes de lectures". Vous aurez alors accès à un dossier "Radio Last.fm", avec les radios que vous avez déjà écoutées et les tags globaux les plus courants. Vous pouvez ajouter une radio en ce dossier en cliquant avec le bouton droit sur le nom du dossier, puis "ajouter une radio…". Cela nécessite de connaître l'adresse de la radio, que vous obtenez facilement en la copiant à partir du site Last.fm.
LastFMProxy
LastFMProxy est un script python qui permet de générer une liste de lecture m3u pointant vers une radio last.fm. Autrement dit, vous pouvez écouter une radio last.fm avec n'importe quelle lecteur audio en lui demandant de lire ce fichier m3u. Cette technique est moins pratique qu'un lecteur intégrant les fonctionnalités last.fm, mais elle permet d'écouter une radio last.fm sur tout ordinateur disposant d'un environnement python, d'un navigateur web et d'un lecteur audio.
Il faut donc tout d'abord vous assurer que vous disposez de ces trois éléments. J'imagine que les deux derniers ne posent problème à personne… Quant à python, il suffit d'installer le paquet python.
Il faut ensuite vous procurer le programme en question : lastfmproxy-1.1.tar.gz, puis l'installer. Placez-vous dans le répertoire où vous avez téléchargé l'archive, et tapez :
tar -zxvf lastfmproxy-1.1.tar.gz
ou :
tar -zxvf lastfmproxy-1.1.tar.gz -C /dossier/d/installation
La deuxième commande vous permet de choisir l'emplacement dans lequel sera décompactée l'archive. Ensuite, à l'aide de votre éditeur de texte préféré, éditez le fichier config.py et affectez les variables username et password avec les bonnes valeurs (celles de votre compte last.fm). Si vous l'aviez délaissé, retournez dans votre terminal et lancez le programme main.py situé dans le répertoire d'installation du proxy. Il devrait vous afficher une url, très probablement : http://localhost:1881/. Recopiez cette url dans la barre d'adresse de votre navigateur web et validez. Quelque chose ressemblant au premier lecteur last.fm devrait apparaitre, avec un lien start radio. En cliquant dessus, il vous propose d'ouvrir un fichier m3u, ce que vous faites après avoir choisi votre lecteur préféré. Et voilà vous y êtes ! Presque :) En procédant ainsi, vous démarrez la dernière radio que vous avez écoutée, ou celle de vos voisins. Pour choisir la radio que vous voulez, tapez son adresse à la suite et l'url dans le navigateur, et validez. Quelques exemples :
D'une manière générale, vous pouvez aller sur le site de last.fm, repérer une radio qui vous plait (et que vous pouvez écouter, si vous n'êtes pas enregistré), et copier son adresse grâce au lien. Pour changer de station vous pouvez aussi appeler le script changestation.py, avec en argument l'adresse de la radio que vous voulez écouter. Pour les utilisateurs de Firefox, on peut encore simplifier la chose. Il est en effet facile avec ce navigateur d'associer un protocole à une application. Comme les radios last.fm ont leur propre protocole, on peut l'associer au programme changestation.py pour changer de radio simplement en cliquant sur un lien du site last.fm. Ouvrez Firefox, et tapez dans la barre d'adresse :
about:config
Vous devriez voir apparaître une grande liste de variables, qui permettent de configurer Firefox. Faites un clic droit dans cette liste et choisissez nouvelle chaine de caractères. Entrez la valeur suivante dans la boite qui vient de s'ouvrir :
network.protocol-handler.app.lastfm
Validez, puis entrez le chemin complet vers le script changestation, par exemple :
/home/anatole/lastfmproxy-1.1/changestation.py
Cette astuce pour changer de station avec Firefox ne semble pas marcher chez moi (Ubuntu 8.10, Firefox 3.0.8). Lorsque je clique sur un lien qui commence par 'lastfm: ', c'est Rhythmbox qui se lance. Cela même après avoir bien refait plusieurs fois la manipulation, après avoir désinstaller Rhythmbox (dans ce cas il ne se passe rien), et bien d'autres manipulations. J'ai même essayé de faire un petit script qui se charge d'écrire l'url appelée ('lastfm:globaltags/pop' par exemple) dans un fichier temporaire, et je me rend compte que le script n'est en fait jamais appelé. S'agit-il d'un bug de Firefox ou d'une mauvaise manipulation de ma part ? Quelqu'un peut-il dire s'il a réussi à faire marcher le script en ayant la même configuration que moi ?
Ca devrait suffire. Remarquez que ça permet seulement de changer de radio, pas de la démarrer. Vous devez donc avoir auparavant lancé main.py et ouvert le flux m3u avec votre lecteur.
Pour conclure, cette méthode est une façon assez jolie de se sortir des problèmes d'installation et de compilation de "vrais" lecteurs. Elle offre quasiment les mêmes fonctionnalités que last.fm player (l'ancienne version du lecteur last.fm), à ceci près que le lecteur et l'interface sont dans deux endroits différents. Mais le lecteur en lui même n'est plus très utile une fois démarré, vous pouvez le laisser en tâche de fond et vous préoccuper uniquement de la page web.
Notes :
- Une fois que la radio est démarrée, il n'est pas obligatoire de garder le lecteur web ouvert dans Firefox. Vous pouvez quitter la page, simplement vous ne pourrez plus controler le lecteur, simplement l'arrêter ou le redémarrer avec votre lecteur, ou changer de radio avec l'astuce Firefox.
- Si vous êtes plusieurs utilisateurs sur l'ordinateur à utiliser last.fm, une installation du proxy par utilisateur est nécessaire étant donné que l'installation contient votre nom d'utilisateur et votre mot de passe, à moins que vous ne partagiez tous le même compte last.fm
Last.fm online
Ce site n'existe plus
Ce moyen est certainement le plus facile à installer, puisqu'il n'y a pas besoin d'installation ! C'est un script PHP en ligne qui se veut être l'ancien lecteur last.fm player, mais accessible avec n'importe quel navigateur disposant d'un plug-in flash. Pour l'utiliser, il suffit de se rendre sur la page, entrer son nom d'utilisateur et son mot de passe, l'adresse de la station, et d'écouter. Le lien magique : http://gizone.co.uk/lastfm/
Comme vous pouvez le voir les fonctionnalités sont basiques, mais ça suffit pour écouter une radio sans trop interagir avec :
Shell-fm
La dernière possibilité que je présente ici s'appelle shell-fm. Shell-fm est un petit lecteur audio, dédié à la lecture des flux last.fm, qui s'utilise en ligne de commande. L'avantage de ce lecteur est que vous pouvez l'utiliser sur n'importe quelle machine, seules 3 librairies sont nécessaires, et elles sont très communes, probablement déjà installées sur votre distribution. Pas besoin de serveur X, et le binaire ne fait qu'une centaine de ko.
Pour installer ce programme, vous devez auparavant vous assurer que vous possédez certaines librairies: il suffit d'installer les paquets libmad0 libssl0.9.8 libreadline5.
Téléchargez ensuite les sources et décompressez l'archive :
wget http://lizer.syslinx.org/shell-fm/releases/shell.fm-0.1.3.tar.bz2 tar -jxvf shell.fm-0.1.3.tar.bz2
Bien entendu, si il existe une version plus récente au moment où vous testez, adpatez la commande. Vous pouvez vérifier l'existence d'une telle version sur la page de shell-fm. L'archive contient un binaire précompilé, vous pouvez donc le tester en tapant :
cd shell-fm/ ./shell-fm
Cependant, si vous avez téléchargé la version 0.1.3 ou antérieure, ça ne devrait pas marcher car le programme a été compilé pour libssl0.9.7. Si ça marche, tant mieux, il ne vous reste plus qu'à placer le binaire au bon endroit :
sudo make install
Si ça ne marche pas, ce n'est pas grave, on va le compiler nous-mêmes. Pour cela, il faut aussi se procurer les fichiers de développement des librairies ci-dessus, en ajoutant des -dev aux paquets :
sudo apt-get install libmad0-dev libssl-dev libreadline5-dev make sudo make install
Ca devrait suffire. Vous pouvez maintenant supprimer le répertoire des sources, et pour lancer le lecteur, tapez simplement shell-fm. Malheureusement, la version 0.1.3 de shell-fm ne sait pas communiquer avec le démon s'occupant du son (esd ou artsd). Donc à priori, il vous annoncera que votre carte son est occupée lorsque vous essaierez de lancer shell-fm. Pour y remédier, il faut auparavant tuer ce démon :
sudo killall esd
ou
sudo killall artsd
De plus, comme ce démon ne tourne plus, les autres logiciels produisant du son seront muet tant que vous n'aurez pas relancé le démon. Ce problème est réglé dans la future version, d'ores et déjà disponible par svn (cf. plus bas).
Utilisation
Après avoir lancé le lecteur, celui-ci vous demande votre nom d'utilisateur (last.fm) et votre mot de passe, puis attend. Evidemment, comme c'est un programme en ligne de commande, pas d'interface graphique, tout se fait au clavier (ce qui est beaucoup plus efficace et puissant quand on sait s'en servir, d'où l'utilité de savoir utiliser un terminal). La liste des commandes peut être obtenue en tapant ?. En voici une traduction de la version 0.1.3 :
- r - démarre une nouvelle radio.
- l - déclare à last.fm que vous adorez le titre joué (l comme love).
- B - Bannit le titre courant.
- n - Passe au titre suivant (n comme next).
- Q - Quitte.
- d - Active /désactive le mode découverte.
- A - Bannit l'artiste du titre courant (a chaque fois qu'un titre de cet artiste sera joué, il sera automatiquement bannit).
- R - Active / désactive le RTP (RTP = submission des titres à audioscrobbler).
- f - démarre la radio des fans de l'artiste du titre courant.
- s - démarre la radio des artistes similaires à l'artiste du titre courant.
Il est à noter qu'au moment où j'écris, la version (future 0.1.4) svn propose de nouvelles fonctionnalités très intéressantes, telles que la possibilité de tagger les titres / artistes / albums, l'autocomplétion avec la touche TAB, et communication avec le démon mixeur (esd ou artsd). Pour en profiter, vous devez compiler les dernières sources. Cela vous demande de posséder des outils de développement que vous n'avez sûrement pas si vous ne programmez pas, tels que subversion, automake, autoconf. Vous devez aussi posséder une librairie supplémentaire, libao. SI vous ne souhaitez pas attendre la publication de la prochaine version, je vous invite à télécharger les sources svn et les compiler. Contactez-moi ou l'auteur du projet en cas de problème avec cette procédure.
Ce programme contistue mon choix, car personnellement je n'ai pas besoin de fioritures graphiques pour écouter une radio, je trouve l'interface clavier plus efficace, et j'ai la geek-attitude
Enregistrer une radio
Il est possible d'enregistrer la musique diffusée par une radio last.fm au format mp3 (c'est illégal dans la plupart des pays à moins de déjà posséder les titres, éventuellement sur un autre support). Ceci se fait grâce au programme streamripper qui permet de séparer les titres d'un flux mp3 et de les enregistrer, et d'utiliser le proxy lastFM comme générateur de flux.
Une autre possibilité est d'utiliser The Last ripper.
Comment ça marche ?
Une radio last.fm n'est pas un flux mp3 à proprement parler, elle utilise son propre protocole (alors qu'un flux mp3 classique est juste une suite de fichiers mp3 les uns au bout des autres, diffusés en streaming). Quand vous utilisez le proxy lastFM, celui-ci lit la radio last.fm et la convertit à la volée en un flux mp3 classique, qu'il diffuse sur un flux local (généralement http://localhost:1881/lastfm.mp3). Vous pouvez ensuite enregistrer ce flux avec streamripper.
Cool ! Comment on fait ?
Vous vous en doutez, il vous faut pour cela le proxy lastFM et streamripper… Pour le proxy, reportez vous à la section correspondante. Pour streamripper, il suffit d'installer le paquet streamripper.
Ensuite, démarrez le proxy lastFM comme décrit dans la section appropriée, MAIS ne n'ouvrez pas le flux avec votre lecteur mp3. Autrement dit, lorsque vous cliquez sur start radio, et qu'une boite de dialoque s'ouvre vous demandant avec quoi vous voulez l'ouvrir, faites annuler. Vous pouvez alors commencer l'enregistrement avec la commande (en supposant que le flux est diffusé sur le port 1881) :
streamripper http://localhost:1881/lastfm.mp3 -d /des/tina/tion/
Les titres seront alors enregistrés dans un répertoire nommé last.fm, et avec comme nom artiste - titre.mp3. Mais peut-être avez vous envie d'écouter en même temps ? C'est possible. Vous ne pouvez pas écouter le flux du proxy avec votre lecteur mp3, car le flux ne peut-être lu par deux programmes à la fois. Mais streamripper permet de faire la même chose que le proxy lastFM, c'est-à-dire diffuser ce qu'il lit sur un flux local.
Pour cela, ajoutez l'option -r à la fin de la commande streamripper, et ensuite avec votre lecteur mp3 préféré ouvrez l'url http://localhost:8000/. Voilà, normalement vous enregistrez et écoutez maintenant.
Contributeur : Strab∫