Une petite auto-promo sur ce client utilitaire pour le lecteur MPD précédemment évoqué sur LinuxFr.org.
MPD_sima permet l'ajout automatique de titres dans la file de lecture. Les titres sont choisis parmi les recommandations de services web (si présentes dans la médiathèque gérée par MPD).
Pas de nouveauté majeure dans cette nouvelle version, il s'agit surtout d'une consolidation des évolutions précédentes et de correctifs divers.
En particulier:
- une meilleure gestion des identifiants MusicBrainz quand ils sont présents dans les tags
- amélioration du moteur de recherche dans la bibliothèque locale de MPD, désormais des artistes avec plusieurs alias ou bien mal orthographiés peuvent être agrégés et remontent comme suggestions.
Installation
Le paquet python est disponible sur python package index, un paquet debian (testing/jessie) est disponible sur mon dépôt APT.
- Archive tar compressée des sources.
- python package pour installation avec pip/virtualenv.
- Dépôt debian perso ou le paquet
- Dépôt sources : git clone git.kaliko.me/sima.git / gitweb
Bonne écoute :)
# Très intéressant
Posté par SaintGermain . Évalué à 1.
Salut,
Merci pour ce logiciel que je ne connaissais pas. Je pense que je vais le suivre et participer, il me semble vraiment sympa !
Un truc que je n'ai pas bien saisi, pour qu'il puisse utiliser MusicBrainz il faut générer une empreinte avec AcoustID pour chaque fichier ?
Et ensuite à partir de cette empreinte, il est capable d'identifier des fichiers à la sonorité similaire ?
Si c'est le cas tu aurais un générateur d'empreinte AcoustID sous linux à recommander ?
Merci encore,
[^] # Re: Très intéressant
Posté par kaliko (site web personnel) . Évalué à 2.
Pour qu'il puisse utiliser les ID MusicBrainz, il faut uniquement que le tag soit servi par MPD (cf.
metadata_to_use
dans mdp.cfg). Par défaut MPD expose tous les "tag" qu'il connaît et qui sont dispos dans les fichiers. Pour vérifier, jouer un fichier contenant des ID MusicBrainz et interroger MPD, avecnetcat
par ex:MPD_sima est un client MPD qui exploite uniquement les informations déjà contenues dans les fichiers, en particulier les tag title, artist, album, albumartist et leurs équivalents musicbrainz. À partir de ces informations il interroge des services web (lastfm ou echonest) pour trouver les artistes similaires. Cette opération est facilitée par l'utilisation d'identifiants uniques que sont les ID musicbrainz.
L'étape d'édition des tags des fichiers de la médiathèque est complètement indépendante de MPD_sima. C'est un travail à faire par ailleurs.
Le calcul des empreintes AcoustiID est une méthode pour identifier un morceau de musique et ensuite renseigner les tags des associés. Le logiciel de MusicBrainz Picard fonctionne ainsi.
Les empreintes AcoustID sont un équivalent acoustique des fonctions de hachage mathématique.
Dans tous les cas MPD_sima n'utilise pas du tout les AcousticID, de plus il ne détermine pas lui même les similarités mais utilise un service de recommandation externe.
D'ailleurs le calcul des AcousticID ne permet pas de déterminer des similarités entre différent titres, il permet uniquement d'identifier un morceau de musique à partir de fichiers différents (par ex. un même enregistrement compressé en MP3, vorbis audio, FLAC ou non compressé).
AcoustID est un logiciel libre si tu désires jouer avec les empreintes. Cependant je te conseille d'utiliser un taggeur tel que Picard si tu veux simplement renseigner les ID musicbrainz.
MPD_sima devrait cependant fonctionner convenablement sans les ID musicbrainz.
[^] # Re: Très intéressant
Posté par SaintGermain . Évalué à 1.
Ah j'ai confondu avec MusicIP qui générait des PUID que MusicBrainz a utilisé à une époque.
Ces PUIDs permettaient eux d'identifier des musiques similaires (c'était apparemment vraiment révolutionnaire à l'époque).
Merci d'avoir éclairci !
[^] # Re: Très intéressant
Posté par SaintGermain . Évalué à 2.
En fait c'est plus compliqué que cela.
MusicIP avait :
Les analyses pouvait être stockées directement dans les tags de la chanson (tags MUSICMAGIC DATA et MUSICMAGIC FINGERPRINT) ou bien être stockées dans une base de données.
Cependant une analyse de chanson est très lourde en charge CPU (certains rapportent une durée de presque 80% du temps de la chanson par exemple) et il était possible de juste faire un hash/fingerprint "PUID" de la chanson et de demander au serveur central de MusicIP si quelqu'un n'avait par hasard par déjà fait le travail.
Là où c'était révolutionnaire c'est que tout pouvait être fait hors-ligne si nécessaire (l'analyse et les recommandations).
J'aurais bien aimé comprendre comment marchait l'algorithme de recommandations ainsi que l'analyse de musique. Apparemment les gens sont très agréablement surpris, ce qui est vraiment étonnant pour un truc tout automatique.
Malheureusement tout est proprio, closed-source, blindé de brevets et abandonné (même si des valeureux arrivent encore à le faire fonctionner).
Si kaliko/MPD_sima s'ennuie, faire du reverse-engineering sur "MusicIP Mixer" serait un beau défi et une superbe évolution de son logiciel (du reverse-engineering sur "genpuid" je pense que c'est trop difficile).
[^] # Re: Très intéressant
Posté par kaliko (site web personnel) . Évalué à 2.
Il y a bien un projet ouvert et similaire, mirage [0], de la recommandation faite uniquement à partir du signal audio.
J'ai vu deux implémentations sur deux lecteurs audio
L'un comme l'autre semblent abandonnés, je n'ai pas fait de recherches récentes sur des projets similaires.
À l'ère du "big data" et du "cloud" je pense que les projet ouverts et collaboratifs sont plus prometteurs.
Je pense en particulier à acousticbrainz [2] que j'ai présenté précédemment ici même.
En ce qui concerne MPD_sima, j'ai toujours eu dans un coin de la tête de partir sur des solutions à base de MIR plutôt que taper sur un web service, j'ai l'impression que le futur pourra être un mélange des deux, la direction que prend acousticbrainz àmha.
Il n'y a pas de véritable feuille de route pour MPD_sima. Uniquement se faire plaisir en écrivant un programme me permettant de prendre plaisir à écouter ma médiathèque finement renseignée :D
[0] http://hop.at/mirage/
[1] https://launchpad.net/autoqueue
[2] http://acousticbrainz.org/
# Lien foiré
Posté par kaliko (site web personnel) . Évalué à 2.
Tiens, je remarque que j'ai foiré un lien dans mon journal, quand je parlais de « client […] précédemment évoqué sur LinuxFr.org. » je voulais lier vers quelque chose comme ça plutôt: http://linuxfr.org/tags/mpd_sima/public /o\
[^] # Re: Lien foiré
Posté par Benoît Sibaud (site web personnel) . Évalué à 4.
Corrigé, merci.
# Intéressant mais…
Posté par chdorb . Évalué à 1.
Ça a l'air super intéressant, mais j'ai essayé de l'installer via pip et je me cogne une erreur à l'installation de python-musicpd :
Une idée ?
[^] # Re: Intéressant mais…
Posté par kaliko (site web personnel) . Évalué à 1.
Je pense que c'est un problème python 2/3, peux tu donner les commandes que tu as exécutées et la version de l'interpréteur python ?
Cela ressemble typiquement à une installation de python-musicpd avec python2.
[^] # Re: Intéressant mais…
Posté par SaintGermain . Évalué à 1.
J'ai réussi à l'installer sur Debian Wheezy, par contre c'est vrai qu'il faut faire attention à 2-3 trucs. En particulier comme Python 3.3 n'est pas dispo, on ne peut pas utiliser le script automatisé de création de virtualenv.
@kaliko : si tu veux je t'envoie ce qu'il faut faire pas à pas et tu pourras le mettre dans ton fichier INSTALL ?
[^] # Re: Intéressant mais…
Posté par kaliko (site web personnel) . Évalué à 1.
En effet, sur Debian/Wheezy il faut passer par la création du virtualenv à la main.
Je pourrais faire un backport de mpd-sima (celui de python3-musicpd existe déjà), mais Wheezy est en fin de vie, je me suis concentré sur la prochaine stable Jessie.
Je veux bien tes commentaires par rapport aux instructions de INSTALL :)
[^] # Re: Intéressant mais…
Posté par SaintGermain . Évalué à 1.
Avec root :
Avec user :
Ensuite pour faire fonctionner sima avec user :
[^] # Re: Intéressant mais…
Posté par chdorb . Évalué à 1.
Oui c'est ça je suis sous Fedora pour Python 3 c'est la commande python3. J'ai téléchargé direct les sources et installé avec python3 setup.py install.
[^] # Re: Intéressant mais…
Posté par kaliko (site web personnel) . Évalué à 1.
C'est
python3 setup.py install
qui t'as rendu une erreur :/Quelle est ta version de python ?
python3 --version
Je te conseille plutôt de suivre les instructions de INSTALL, à savoir de passer dans un virtualenv, ou bien si tu as python >= 3.3 sur Fedora, l'exécution de ./vinstall.py devrait passer.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.