Saviez-vous qu’il existait un générateur de paroles de musique utilisant des réseaux de neurones récurrents ?
On a déjà vu dans un précédent article que l’intelligence artificielle se rendait au service des artistes pour les aider à chanter juste, à composer des mélodies instrumentales ou pour mixer et traiter des fichiers audio en post-production. Cependant, notre ordinateur peut également se revendiquer artiste à part entière puisqu’il est également capable de générer des paroles de musiques, adaptées aux styles de musiques et à l’humeur que l’on cherche à créer.
Certains outils, tels que ‘These Lyrics Do Not Exist’ permettent de générer aléatoirement un refrain, deux couplets et deux ponts pour 6 genres musicaux et 5 humeurs prédéfinies. Il vous suffit juste de préciser un thème avec un mot, une phrase ou un emoji, et l’outil fait tout le travail à votre place.
Comment ça fonctionne ?
La génération de paroles de musique se base sur des algorithmes utilisant des réseaux de neurones récurrents (RNN). Ces réseaux neurones sont très utilisés pour les problématiques de génération de texte, notamment pour prédire des caractères ou des mots suivant respectivement les lettres et mots précédents.
Comme leur nom l’indique, les RNN constituent une classe particulière de réseaux neuronaux utilisés pour traiter des données séquentielles. Dans les réseaux neuronaux classiques (comme les CNN), les sorties générées par deux entrées différentes sont totalement indépendantes. Cependant, lors de l’analyse de données textuelles (ou d’une série temporelle), il existe souvent une corrélation très forte entre l’entrée et la sortie. Pour traiter de telles données, il faut que le réseau garde la trace de toutes les données précédentes (ou au moins des dernières données) qu’il a vues. Ceci est réalisé par ce que l’on appelle « l’état caché » du réseau.
Dans la représentation ci-dessus, s est l’état caché du réseau, x est l’entrée, o la sortie et W représente les poids de l’état caché. U et V sont également des paramètres pour les couches d’entrée et de sortie (correspondant à certaines transformations sur l’entrée et la sortie, par exemple).
L’étape de dépliage rend l’aspect récurrent du réseau très clair : à chaque étape, les paramètres et les poids restent les mêmes, sauf que nous changeons l’entrée à chaque fois. L’étape de dépliage peut être effectuée après un certain nombre de pas de temps t. Par exemple, si nous voulons prédire la ponctuation appropriée après une phrase, le nombre de pas de temps peut être le nombre de caractères dans la phrase ou le nombre de mots dans la phrase.
Habituellement, l’état caché ou, plus précisément, la couche d’état caché est choisie de manière à ce que son fonctionnement dépende également des données vues précédemment. De nombreuses couches de ce type sont utilisées, mais les LSTM (Long Short-Term Memory) et les GRU (Gated Recurrent Units) sont les plus courantes.
Comment choisir ses données ?
Outre le calibrage du modèle RNN, le plus important pour pouvoir générer des paroles selon le genre et l’humeur recherchés réside dans la constitution de la base de données d’entraînement, qui doit être la plus appropriée possible au style de musique que l’on veut produire. Il est possible de scraper des paroles en utilisant l’API de Genius.com (et en suivant notre méthodologie de Webscraping), qui comporte une très grande partie des paroles de musiques dans le monde, et dans de très nombreuses langues. Il faudra également faire un gros travail de prétraitement des données avant d’entraîner son modèle : enlever tout le contenu non lyrical, unifier les typos faisant référence au même mot ou supprimer des éléments périphériques au texte impertinents.
Les applications du Deep Learning dans la musique vous intéressent ? Retrouvez le projet de nos apprenants dans ce replay de nos DataDays #2
Pour devenir le prochain ‘Data Artist’, ou tout simplement pour en savoir plus sur le deep learning et le traitement des données, contactez un membre de notre équipe pour en savoir plus sur notre contenu de formation !