IA générativeIA générative
IA générative6 min de lecture

L’inpainting de la parole avec l’IA !

Il suffit donc d’entraîner ce modèle une fois sur un dataset général, puis de l’utiliser avec vos propres pistes audio, puisqu’il devrait idéalement pouvoir se généraliser.

Mis à jour le 28 févr. 2022
L’inpainting de la parole avec l’IA !
Sommaire

Nous avons vu l’inpainting d’images, qui vise à retirer un objet indésirable d’une image. Les techniques fondées sur l’apprentissage automatique ne se contentent pas de retirer les objets. Elles comprennent aussi l’image et remplissent ses parties manquantes en recréant l’arrière-plan qui devrait s’y trouver.

Exemple visuel de l’article « L’inpainting de la parole avec l’IA ! »

Exemple d’inpainting d’image avec LaMa.

Comme nous l’avons vu, les progrès récents et leurs résultats sont incroyables. Cette tâche d’inpainting peut servir à de nombreuses applications, comme la publicité ou l’amélioration de votre prochaine publication Instagram. Nous avons aussi présenté une tâche encore plus difficile : l’inpainting vidéo, qui applique le même processus à des vidéos afin de retirer des objets ou des personnes.

Exemple visuel de l’article « L’inpainting de la parole avec l’IA ! »

Exemple d’inpainting d’image avec STTN.

Le défi des vidéos consiste à conserver une cohérence d’une trame à l’autre sans créer d’artéfacts étranges. Mais que se passe-t-il si nous retirons correctement une personne d’un film et que sa voix demeure là, inchangée ? Nous risquons d’entendre un fantôme et de ruiner tout notre travail.

C’est ici qu’intervient une tâche dont je n’avais jamais parlé sur ma chaîne : l’inpainting de la parole. Vous avez bien entendu. Des chercheurs de Google viennent de publier un article scientifique sur l’inpainting de la parole et, comme nous le verrons, les résultats sont très impressionnants. Bon, nous devrions plutôt écouter les résultats que les regarder, mais vous comprenez. Le modèle peut corriger votre grammaire et votre prononciation, ou même retirer le bruit de fond. Ce sont toutes des choses sur lesquelles je dois certainement continuer à travailler, ou… simplement confier au nouveau modèle… Écoutez les exemples sur le site Web du projet !

Passons à la partie la plus intéressante de cet article : la façon dont ces trois chercheurs de Google ont créé SpeechPainter, leur modèle d’inpainting de la parole. Pour comprendre leur approche, nous devons d’abord définir l’objectif de cette tâche.

Exemple visuel de l’article « L’inpainting de la parole avec l’IA ! »

Modèle SpeechPainter fondé sur Perceiver IO. Image tirée de l’article scientifique.

Nous voulons ici prendre un extrait audio et sa transcription, puis remplir une petite section de cet extrait. Le texte que vous voyez en bas à gauche est la transcription de la piste audio. La partie gris pâle a été retirée de l’extrait audio, puis remplie par le réseau.

Le modèle ne se contente pas de faire l’inpainting de la parole. Il le fait à partir d’une ligne de texte tout en préservant l’identité du locuteur et l’environnement d’enregistrement. N’est-ce pas génial ?! Encore une fois, prenez une seconde pour écouter les exemples sur le site du projet des auteurs* !*

Maintenant que nous savons ce que le modèle peut faire, comment y arrive-t-il ? Comme vous vous en doutez, le processus ressemble beaucoup à l’inpainting d’images, où nous remplaçons les pixels manquants. Nous remplaçons plutôt des données manquantes dans une piste audio en suivant une transcription précise. Le modèle sait donc quoi dire. Son objectif est de remplir le vide de la piste audio en respectant le texte et en imitant la voix de la personne ainsi que l’atmosphère générale de la piste, afin que le résultat semble réel.

Exemple visuel de l’article « L’inpainting de la parole avec l’IA ! »

Modèle SpeechPainter fondé sur Perceiver IO. Image tirée de l’article scientifique.

Comme l’inpainting d’images et celui de la parole sont des tâches semblables, ils utilisent des architectures semblables. Les chercheurs ont choisi un modèle appelé Perceiver IO, illustré ci-dessus. Il accomplit le même travail que pour une image. Nous encodons l’image, en extrayons l’information la plus utile, y apportons des modifications, puis la décodons afin de reconstruire une autre image qui correspond au résultat désiré. Dans l’exemple de l’inpainting, la nouvelle image est simplement la même image avec quelques pixels modifiés.

Exemple visuel de l’article « L’inpainting de la parole avec l’IA ! »

