Les applications de la Data à la musique
Sélectionnez un chapitre
Génération automatique de paroles de musique, détection du style d’un son grâce aux techniques de traitement du signal, prédiction du succès d’une musique grâce à ses caractéristiques, ce ne sont que quelques-uns des nombreux cas d’applications de la Data à la musique. Parce que la Data s’applique à TOUS les secteurs d’activités sans exception, nous retrouvons dans la communauté d’élèves de Jedha de nombreux mélomanes. Découvrez ici certains de ces projets Data & Musique !
Créer un générateur de musique grâce à la Data
Vincent Gargasson - Programme Fullstack #3
L'ordinateur est-il légitime pour remplacer l’homme dans sa démarche de création musicale ? Nous savons que comme pour tout projet Data, l’ordinateur n’a jamais volonté de prendre la place, mais bien de l’aider à la décision, et ici au processus de création musicale. C’est la question que Vincent soulève dans ce projet.
L’objectif de son projet sera ainsi de concevoir une mélodie cohérente à partir d'un son originel pour l’intégrer dans une musique. Pour se faire, il utilisera la librairie Magenta développée par Google. Le modèle utilisé : Melody_RNN. Celui-ci permet de prédire une note à partir des précédentes en ayant la mélodie globale. Le modèle comprendra qu’une note a déjà été jouée, et la jouera à son tour.
En utilisant un Dataset de 1000 chansons de styles différents, Vincent nous explique les 4 étapes de son projet de génération de musique :
- Pré-processing : préparation des fichiers MIDI (format de fichier spécifique pour qu’il soit pris en compte par le modèle)
- Entraînement du modèle
- Génération de la musique
- Customisation de la musique : intégrer la mélodie créée dans une musique !
Vincent nous explique dans cette vidéo les 4 étapes de son projet et nous fait écouter ses résultats !
Prédire le succès d’une chanson sur Spotify !
Gabriel Ropers - Programme Essentials Promotion #10
C'est une chose dont nous voudrions tous nous vanter : découvrir une chanson inconnue et prédire auprès de son entourage le succès incroyable qui l’attend. Et bien, avec la Data Science, vous aurez des preuves à l’appui ! Pour se faire, Gabriel a utilisé un Dataset de non moins de 116 000 chansons, peuplé de 17 de leurs caractéristiques (durée, intensité sonore, tempo, style etc).
En commençant par le nettoyage du Dataset, Gabriel a pu par exemple retirer les variables de nom de la chanson, ou encore son ID qui ne sont pas révélatrices de son succès.
Etant donné que Gabriel tente de prédire si une chanson sera un hit ou non, il utilisera un modèle de régression logistique, permettant de prédire la catégorie dans laquelle se situe une chanson (1 = succès ou 0 = non).
Nous retirons plusieurs choses de l’article que Gabriel a réalisé de son projet :
- Avoir le plus de caractéristiques (features) possibles sur sa donnée (en l’occurence les chansons) permet de renforcer son modèle et ses prédictions.
- Partir d’un Dataset équilibré : dans le jeu de données de Gabriel, seules 1.5 % des chansons n'étaient pas des hits : avec un échantillon de musique 'non-hit' si réduit, difficile pour le modèle de savoir quelles sont les caractéristiques qui influe réellement sur le succès d'une chanson. Le modèle n’a donc prédit que très très peu de hits car il n’avait pas de réelle donnée sur lesquelles se baser.
Générateur automatique de paroles de rap
Philéas, Volodia, Raphaël - Promotion Fullstack #7
En se basant sur différents artistes, l'objectif de ce projet est ici de générer des paroles de rap et de créer des featuring entre 2 artistes dont les styles n’ont rien à voir : Kaaris feat. Vianney, ou encore Orelsan feat. Aznavour. Les étapes de la réalisation de ce projet ?
- Collection de la donnée : Scraping (extraction de données d’un site internet) des données regroupant l’ensemble des paroles de différents textes de rap.
- Nettoyage : identification ce qu’est un couplet, ce qu’est un refrain ( afin de pouvoir d'autant mieux les générer par la suite ), élimination des phrases ou des mots se répétant (chose communes dans les textes de rap)
- Modélisation Deep Learning : le trio a pu tester 3 modèles avec plusieurs contraintes.
- D’abord un modèle statistique qui va utiliser des groupes de mots (n-gram) permettant de sortir des probabilités pour chaque prédiction et d’affiner un texte cohérent.
- Deep Learning (classifier LSTM) : va créer de nouveaux mots en considérant que le mot suivant de la phrase est une classe. Le but de ce modèle est ainsi de produire un mot à partir des mots précédents.
- GAN, 2 modèles qui s'affrontent : à partir de données aléatoires, nous allons générer de faux textes qui vont être donnés à un modèle, le discriminateur. En lui donnant également de bons textes et en discriminants les faux, le modèle va pouvoir générer des phrases cohérentes.
Philéas, Volodia et Raphaël nous expliquent ensuite les résultats de chacun des modèles, voyez donc la vidéo de leur présentation ci-dessous.
Une bon retour de leur projet : avoir des puissances de calcul importantes pour faire marcher des modèles complexes !
Transformer des textes en paroles de rap
Abou & Aimée - Promotion Fullstack #13
Abou & Aimée ont choisi de travailler sur une réelle problématique, celle de l'EdTech Onzic dont Abou est le fondateur : Onzic transforme les cours de révisions du bac en rap pour permettre aux lycéens d’apprendre plus facilement, avec une plate-forme de streaming dédiée à l’éducation.
Le but de ce projet IA ? Automatiser le processus de création des paroles pour produire plus de contenu et plus vite. Les étapes par lesquelles ils sont passées :
- Préprocessing : nettoyage du texte (enlevé les chiffres, les ponctuations), construction d'un corpus (liaison de tous les textes ensemble), tokénisation du texte (les séparer en mots), puis encoding du texte afin de le rendre compréhensible pour un ordinateur (grâce à des vakleurs numériques)
- Modèle de Deep Learning : ici, à chaque mot va être assigné une probabilité. En fonction du prochain mot à prédire et de chacun des mots précédents dans la phrase, le modèle va pouvoir prédire le mot suivant. L’idée derrière cela, est que le modèle prenne en compte l’entièreté des mots d'une phrase afin que celle-ci ait un réel sens pour nous.
- Place maintenant à la démo ! Dans un tel processus de création, nous imaginons bien que ce projet présente de belles pistes de développement, découvrez-les en cliquant sur la vidéo ci- dessous !
Détecter automatiquement l'émotion d'une musique en se basant sur son signal audio
Rhita & Stéphane - Promotion Fullstack #17
On sait maintenant l’impact que la musique peut avoir sur nos humeurs. C’est justement sur ce dernier élément que Rhita & Stéphane ont travaillé, dans le but de détecter automatiquement le ‘mood’, l’émotion d’une musique.
Pourquoi un tel projet ? Faire des recommandations aux utilisateurs de plateforme de streaming musical qui souhaitent ressentir à telle ou telle émotion à l'écoute. Les étapes du projet que Rhita et Stéphane ont mené :
- Collecte de la donnée : cela a été un véritable challenge pour notre binôme, mais ils ont pu trouver un Dataset de musiques peuplé, et labellisé avec 217 émotions, dont les sons restent libres de droit.
- Pre-processing : conversion des formats de fichiers musicaux. Autre challenge ici ! Avoir des fichiers de même longueur audio, et avoir une quantité suffisante de données permettant la bonne modélisation en Deep Learning. Car finalement : comment faire comprendre un signal audio à un ordinateur ? Comme à chaque fois, le convertir en donnée numérique.
- Notre binôme a donc converti chaque signal de musique en Mel Spectrogram, une représentation 2D donnant les fréquences (haute ou basse) du signal audio.
- Modélisation en Deep Learning : ils ont pour se faire utilisé le réseau de neurones VGG16 entrainé à traiter des images de la vie quotidienne. Pour adapter ce modèle à leur projet, Rhita et Stéphane lui ont fourni les images 2D de Mel Spectrogram. Après une étape de fine tuning permettant d’adapter les dernières couches du réseau de neurones à ce contexte de reconnaissance de 'mood', le binôme a pu obtenir ses prédictions, avec une bonne accuracy (précision) de 64%.
En utilisant un modèle spécialisé pour les signaux audios (sans passer par les Mel Spectrograms) YAMNET, Rhita et Stéphane ont même pu obtenir 69% d’accuracy !
Place maintenant à la Demo. Pour aller plus loin et mieux détecter le mood d’une musique, le binôme a imaginé de traiter les paroles de la musique et de les lier au signal audio ! De belles perspectives pour Rhita et Stéphane qui ont remporté les prix du jury et du public lors de ce Demoday.
Vous aurez maintenant compris que les cas d'applications de l'IA à la musique sont aussi vastes que dans tout autre domaine d'activité ! Si vous êtes intéressé à l'idée de vous former à ces compétences, ou que vous souhaitez également réaliser un projet Data & Musique, n'hésitez pas à regarder nos formations en Data Science.