# Qu’est-ce que Jukebox d’OpenAI, et comment une IA peut-elle chanter?

Date: 2020-05-01 · Author: Robert Scales · https://guidetoartificialintelligence.com/fr/apprendre/qu-est-ce-que-jukebox-openai/

**Answer:** Jukebox est un réseau de neurones qu’OpenAI a publié le 30 avril 2020 et qui crée des chansons sous forme d’audio brut, y compris un chant approximatif mais reconnaissable, dans le style d’un genre et d’un artiste choisis, avec des paroles que vous fournissez. Il compresse le son en un code court, génère un nouveau code avec des modèles Transformer, puis retransforme ce code en audio.

Hier, le 30 avril 2020, OpenAI a présenté **Jukebox**, un réseau de neurones qui crée de la musique à partir de rien. Vous lui donnez un genre, un artiste et des paroles, et il produit une nouvelle chanson sous forme de vrai son, pas de partition, avec une voix qui essaie de chanter vos mots à la manière de cet artiste.

OpenAI publie les poids du modèle et le code, un article de recherche et un site Web où n’importe qui peut écouter des milliers de chansons générées qui n’ont pas été triées sur le volet. Les résultats sont étranges, parfois beaux, et souvent clairement fabriqués par une machine.

## Qu’a publié OpenAI?

Jukebox vient d’une équipe de six chercheurs d’OpenAI, avec en tête de l’article Prafulla Dhariwal et Heewoo Jun, aux côtés d’Alec Radford, de Jong Wook Kim, de Christine McLeavey Payne et d’Ilya Sutskever. Il fait suite à MuseNet, qu’OpenAI a présenté l’an dernier. MuseNet composait en **MIDI**, un format numérique qui enregistre quelles notes jouer et à quel moment, un peu comme le rouleau d’un piano mécanique. Jukebox travaille directement avec de l’**audio brut**, l’onde sonore elle-même.

Cette différence compte. Les systèmes fondés sur les notes peuvent produire des pièces pour piano impressionnantes ou des chorals dans le style de Bach, mais ils ne peuvent pas rendre une voix humaine, le grain d’une guitare ou le feeling d’une interprétation. L’audio brut le peut, mais il est énorme. OpenAI souligne qu’une chanson de quatre minutes en qualité CD contient plus de 10 millions de valeurs distinctes. Un modèle doit maintenir la mélodie et la structure d’une chanson à travers toutes ces valeurs.

La publication comprend trois choses : l’article, mis en ligne sur arXiv hier; le code et les modèles entraînés; et un explorateur d’échantillons. Le blogueur Andy Baio y a compté plus de 7 100 chansons.

## Comment Jukebox transforme-t-il des paroles en chanson?

L’astuce consiste d’abord à réduire le problème. Jukebox utilise une sorte d’**autoencodeur**, un réseau qui apprend à compresser des données, puis à les reconstruire. Sa version s’appelle un **VQ-VAE** (autoencodeur variationnel à quantification vectorielle). Il transforme chaque courte tranche de son en l’un de 2 048 codes possibles, un peu comme on transformerait une photo en mosaïque faite d’un ensemble fixe de tuiles.

Voici le chemin qui mène du son brut à une nouvelle chanson, avec les chiffres que donne OpenAI :

| Étape | Ce qui se passe | Débit |
|---|---|---|
| 1. Partir de l’audio brut | L’onde sonore, mesurée en valeurs d’amplitude | 44 100 valeurs par seconde |
| 2. Compresser | Des réseaux convolutifs transforment l’audio en codes; le niveau le plus compressé est 128 fois plus petit | Environ 344 codes par seconde |
| 3. Générer | Un Transformer, guidé par l’artiste, le genre et les paroles, écrit de nouveaux codes l’un après l’autre | Environ 344 codes par seconde |
| 4. Ajouter du détail | Deux autres Transformers ajoutent des codes plus fins aux niveaux moins compressés | On remonte vers le plein détail |
| 5. Décoder | Le décodeur retransforme les codes les plus fins en son | 44 100 valeurs par seconde |

Un **Transformer** est l’architecture de réseau derrière GPT-2 : il prédit l’élément suivant d’une séquence en portant attention à ce qui précède. Ici, au lieu de prédire le mot suivant, il prédit le prochain morceau de musique compressée. Le niveau supérieur capte la vue d’ensemble, la mélodie et le chant, tandis que les niveaux inférieurs ajoutent de la texture, comme le timbre, la qualité qui fait qu’un piano ne sonne pas comme un violon.

