MPD_sima

Posté par (page perso) . Modéré par Benoît Sibaud.
10
19
oct.
2010
Son
MPD_sima est un client console, non interactif, pour MPD (Music Player Daemon).

Écrit en Python et publié sous licence GPLv3, il permet l'ajout automatique de titres dans la liste de lecture. Les titres sont choisis parmi les recommandations de last.fm qui sont présentes dans la médiathèque gérée par MPD.

NdM : déjà publiée le 30 juin 2010, dépubliée involontairement, republiée le 19 octobre 2010 Nul besoin d'un compte sur last.fm ou de soumettre vos statistiques de lecture : MPD_sima utilise le service web au nom de l'application elle-même grâce à une clef d'API. Le client permet deux modes d'ajout de titres choisis parmi les artistes similaires à celui du titre en cours de lecture :
  • Un titre choisi au hasard ;
  • Un titre choisi parmi les titres les plus populaires selon last.fm.
Bien évidemment, le fonctionnement de MPD_sima repose exclusivement sur les métadonnées audio présentes dans les fichiers indexés par MPD (les « tags »). Une bonne gestion de celles-ci dans vos fichiers audio permettra un meilleur fonctionnement du client.

Les fonctionnalités principales de MPD_sima :
  • Paramétrage du niveau de similarité voulue ;
  • Une recherche floue des noms d'artistes permettant de s'affranchir des typos (distance de levenshtein) et de certaines variabilités des noms d'artistes ;
  • Ajoute de préférence des titres d'artistes non joués récemment ;
  • Base de données utilisateur permettant l'ajout de similarité entre artistes.
Le projet est hébergé sur l'excellente forge Coding Team, il est distribué non officiellement sur ArchLinux (via AUR) et Debian. Cependant, l'utilisation de Python rend l'exécution du code simple même sans paquet binaire disponible.

Les principales fonctionnalités à venir sont :
  • L'utilisation plus importante des ressources de MusicBrainz entre autres pour compléter les recherches floues (MPD gère les métadonnées MusicBrainz depuis la version 0.15) ;
  • Faire du client un démon ;
  • Un nouveau mode d'ajout d'album complet plutôt que par titre.
Attention à l'utilisation de ce client vous pourriez très certainement vous surprendre à dire "Ah!! Mais j'ai ça dans ma médiathèque :/"...
  • # CodingTeam powaa

    Posté par (page perso) . Évalué à 3.

    Il faut vraiment que je le teste. surtout que c'est dans les dépôts maintenant.
    Sinon j'approuve pour le choix de CodingTeam, c'est vraiment une excellente forge.
  • # Précisions

    Posté par (page perso) . Évalué à 2.

    Sympathique de prime à bord, j'ai un peu du mal à comprendre le projet...

    Si je comprend bien il rempli la liste de lecture avec des morceaux de la bibliothèque qui correspondent aux recommendations last.fm....

    (sans critiques, juste pour comprendre)

    Ne risque t-il pas d'y avoir souvent les même chansons?
    Ce qui se trouve dans la bibliothèque n'est-il pas ""d'office"" à jouer ou presque?


    Je suis pas mal intéressé par ce genre de système en faite.
    Au boulôt on à mis en place un jukebox ou chacun rempli la biblio avec sa musique.
    Un http://bitbucket.org/matclab/mpdrandomd/ rempli constamment 10 chansons dans la liste de lecture aléatoirement.
    Chacun à alors un client mpd (sonata) et peu augmenter le volume et changer de chanson (ou en choisir une en particulier).

    Je suis à la recherche d'une solution qui permetterai d'exclure certain artistes/albums/.. en fonction de qui est là et qui aime quoi....

    encore un truc que je dois développer :)

    Enfin bref... Bon boulot quand même je regarderai à l'occaze
    • [^] # Re: Précisions

      Posté par (page perso) . Évalué à 3.

      >Si je comprend bien il rempli la liste de lecture avec des morceaux de la bibliothèque qui correspondent aux recommandations last.fm....

      Exactement

      > Ne risque t-il pas d'y avoir souvent les même chansons?

      Pas vraiment, le client maintient un historique des titres joués pour éviter ce cas de figure. Le problème est donc que ce type d'application demande une médiathèque assez fournie.
  • # Projet similaire

    Posté par (page perso) . Évalué à 2.

    Est-ce qu'il y a un rapport avec pylast [http://code.google.com/p/pylast/], bibliothèque dont se sert mpd-add-similar [https://launchpad.net/mpd-add-similar] qui fait exactement le même office ?
    • [^] # Re: Projet similaire

      Posté par (page perso) . Évalué à 1.

      En effet mpd-add-similar est un projet similaire, son développement est plus récent. Il fonctionne différemment cependant, ce n'est pas un service de type démon mais un script qu'il faut appeler explicitement pour alimenter la liste de lecture.

      pylast est un module python pour accéder au service de last.fm et soumettre ses statistiques de lecture. Il n'y a aucun rapport avec MPD_sima au delà de cet aspect.

      Dans les versions précédentes, MPD_sima utilisait le module pyscrobbler [0] qui propose un accès exhaustif aux services de last.fm. Cependant seule une partie très réduite de l'API de last.fm est utilisée pour MPD_sima, un module indépendant a donc été écrit pour le projet (src/lib/simafm.py).

      Une liste des projets plus ou moins similaires est disponible sur la page de documentation du projet [1]

      [0] [http://github.com/offmessage/pyscrobbler]
      [1] [http://codingteam.net/project/sima/doc/SimilarProjects]
  • # J'aime !

    Posté par (page perso) . Évalué à 2.

    J'adore ce truc ! Même avec ma musicothèque remplie d'artistes inconnus venant de jamendo il me trouve de quoi remplir ma playlist.
    Fini le bête random qui fait passer de tout à n'importe quoi, vive le random intelligent, vive mpd_sima !

    À noter que si la playlist est trop grosse, il ne recherche pas de nouvelle piste. Il faut donc la vider un peu pour que mpd_sima s'active (ce que j'ai mis du temps à comprendre :P).

    Il existe deux catégories de gens : ceux qui divisent les gens en deux catégories et les autres.

    • [^] # Re: J'aime !

      Posté par (page perso) . Évalué à 2.

      Par défaut il n'ajoute à la liste de lecture que lorsque le nombre de titre après la lecture courante est nul. C'est un paramètre qu'il est possible de modifier dans le fichier de configuration.

      Merci pour ton enthousiasme :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.