Dans ce cas-ci, l’architecture Perceiver IO ne travaille pas avec les pixels d’une image, mais elle peut traiter à peu près n’importe quel type de données, y compris les spectrogrammes mel. Il s’agit essentiellement d’empreintes vocales qui représentent notre piste audio au moyen de fréquences. Le spectrogramme et la transcription sont alors encodés, modifiés et décodés afin de remplacer le vide dans le spectrogramme par ce qui devrait y apparaître. Comme vous pouvez le voir ci-dessus, le processus revient à générer une image. Nous utilisons la même méthode que pour l’inpainting d’images, mais les données en input et en output sont des spectrogrammes, donc essentiellement des images de la piste sonore.

Si vous souhaitez en apprendre davantage sur l’architecture Perceiver IO, je vous recommande fortement de regarder la vidéo de Yannic Kilcher à son sujet.

Les chercheurs ont entraîné leur modèle sur un dataset de parole. Ils créaient des vides aléatoires dans les pistes audio, puis tentaient de les remplir. Ils ont ensuite utilisé une approche fondée sur les GANs pendant l’entraînement afin d’améliorer davantage le réalisme des résultats.

Exemple visuel de l’article « L’inpainting de la parole avec l’IA ! »

Le générateur et le discriminateur expliqués clairement. Image tirée de Packt; Principles of GANs.

Rapidement, un GAN contient le modèle que nous venons de voir, appelé générateur, ainsi qu’un autre modèle appelé discriminateur. Le générateur apprend à créer les nouvelles données, dans notre cas la piste audio remplie. En parallèle, le discriminateur reçoit des exemples du dataset d’entraînement et des exemples générés, puis tente de deviner si chaque extrait a été généré, donc s’il est faux, ou s’il est réel et provient du dataset d’entraînement. Idéalement, nous voulons que notre discriminateur ait raison la moitié du temps et choisisse essentiellement au hasard. Cela signifie que les extraits générés sonnent exactement comme de vrais extraits. Le discriminateur pénalise ensuite le générateur afin de l’aider à produire un son plus réaliste.

Et voilà ! Nous obtenons un modèle qui peut recevoir un extrait de parole et sa transcription afin de corriger votre grammaire ou votre prononciation, ou même de remplir des vides en respectant votre voix et l’atmosphère de la piste. C’est vraiment génial.

Il suffit donc d’entraîner ce modèle une fois sur un dataset général, puis de l’utiliser avec vos propres pistes audio. Idéalement, il devrait pouvoir se généraliser et fonctionner assez bien ! Bien sûr, il existe quelques cas d’échec, mais les résultats sont impressionnants. Vous pouvez écouter davantage d’exemples sur la page du projet liée ci-dessous.

Merci de m’avoir lu.

Lors de sa publication, cet article accompagnait l’inscription gratuite à GTC22 : https://nvda.ws/3upUQkF


Si vous aimez mon travail et souhaitez rester au courant de l’IA, suivez-moi sur mes autres réseaux sociaux (LinkedIn, Twitter) et abonnez-vous à mon infolettre hebdomadaire sur l’IA !

Pour me soutenir :

  • Suivez-moi ici ou sur Medium.
  • Vous souhaitez vous lancer en IA ou améliorer vos compétences ? Lisez ceci !

Références

Discussion

Commentaires

Chargement

Aucun compte requis. Votre nom et votre commentaire seront publics, alors n'incluez pas de renseignements privés. Consultez la page de confidentialité pour les détails.

Continuez à apprendre

Vous voulez le côté pratique de l'IA, sans le brouillard marketing ?

Je partage ce qui est utile sur YouTube, Substack et dans mes guides d'ingénierie IA.

FAQ

Qu’est-ce que l’inpainting de la parole ?

Il reconstruit un segment de parole manquant ou endommagé à l’aide de l’audio et du contexte qui entourent le vide.

En quoi l’inpainting de la parole ressemble-t-il à l’inpainting d’images ?

Les deux encodent l’information environnante, déduisent ce qui pourrait se trouver dans une région manquante et décodent un résultat réparé.

Un seul modèle entraîné peut-il traiter de nouvelles pistes audio ?

L’objectif est d’apprendre à partir d’un vaste dataset et de se généraliser sans réentraîner le modèle pour chaque enregistrement.

Pourquoi est-il difficile de reconstruire la parole manquante ?

Le système doit préserver l’identité du locuteur, le rythme, le ton, l’acoustique de fond et la continuité linguistique.

L’inpainting retrouve-t-il exactement les mots originaux ?

Non. Il génère une complétion plausible. Le contenu reconstruit ne doit donc pas être considéré comme un enregistrement authentique.