Le modèle a appris à partir de 1,2 million de chansons recueillies sur le Web, dont environ 600 000 en anglais, chacune accompagnée de ses paroles et de détails comme l’artiste, le genre et l’année, tirés de LyricWiki. Les paroles n’étaient pas synchronisées avec la musique, ce qui rendait l’appariement difficile. Une approche simple, qui répartissait les mots également sur toute la chanson, a étonnamment bien fonctionné, mais elle échouait dans les genres rapides comme le hip-hop. Pour ceux-là, l’équipe a isolé les voix avec un outil appelé Spleeter et a aligné chaque mot à l’aide d’un outil d’alignement des paroles appelé NUS AutoLyricsAlign.

Un point passe facilement inaperçu : Jukebox n’écrit pas de paroles. Comme le note Baio, il chante seulement les mots qu’on lui donne. Sans paroles, il produit des sons qui ressemblent au chanteur, mais qui ne sont pas des mots. Les paroles des exemples mis en vedette par OpenAI ont été écrites par GPT-2, puis fournies en entrée.

> **À essayer :** ouvrez l’explorateur d’échantillons de Jukebox, choisissez un artiste que vous connaissez bien et écoutez deux échantillons : un avec des paroles fournies et un sans. Notez trois choses qui sonnent juste (la voix, le rythme, les instruments) et trois qui sonnent faux. Puis cherchez un refrain qui revient. Vous n’en trouverez probablement pas.

## Que ne peut-il pas encore faire?

OpenAI est franc sur l’écart entre Jukebox et la musique humaine :

- **Pas de grande structure.** Les chansons se tiennent d’un instant à l’autre, suivent des enchaînements d’accords habituels et peuvent contenir des solos impressionnants, mais vous n’entendrez pas de refrain qui se répète.
- **Du bruit.** La compression et la reconstruction du son ajoutent un souffle et un flou audibles.
- **La lenteur.** Produire une minute d’audio prend environ neuf heures; on ne peut donc pas l’utiliser en direct.
- **Un entraînement étroit.** Les données sont surtout de la musique occidentale avec des paroles en anglais.

L’équipe a aussi fait essayer Jukebox à dix musiciens de genres différents. Ils l’ont trouvé intéressant, mais pas immédiatement utile pour leur propre travail de création, compte tenu de ces limites.

## Pourquoi est-ce important?

Jukebox est un grand pas pour les **modèles génératifs**, des systèmes qui créent de nouvelles données dans le style de ce qu’ils ont appris. Les générateurs de texte comme GPT-2 traitent des séquences d’environ un millier de mots. Jukebox doit gérer des séquences bien plus longues tout en gardant un air. Sa combinaison de compression et de Transformers empilés montre une façon de traiter des données très longues.

Il soulève aussi des questions qui n’ont pas de réponse établie. Si un modèle peut chanter de nouvelles chansons avec la voix d’un artiste célèbre, à qui appartiennent-elles? Christine McLeavey Payne, l’une des chercheuses, a écrit sur Twitter que l’équipe considère la recherche comme un usage équitable (*fair use*), ne revendique pas de droit d’auteur sur les échantillons et a écrit à l’office américain des brevets et des marques (U.S. Patent and Trademark Office) à ce sujet. OpenAI dit aussi faire de la recherche sur les biais et les droits de propriété intellectuelle. Baio souligne que le droit en matière d’imitation de la voix a encore été très peu mis à l’épreuve.

## Pouvez-vous créer vos propres chansons avec Jukebox?

Oui, si vous avez de la patience et du matériel sérieux. Le code et les modèles entraînés sont publics sur la page GitHub d’OpenAI, accessible depuis l’annonce. Selon Baio, OpenAI évalue le coût à environ trois heures de calcul par tranche de 20 secondes de son sur une NVIDIA Tesla V100, une carte graphique professionnelle qui coûte autour de 10 000 $ US. Cela concorde avec l’estimation d’OpenAI d’environ neuf heures par minute.

Pour la plupart des gens, la voie la plus facile est Google Colab, un service en ligne gratuit qui exécute du code sur des ordinateurs dans le nuage. Il peut produire de courts échantillons de moindre qualité, même si les limites de durée d’exécution et de mémoire rendent les longues chansons difficiles. En pratique, vous choisissez un artiste et un genre, ajoutez vos propres paroles, et vous attendez.

Si vous préférez simplement écouter, l’explorateur d’échantillons est le meilleur point de départ. Ses « continuations » sont particulièrement révélatrices : on donne au modèle les vraies paroles et les 12 premières secondes d’une chanson connue, et on lui demande de poursuivre, ce qui montre à la fois à quel point il imite bien un style et à quelle vitesse il peut dériver. OpenAI fait aussi des essais avec des fichiers MIDI comme guide, ce qui pourrait donner aux musiciens un contrôle plus fin.

## Sources

- Jukebox: https://openai.com/blog/jukebox/
- Jukebox: A Generative Model for Music: https://arxiv.org/abs/2005.00341
- OpenAI's Jukebox Opens the Pandora's Box of AI-Generated Music: https://waxy.org/2020/04/openais-jukebox-opens-the-pandoras-box-of-ai-generated-music/
