Journal IA, fais-moi écouter ce que j'aime ?

Posté par  . Licence CC By‑SA.
40
25
nov.
2023

Bonjour à tous,

Je souhaite me constituer une playlist musicale, rien de très original me diriez-vous, certains le font depuis des décennies en se partageant cassette, cd et urls pour partager leurs petites pépites ;)

Aujourd’hui tout est toujours plus simple ! Un compte sur une plateforme, quelques likes déposés sur des titres et voilà que l’on vous propose des titres recommandés à partir de l’analyse de millions d’autres utilisateurs et des caractéristiques de chaque titre. J’ai de très bons retours autour de moi de l’algorithme de Spotify permettant parfois de découvrir des petits artistes méconnus par rapport à leurs talents et que l’on n’aurait probablement jamais découvert autrement.

Mais bon, s’en remettre à un service externe pour faire vibrer ses oreilles n’est pas vraiment une solution acceptable pour moi.

J’ai donc récupéré dernièrement quelques milliers de musiques provenant de diverses sources basées sur des playlists/mot clés qui semblaient collés à mes attentes. C’est probablement une bonne base de travail et je pourrais commencer à les écouter pour commencer à les trier et cela serait fini. Cela prendrait du temps bien sûr, mais ne peut-on pas faire mieux ?

En cherchant un peu sur Internet, je n’ai rien trouvé de similaire à ce que je voulais, c’est-à-dire un moteur de recommandation de musique auto hébergé à partir d’un ensemble de titres avec leurs notes que j’alimenterai au fur et à mesure.

Comme parfois il ne nous faut que quelques secondes pour savoir si on va passer au titre suivant, j’imagine qu’il doit être possible d’obtenir une signature pour chaque musique, son genre, la langue parlée s’il y en a une, les instruments, la vitesse, etc, et que l’on doit pouvoir en sortir un ensemble d’attributs afin de les comparer.

Ainsi commence mes recherches, et je tombe rapidement sur des articles sur les algorithmes de recommandations sociales, mais moins sur ceux d’analyse musical. Il y a aussi beaucoup d’articles de recherches référencés notamment sur :

— https://github.com/robi56/Deep-Learning-for-Recommendation-Systems
— https://github.com/ybayle/awesome-deep-learning-music

Je suis malgré tout tombé sur deux projets qui m’ont semblé intéressant, mais il faut que je rende à l’évidence, j’essaye de toucher à un domaine où je ne connais rien : le traitement du signal.

— https://github.com/kristijanbartol/Deep-Music-Tagger
— https://github.com/mlachmish/MusicGenreClassification

Même si ça ne répond finalement pas à mon besoin du jour, j’ai aussi pu découvrir ces deux logiciels que j’utiliserais probablement un jour, permettant d’aider à la classification/transcription/segmentation d’image, de texte, d’audio, etc. Cela semble être de précieux outils, jetez-y un coup d’œil !
— https://github.com/UniversalDataTool/universal-data-tool
— https://github.com/HumanSignal/label-studio

Je commençais à me faire une raison, mais je gardais en tête ces indices de similarités d’images pour détecter les doublons dans nos photos de vacances, ce lecteur audio dont j'ai oublié le nom mais qui m'affichait une barre colorée représentant chaque musique …
Non ce que je cherche existe, juste c’est moins utilisé et je n’ai pas dû avoir les bons termes ou le bon point de vue durant mes recherches.

C’est ainsi que je tombe sur :

— https://github.com/librosa/librosa
— https://github.com/Polochon-street/bliss-rs

Le premier est une bibliothèque pour analyser du son, mais surtout le deuxième est une bibliothèque pour calculer la distance entre deux musiques ! Voilà mon outil !
Il permet deux choses, calculer une distance entre deux musiques, et même créer une playlist à partir d’une musique et d’une bibliothèque afin de ne pas passer du classique au rock brutalement ;)

use bliss_audio::{BlissError, Song};

fn main() -> Result<(), BlissError> {
let song1 = Song:: from_path("/path/to/song1 »)?;
let song2 = Song:: from_path("/path/to/song2 »)?;

println!(« Distance between song1 and song2 is {}", song1.distance(&song2));
Ok(())
}

J’ai fait tourner ça sur une centaine de titres pour voir un peu, et voilà ce que ça donne comme distribution de la distance, avec une valeur comprise entre 0.15 et 3.

Graphique de distribution de la distance entre les musiques

La génération de playlist directement n’a pas encore été utilisée, mais j’ai comparé les écoutes entre les titres les plus proches et en effet cela fonctionne plutôt bien ! Et la crise cardiaque n’est pas loin quand on s’essaye à vouloir enchainer les extrêmes opposés !

Je crois que ce pourquoi je me suis un peu perdu dans mes recherches c’est que j’opposais playlist et recommandations, en y réfléchissant maintenant j’ignore pourquoi, après tout, pour reprendre l’exemple de Spotify (mais j’imagine que les autres plateformes font pareils), il génère régulièrement et automatiquement des playlists de recommandations en fonctions de vos écoutes.

bliss-rs référence également d’outils ou articles qui pourraient en intéresser quelques-uns ici :
— https://lelele.io/thesis.pdf (Music Similarity Tool for Contemporary Music), que je n’ai pas encore lu le temps de lire
— https://crates.io/crates/blissify qui permet d’analyser une bibliothèque MPD pour créer les playlists de façon intelligente grâce à bliss

Et maintenant ? Comment je fais le tri dans mes milliers de titres ? Eh bien je pense en écouter un échantillon, les référencer quelque part, calculer les distances entre mes musiques, étudier s’il y a un lien entre cette distance et mon appréciation (probablement, mais il y a peut-être aussi des contre-exemples !), et attribuer un score pour chaque musique en fonction des distances qui la séparent des musiques que j’apprécie mais également celles que je n’apprécie pas.

J’ai un peu hésité à poster ce journal, finalement listant surtout les ressources que j’ai pu trouver sur mon parcours assez long pour retomber sur un outil que j’aurais dû trouver plus rapidement, mais c’est également l’occasion de partager tout ça et peut-être d’échanger sur vos habitudes de découverte, de classification et d’écoute ;)

  • # bin Gainsbourg

    Posté par  (site web personnel) . Évalué à -3.

    car quand Gainsbourg se bourre, Gainsbarre se barre

  • # Je multiplie les sources.

    Posté par  . Évalué à 7.

    Rien d'aussi technique, je multiplie juste les sources : j'écoute des radios (ou podcasts), je lis des chroniques, j'utilise des sites qui ont des algorithmes de proximité (https://www.music-map.com/ par exemple), je suis l'activité des groupes et artistes qui me plaisent et j'écoute à peu près tout ce que les gens postent vite fait.

    C'est loin d'être précis mais ça me permet de ne pas tourner sur les mêmes sons…

    Je ne sais pas si c'est très bien en revanche parce que plus le temps passe, plus je me considère comme un consommateur avide ; cette recherche constante de nouveauté me semble un peu vaine mais c'est très personnel.

    • [^] # Re: Je multiplie les sources.

      Posté par  (site web personnel) . Évalué à 3.

      C'est loin d'être précis mais ça me permet de ne pas tourner sur les mêmes sons…

      C'est ce qui me fait peur avec la recommandation de contenu, j'ai développé un peu plus dans ce commentaire.

      • [^] # Re: Je multiplie les sources.

        Posté par  . Évalué à 7.

        J'ai un peu ce souci avec les algorithmes et cette étrange réflexion qu'ils n'ont pas vraiment leur place dans le domaine des choix musicaux : la musique est une expérience très personnelle, intime où l'on apprend à se connaître, c'est généralement un moment d'introspection et c'est son rôle à elle de m'aider à "me connaître". Ce n'est pas à un algorithme d'être "la première note" quelque part (en tout cas, il ne faudrait pas que ce soit trop précis, sinon, tu n'écoutes plus une musique pour la découvrir ou la ressentir, tu écoutes un algorithme qui te dit quoi découvrir et quoi ressentir selon certains critères).

        Évidemment, la musique peut être communautaire (concert, ambiance de fond) mais cela obligerait les algorithmes personnels (= de chaque individu) à se croiser entre eux.

        Du coup, je conserve la bonne vieille méthode : un peu de recherche, un peu de hasard…Je peux néanmoins comprendre l'envie de cartographier le monde de la musique et d'offrir des boussoles, mais je ne suis pas sûr que des panneaux de direction soient dans notre intérêt quand il s'agit de regarder la couleur du ciel.

        • [^] # Re: Je multiplie les sources.

          Posté par  . Évalué à 7.

          J'utilise encore l'intelligence naturelle des programmateurs de FIP. J'apprécie l'humour de leur programmation.

        • [^] # Re: Je multiplie les sources.

          Posté par  . Évalué à 10.

          Et y a tout un travail de dépucelage de l'oreille qui se fait à force d'écouter de nouvelles musiques. Pour apprécier le jazz il faut commencer par entendre des accords et harmonies un peu moins évidente que ce qui se fait dans la mauvaise musique pop par exemple, cela demande un genre d'apprentissage. Petit à petit ce qu'on trouvait dissonant à une époque devient merveilleux du jour au lendemain.

          Ce serait dommage qu'un algo ne suggère d'écouter que la même chose.

        • [^] # Re: Je multiplie les sources.

          Posté par  . Évalué à 5. Dernière modification le 28 novembre 2023 à 16:17.

          tu écoutes un algorithme qui te dit quoi découvrir et quoi ressentir selon certains critères

          Tu dirais que si tu écoutes une station de radio c’est le programmateur que tu écoutes ? Parce qu’il fait exactement ce qu tu décris : il te recommande l’écoute de ceci ou cela.

          Avec un algorithme comme celui de YouTube c’est comme si tu avais un programmateur personnel qui partage tes goûts (du moins, a la prétention de le faire), avec la possibilité de lui ordonner de changer de titre quand tu veux, en lui demandant de mettre un autre titre de son choix ou en lui imposant un titre particulier. Tu peux aussi lui dire de laisser tourner le titre en cours et lui imposer ceux à suivre.

          Certes les algorithmes ne sont pas là pour fournir des recommandations « pour notre bien », et si on y réfléchie deux minutes : heureusement que ce n’est pas le cas ! Tu te rends compte de ce que cela impliquerait d’un point de vue philosophique si c’était le cas ? ^^
          Ils ne se substituent pas aux recommandations personnelles que des amis ou des connaissances peuvent faire mais ils ne les empêchent nullement. Ce sont deux choses complémentaires selon moi.

          la bonne vieille méthode : un peu de recherche

          Si tu fais une recherche à partir de mot de clé, par exemple à partir d’un nom de style musical, les résultats qui te seront présentés sont tout autant le résultat d’un algorithme, en fonction de ton historique et de j’imagine un tas d’autres critères.

          un peu de hasard…

          Comment ça précisément ?

          En l’absence d’algorithme de recommandation, les alternatives ne me semblent pas super excitantes :

          1) Se passer de la fonctionnalité de lecture automatique. Quand le morceau que tu écoutes est terminé, on stop, à toi d’en mettre un autre.
          2) Enchaîner sur une vidéo aléatoire parmi toutes les vidéos (mouaif…)
          3) Enchaîner sur une vidéo choisi selon un algorithme non personnalisé parmi toutes les vidéos. Je crois que c’est possible en choisissant la navigation privée. Voire même avec une option de son profile (pour ce qui est de YouTube), on peut aussi remettre à zéro son profil de temps en temps, (re-mouaif…)
          4) Enchaîner sur un vidéo parmi celles que tu as expressément ajoutées dans une liste, ou encore celles qui sont dans ton historique. (là pour le coup on peut dire que ça te laisse effectivement enfermé dans ta bulle)

          Le système n’est pas parfait mais je trouve que les algorithmes actuels de recommandation fonctionnent bien dans l’ensemble et qu’ils ont toute leur place dans le domaine des choix musicaux.

          • [^] # Re: Je multiplie les sources.

            Posté par  . Évalué à 4.

            Tu dirais que si tu écoutes une station de radio c’est le programmateur que tu écoutes ? Parce qu’il fait exactement ce qu tu décris : il te recommande l’écoute de ceci ou cela.

            Tout à fait, mais il se fiche de mes goûts ; un peu comme un bon écrivain qui va écrire ce qui l'intéresse lui/ce qu'il juge intelligent et pas ce qui "va me plaire".

            Ils ne se substituent pas aux recommandations personnelles que des amis ou des connaissances peuvent faire mais ils ne les empêchent nullement. Ce sont deux choses complémentaires selon moi.

            Alors, oui, tout à fait. J'ai déjà découvert des musiques qui me plaisaient parce qu'elles en suivaient d'autres (c'était souvent ça dans les faits) et les algorithmes ne sont pas de mauvais outils de découverte mais je ne les trouve pas vraiment bons en liste de lecture : concrètement, après une musique précise…la suivante devrait "artistiquement logiquement" être celle qui suit dans l'album, non ? Je trouve que conseiller un autre artiste/un autre titre n'est pas vraiment un bon lien. On conserve peut-être le sentiment qu'on éprouvait, mais c'est tout.

            En fait, je pourrais comprendre des tas d'algorithmes qui gèrent la vie "utilitaire"…mais un algorithme qui te dit quoi ressentir (car c'est ce que fait la musique je pense), c'est peut-être abandonner un petit peu ce qui fait qu'on ressent. C'est paradoxal mais l'engrangement de données et leur traitement ne me semblent pas apporter des plus-values vraiment intéressantes.

            Comment ça précisément ?

            Au hasard des pérégrinations, je n'utilise pas vraiment d'outil pour cela. Tout va dépendre ; ça peut être flâner dans une médiathèque comme balancer un mot-clé sur Youtube ou simplement lire quelques chroniques.

            Le système n’est pas parfait mais je trouve que les algorithmes actuels de recommandation fonctionnent bien dans l’ensemble et qu’ils ont toute leur place dans le domaine des choix musicaux.

            C'est sûr qu'on peut y trouver son compte ; j'ai l'impression d'enlever à la musique ce qu'elle a d'éphémère et d'imprévisible. Après tout, si l'algorithme connaît tes goûts et les prochaines notes (de la prochaine musique), est-ce que tu en découvres encore réellement ?
            C'est personnel, mais j'ai vite eu l'impression de tourner en rond en fonctionnant ainsi.

  • # Il est loin le temps des cassettes (92-93)

    Posté par  . Évalué à 4.

    Spotify j’ai jamais pratiqué. Soundclound un peu. Et Youtube à donf’, comme j’utilise GMail comme boîte mail principale Google connaît déjà toute la vie ou presque, alors autant utiliser Youtube, ça se trouve il prend en compte le contenu de mes mail pour trouver LE son qui va me faire kiffer ! Va savoir…

    à partir de l’analyse de millions d’autres utilisateurs et des caractéristiques de chaque
    titre

    Je serais pas étonné qu’il se base aussi sur le genre d’algorithme dont tu parles, qui établit une note de proximité entre deux titres. Franchement j’avoue que je m’en tape un peu de connaître précisément sa tambouille. L’algo me fait découvrir des trucs parfois intéressants et pour autant il m’arrive encore régulièrement de farfouiller moi-même pour explorer tout ce que je peux trouver sur un (ou plusieurs) mot clé. À de rares occasion j’arrive même « au fond », parce que oui, il y a bien un fond ! Mais c’est sûr qu’il faut vraiment chercher un truc spécifique pour y arriver.

    C’est comme ça que dernièrement je suis tombé sur une vidéo de reprise d’une chanson de Sarah Vaughan a cappella, avec un son bien amateur du point de vue de l’enregistrement mais que je trouve exceptionnelle du point de vue de la maîtrise du chant (c’est subjectif évidemment). C’est d’une youtubeuse qui a posté en tout et pour tout deux vidéos, en 2015, qui totalisent un nombre ridicule de vues…

    https://www.youtube.com/watch?v=VlrkmHUOBAU

    Ça c’est clairement le genre de truc que l’algorithme m’aurait jamais sorti, parce que ça traînait « au fond », mais maintenant il me trouvera p-e des contenus de ce type !

    • [^] # Re: Il est loin le temps des cassettes (92-93)

      Posté par  . Évalué à 5.

      Je serais pas étonné qu’il se base aussi sur le genre d’algorithme dont tu parles

      deezer avait communiqué là dessus il y a quelques années et ils expliquaient construire une matrice de proximité de dimension de l'ordre de la dizaine de millions il me semble.

      Il me semble que dans le même article ils expliquaient peu se baser sur les préférences utilisateurs parce que tu n'a pas de bouton "j'aime pas" et que le fait de skiper une musique ne veut pas dire que tu l'aime pas. Ils ont des signaux pour savoir que tu aime (écouter jusqu'au bout et le fait de placer la musique dans une playlist), mais pas en négatif.

      Ça c’est clairement le genre de truc que l’algorithme m’aurait jamais sorti, parce que ça traînait « au fond », mais maintenant il me trouvera p-e des contenus de ce type !

      Je trouve bizarre de voir l'algo comme un tout ou rien. On écoute pas une seule personne pour choisir ce qu'on écoute. Tester ce que nous propose un algo (puis éventuellement d'autres), chercher sois même, demander à un ou une amie, aller regarder ce qu'il est sorti, acheter un magazine, utiliser shazam dans un bar,… Il n'y a pas de raison que l'on d'entre eux remplace tous les autres.

      https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • # On aime ce avec quoi on est matraqué

    Posté par  (site web personnel) . Évalué à 10.

    Merci pour le partages de ressources intéressantes.

    Un des trucs qui me chagrine avec les algorithmes de recommandation de contenu, c'est que je suis pas sûr que ce pour quoi c'est optimisé soit aligné avec ce que j'attends d'eux. J'ai l'impression que s'il existait un algo de recommandation de bouffe, il me dirait "vous avez ingurgité 3 paquets de M&M's aujourd'hui, vous allez adorer bouffer des Chocobons maintenant" - certes il a pas complètement tort, mais est-ce bien ce que je veux vraiment qu'on me le recommande ? (variante: "vous avez fait 5 fix d'héroïne aujourd'hui, essayez le crack maintenant")

    L'idée de faire tourner localement ce type d'algorithme est excitante. En dehors des aspects "vie privée", on peut imaginer changer la fonction objectif pour se détourner des logiques marchande, consumériste, addictive, etc. Il reste bien sûr à définir comment calculer cette fonction objectif, vaste projet. Ceci dit, je ne suis pas convaincu par l'idée de baser mes recommandations musicales sur la similarité entre morceaux. On a tendance à "trouver bien" les trucs qu'on est habitué à entendre. C'est le principe du matraquage radiophonique des tubes, et ça marche beaucoup mieux sur nous qu'on aimerait, par orgueil, le croire. Sortir de sa zone de confort demande un effort, on aime rarement quelque chose d'inhabituel à la première écoute; mais c'est comme ça qu'on élargit ses horizons musicaux.

    J'ai pas de réponse ou de solution à mes divagations, mais je sais qu'au final, pour la recommandation de contenus culturels, je reste à distance des algorithmes, et j'ai l'impression que rien ne vaut la recommandation par des vraies gens qui suent et puent, dans la vraie vie ou sur les internets.

    • [^] # Re: On aime ce avec quoi on est matraqué

      Posté par  . Évalué à 3.

      L'idée de faire tourner localement ce type d'algorithme est excitante. En dehors des aspects "vie privée", on peut imaginer changer la fonction objectif pour se détourner des logiques marchande, consumériste, addictive, etc.

      Je comprends pas bien. Consumériste ? Marchand ? Addictif ?… Deezer et Spotify (et les autres que j'ai pu voir) sont des abonnements qui te donnent accès à tout le catalogue.

      C'est quoi un algorithme pas addictif dans ce contexte ? Il te passe un bruit que tu déteste de temps en temps ?

      Qu'est-ce qui est marchand dans leur logique ? Je ne connais pas de contenu à payer en plus. Que tu écoute la dernière musique pop ou le plus vieux Renaud tu paie autant. Ils doivent pouvoir économiser des coût si énormément de gens écoutent très peu de musiques différentes mais ça me paraît être un vœux pieux.

      Le consumérisme c'est dans l'accès à un catalogue immense et dans le fait de passer les musiques sans vraiment s'intéresser aux artistes et à leurs démarches, mais je vois pas bien ce que l'algo y fait.

      Un des trucs qui me chagrine avec les algorithmes de recommandation de contenu, c'est que je suis pas sûr que ce pour quoi c'est optimisé soit aligné avec ce que j'attends d'eux. J'ai l'impression que s'il existait un algo de recommandation de bouffe, il me dirait "vous avez ingurgité 3 paquets de M&M's aujourd'hui, vous allez adorer bouffer des Chocobons maintenant" - certes il a pas complètement tort, mais est-ce bien ce que je veux vraiment qu'on me le recommande ? (variante: "vous avez fait 5 fix d'héroïne aujourd'hui, essayez le crack maintenant")

      Ce genre d'algo sont fait pour ça. Tu écoute quelques musiques et tu n'a pas à construire une playlist pour faire continuer le thème ou le mood. Je vois pas en quoi ce serait addictif.

      https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • # Et la playlist famille ?

    Posté par  (site web personnel, Mastodon) . Évalué à 5.

    (Sur deezer, lorsque tu as un compte dit famille, tu peux accéder à une playlist dans laquelle sont les titres favoris de l'ensemble des membres de la famille). Mais tu ne sais pas de qui vient tel ou tel titre.

    Et là tu découvres qu'il y a quelqu'un dans ta famille (une sœur, deux nièces et une fille) qui écoute du Michel Sardou.

    • [^] # Re: Et la playlist famille ?

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      j'utilise deezer également et le flow et j'avais l'impression d'entendre toujours la même chose, depuis que ma moitié l'utilise également régulièrement sans qu'on ait nécessairement les mêmes goûts musicaux, j'ai découvert plein de nouvelles choses vraiment sympa via le flow.
      Comme quoi il ne faut pas s'enfermer dans un style musical et laisser se faire surprendre.

      https://www.funix.org mettez un manchot dans votre PC

  • # Je seed des playlists avec 4 à 20 morceaux

    Posté par  . Évalué à 4.

    Et je laisse spotify faire le reste.

    Utiliser les deux bibliothèques que tu cites et les faire tourner sur https://everynoise.com/ pourrai être fun.

  • # Et le hasard de la vie, c'est mieux

    Posté par  (site web personnel) . Évalué à 8.

    Perso j'aime pas les recommandations automatiques, je préfère me laisser porter par la vie: quand j'entends un truc:

    • au hasard à la radio,
    • dans une série/film/création audiovisuelle (et même les pubs),
    • dans une démo de la démoscène,
    • dans un jeu vidéo,
    • chez des potes en soirée,
    • dans un festival,
    • … [ajoutez ici n'importe quelle situation dans laquelle vous pourriez entendre de la musique, soit des miliers]

    Et bien si ça me plaît, je cherche à déterminer quel artiste/piste c'est par tous les moyens possibles:

    • je demande, si il y a quelqu'un qui créé/diffuse/à sélectionné la musique,
    • je me renseigne (si c'est dans le cadre d'une oeuvre plus complète), je vais chercher des génériques/crédits/informations sur le média, via pochettes/internet/articles,
    • reconnaissance automatique via un logiciel (dernier recours).

    Et puis une fois le ou les titres trouvés, je cherche et j'ajoute à ma playlist (entendre, soit je trouve sur spotify, et je like, soit je trouve sur youtube, je download, soit je trouve ailleurs, réseaux plus sombres, slsk, autre), bref, je m'accapare une copie et je garde préciseusement.

    Quand j'ai, je garde, je mets dans mon lecteur préféré, qui tourne en permanence sur "musique likée" et des fois, quand c'est spotify, sort des sentiers battus et joue des trucs en random en dehors de ma playlist.

    J'aime de tout, de tous les genres, et de partout, mais je n'aime pas tout, alors souvent, pour un artiste particulier, il va n'y avoir qu'une ou deux chansons que j'aime, mais ce de façon transverse dans tous les genres et styles.

    Alors non, je ne fais pas confiance aux recommandations automatiques, mais au HASARD ! et c'est bien mieux ! Parce que très souvent, je tombe sur quelque chose qui me plaît dans un genre que j'aime pas, et c'est super cool !

    Un système de recommandation automatique ne vous fait jamais, ou presque, sortir des genres que vous aimez.

    • [^] # Re: Et le hasard de la vie, c'est mieux

      Posté par  (Mastodon) . Évalué à 5.

      Un système de recommandation automatique ne vous fait jamais, ou presque, sortir des genres que vous aimez.

      Mouais pas certain quand même. Exemple de la bombe atomique que m'a sorti Youtube une fois alors que j'écoute ni Jazz ni Hip-Hop.

      En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # Je fais des playlists pour un oui pour un non

    Posté par  . Évalué à 5.

    surtout avec Spotify et je jette 99% de ses suggestions. De temps en temps, j'ajoute des morceaux de mon cru pour touiller un peu.

    Sinon je récupère aussi les liens pertinents de la tribune pour constituer une playlist "Moultitude", c'est assez éclectique.

  • # Comment je fais le tri dans mes milliers de titres ?

    Posté par  (site web personnel, Mastodon) . Évalué à 1.

    Oui le problème c'est que s'il faut comparer tous les titres entre chacun, le nombre de comparaisons grossi exponentiellement. En informatique, on aime pas ça…

    Mon idée, mais bon je ne sais pas, juste à titre indicatif :
    Je pars de l'idée que si A est proche de B, et loin de C, B devrait être loin de C cela évite ainsi des comparaisons.
    Du coup mon algorithme serait, de prendre un titre, le comparer avec l'ensemble des titres et ainsi les classer en 2 ou 3 catégories. Et recommencer récursivement. Cela va te permettre de les classer un peu du "plus petit au plus grand". Evidemment le choix du morceau influencera le classement puisqu'il n'y as pas de "plus petit", l'idéal serait un classement à plusieurs dimensions, mais là c'est plus complexe pour l’algorithme mais aussi pour le stockage (l'enregistrement du classement).

    Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

    • [^] # Re: Comment je fais le tri dans mes milliers de titres ?

      Posté par  . Évalué à 2.

      Heureusement bliss calcule un ensemble de 20 attributs (j’ignore leurs noms) pour chaque titre, et quand tu veux trouver un autre morceau proche, il te suffit de calculer la distance euclidienne entre celui-ci et tous les autres. En constituant une base de données comme c’est déjà fait dans bliss_audio, ça te permet de faire ça très rapidement !

      J’ai un peu avancé depuis et en lisant vos réponses, j’ai eu quelques idées, probablement assez pour faire un prochain journal, donc je vous partagerais peut-être ça dans quelques temps ;)
      Ou alors ça finira dans la liste des projets à finir, que je finirais un jour … ! :D

  • # Explore, exploit

    Posté par  (site web personnel) . Évalué à 2.

    Et maintenant ? Comment je fais le tri dans mes milliers de titres ?

    Crée une matrice de distance.
    Après avoir écouté une chanson joue, choisi la prochaine avec une probabilité inversement proportionnelle à la distance, excluant les 30 dernières chansons jouées (car, probablement, tu ne veux pas réécouter la même chanson deux fois par heure).

  • # Quelques remarques sur bliss

    Posté par  . Évalué à 10.

    Hello !

    Je suis le dev de bliss, et je suis super intéressé par du feedback sur la qualité de l'outil - vu que je l'utilise uniquement sur ma bibliothèque musicale, je suis très biaisé.

    Ça fait plaisir de voir ton parcours, qui est exactement le mien :D
    L'usage est clairement celui d'un ""concurrent"" local à Spotify, dans la mesure où je trouvais ça très frustrant de ne pas avoir un moyen de faire de l'autoplay libre.

    Une des parties que j'ai (à tort) un peu négligé est la création de playlists à partir des valeurs numériques des morceaux. Comme partir d'un morceau et faire suivre les chansons les plus proches (en terme de distance, euclidienne ou même cosinus) est facile et marche plutôt bien, je me suis arrêté là, mais il y a des tonnes de façons de faire, qui seraient mieux.
    Quelqu'un a l'air d'avoir conçu un algorithme un peu plus compliqué (ça prend même en compte les tags "Noël" pour faire une playlist de Noël !), mais il reste encore pleins de trucs à explorer. Je manque de temps, mais dans l'idéal je voudrais porter sur ça bliss, pour pouvoir l'utiliser dans blissify (ou n'importe où ailleurs).
    Une piste serait de faire un mini questionnaire à l'utilisateur (genre, entre ces 3 chansons, laquelle est la moins similaire aux deux autres), et ensuite à partir de ça de calculer une "matrice de distance" qui serait utilisée à chaque calcul de distance. Dans mes souvenirs ça s'appelle la distance de Mahalanobis, et c'est plus simple qu'il n'y paraît - si ça intéresse des gens, j'ai du code qui traîne en python qui permet d'automatiser tout ça :)
    Plus simple, on pourrait aussi choisir un ou plusieurs axes, et calculer une distance euclidienne sur ces axes seulement (par exemple, seulement sur le score de tempo et de fréquence, etc). Ou bien accorder des poids à chaque axe selon l'humeur (ça reviendrait un peu à la distance de Mahalanobis, mais en plus simple et plus manuel)

    D'ailleurs, si des gens ont du feedback sur l'usabilité, je suis très preneur. blissify est ce que je conseillerai pour tester le machin, mais tout le monde n'a pas une installation MPD. Peut-être que perfectionner les bindings python aiderait ? Pareil, j'ai essayé de mettre toutes les distances dans un seul module pour faciliter l'ajout de métriques « pour tester », mais ça reste peut-être pas mal de boulot pour quelqu'un qui ne connaît pas la codebase.

    En tout cas ça fait plaisir que des gens tombent dessus !

    • [^] # Re: Quelques remarques sur bliss

      Posté par  . Évalué à 7.

      Salut !

      Très content d’échanger avec toi ! Je n’ai même pas pensé à me renseigner un peu sur l’auteur de bliss, ni même de chercher s’il y avait un article dessus sur linuxfr, mais en fait si, tu en avais fait un : sortie de la bibliothèque d’analyse musicale Bliss 1.0 (2016).
      En plus je l’avais lu à l’époque :)

      En le parcourant je découvre également d’autres outils qui semble relativement maintenu :

      Ils me semblent malgré tout être moins clé en main que bliss pour mon usage. Mes connaissances dans le sujet sont quasiment inexistantes, donc je cherche les raccourcis.

      Donc pour le moment, j’utilise bliss via le binding python, les performances sont excellentes, j’ai pu l’exécuter sur des dizaines de milliers de titres en moins d’une heure, malgré la non-parallélisation de mon programme pour y stocker les résultats dans une base de données sqlite comme blissify. Je n’utilise pas blissify parce que le dernier commit daté de 2017 et que je me suis dit que j’aurais probablement besoin d’ajouter des informations en bdd, cela serait mieux que je ne délègue pas cette partie.

      J’aurais bien voulu que Song.analysis retourne un dictionnaire plutôt qu’un tableau pour savoir qu’est-ce qui correspond à quoi directement. (au passage, le lien vers bliss-rs dans la description du paquet pypi est cassé https://pypi.org/project/bliss-audio/ )

      Les métriques renvoyées par bliss semblent en tout cas dans les extrêmes plutôt bien faire le travail pour permettre de créer une playlist où les titres s’enchainent de façon agréable, mais je n’ai pas encore davantage exploité le sujet. Certaines valeurs proches ne m’ont pas donné pleine satisfaction, les titres avaient en effet quelque chose de similaire, mais "humainement" je ne les aurais pas mis si proche que ça, je n’ai plus d’exemple en tête en revanche.

      Bliss reste le meilleur outil que j’ai trouvé, il remplit parfaitement son rôle et sans blabla en fournissant de façon claire et quantifiable des éléments de comparaison pour des titres. Un énorme merci à toi, sans ton travail je n’aurais pas cherché plus loin ! Merci !

      Au final, je me retrouve avec différents indicateurs pour chaque musique :
      - artiste
      - genre / sous-genre
      - année
      - nombre d’écoute mondiale (via les plateformes de streaming) (popularité générale)
      - occurrences (via les playlists des plateformes de streaming) (popularité spécifique)
      - nombre d’écoutes personnelle (via mdp/airsonic) (popularité personnelle)
      - note personnelle (via mpd/airsonic) (popularité personnelle)
      - métriques de bliss

      L’objectif étant de constituer une playlist, j’envisage de créer une petite IHM web (désolé pour les anti tout-web, mais le web reste la plateforme universelle pc/téléphone, et je pleure la mort de Firefox OS) connectable à une instance airsonic-advanced pour y générer des playlists à partir de :
      - un ensemble de titre
      - un ensemble de genre / sous-genre
      - intervalle d’année
      - un intervalle de distance (je veux des musiques très similaires, ou j’accepte quelques musiques un peu plus lointaines pour découvrir, ou au contraire que des titres assez lointains pour me faire voyager)
      - un intervalle d’habitude (je veux mes musiques préférées, ou contraire je suis fatigué de celles-ci)

      avec un système de mixage pour y gérer les poids associés aux différents critères.

      On lui donne un nom, ça mouline avec la base de données et ça crée la playlist directement dans le serveur musical !

      Les serveurs de streaming n’ont qu’à bien se tenir !

      • [^] # Re: Quelques remarques sur bliss

        Posté par  . Évalué à 3.

        L’objectif étant de constituer une playlist, j’envisage de créer une petite IHM web (désolé pour les anti tout-web, mais le web reste la plateforme universelle pc/téléphone, et je pleure la mort de Firefox OS) connectable à une instance airsonic-advanced pour y générer des playlists à partir de :
        - un ensemble de titre
        - un ensemble de genre / sous-genre
        - intervalle d’année
        - un intervalle de distance (je veux des musiques très similaires, ou j’accepte quelques musiques un peu plus lointaines pour découvrir, ou au contraire que des titres assez lointains pour me faire voyager)
        - un intervalle d’habitude (je veux mes musiques préférées, ou contraire je suis fatigué de celles-ci)

        avec un système de mixage pour y gérer les poids associés aux différents critères.

        On lui donne un nom, ça mouline avec la base de données et ça crée la playlist directement dans le serveur musical !

        C'est très clairement mon rêve - bliss est vraiment destiné à être un engrenage de plus dans un plus grand système de streaming / lecteur audio, donc quelque chose comme ça serait vraiment magnifique :D

      • [^] # Re: Quelques remarques sur bliss

        Posté par  (site web personnel, Mastodon) . Évalué à 2.

        Ça me rappelle le lecteur Amarok …sauf que c’est pour des fichiers locaux.

        “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • # music != algorythm

    Posté par  . Évalué à 2.

    Et maintenant ? Comment je fais le tri dans mes milliers de titres ?

    A l'oreille ;-)

    "Si tous les cons volaient, il ferait nuit" F. Dard

Suivre le flux des commentaires

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