19 July 2023

13 mins de lecture

LES UNITÉS VOCALES SOFT POUR AMÉLIORER LA CONVERSION DE LA VOIX

Les systèmes de conversion de la voix convertissent l'énoncé vocal d'une personne à la voix d'une autre personne. C'est comme si l'on demandait à un modèle de répéter une phrase enregistrée, mais en utilisant la voix de quelqu'un d'autre. C'est une technologie qui suscite beaucoup l'attention de l'industrie du divertissement, car elle révèle des occasions fort intéressantes. Quelques exemples: Elle peut permettre une espèce de résurrection d'un personnage bienaimé lorsque l'interprète d'origine n'est plus disponible (p. ex. le jeune Luke Skywalker dans The Mandalorian [1]). Elle permet d'attribuer à un personnage la même voix dans toutes les langues. Elle rend possible la génération de contenu par les enthousiastes de jeux vidéo en leur permettant de convertir leur enregistrement d'une réplique à la voix du personnage.

[LA FORGE] Voice Conversion Blog - Voice conversion system - img

Figure 1: La conversion de la voix change la voix rattachée à un énoncé verbal sans toutefois changer ses contenus textuels et prosodiques.

Voici quelques exemples de voix converties par notre système de conversion de la voix:
https://ubisoft-laforge.github.io/speech/soft-vc/

Un système de conversion de la voix doit encoder le contenu phonétique et la prosodie d'une réplique tout en écartant les renseignements sur l'identité de la personne qui parle. Par « renseignements sur l'identité », on fait référence au son de la voix de la personne. Le contenu phonétique comprend l'information sur les mots qui ont été prononcés, tandis que la prosodie évoque comment les mots ont été prononcés; on pourrait dire qu'il s'agit de la mélodie de la phrase. Une fois que l'enregistrement de la réplique d'origine est encodé, la réplique est reconstruite avec une voix différente.

Ce billet de blogue traite de la représentation de la parole dans un modèle de conversion de la voix. Plus particulièrement, nous expliquons l'intuition qui sous-tend les unités vocales dites « soft », lesquelles apportent une amélioration par rapport aux unités vocales discrètes traditionnelles. Les unités vocales soft ont été présentées dans:

B. van Niekerk, M.-A. Carbonneau, J. Zaïdi, M. Baas, H. Seuté and H. Kamper, "A Comparison of Discrete and Soft Speech Units for Improved Voice Conversion," IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2022

https://arxiv.org/abs/2111.02392

Les unités vocales

On compte plusieurs manières de représenter les informations phonétiques et prosodiques. Dans ce billet, nous nous concentrons sur les unités vocales apprises. Les unités vocales sont des symboles qui représentent de typiques structures sous-jacentes repérables dans un signal de parole au cours d'une courte période. Autrement dit, chaque court segment de parole, que l'on appelle une trame, est synthétisé en symbole à partir d'un dictionnaire prédéfini. Le dictionnaire de symboles n'est pas précisé par un humain, mais plutôt découvert à partir des données au cours d'une opération d'apprentissage.

[LA FORGE] Voice Conversion Blog - Figure 2

Figure 2: Chaque trame d’une parole est représentée par un symbole provenant d’un dictionnaire issu d’apprentissages. Ces symboles sont des unités vocales.

Voici les étapes d’apprentissage d’un dictionnaire d’unités vocales:

  1. Recueillir une grande quantité de données de la parole.

  2. Découper les données en de courtes trames, puis encoder les trames dans un espace latent par l'entremise d'un extracteur d'attributs (p. ex., MFCC, HuBERT ou CPC).

  3. Créer des clusters de données par classe de toutes les trames encodées (p. ex., k-moyennes).

Les centres des clustersde données constituent des unités vocales.

[LA FORGE] Voice Conversion Blog - Figure 3

Figure 3: Comment apprendre un dictionnaire d’unités vocales discrètes.

Le processus est semblable lors de l'encodage d'une réplique. Premièrement, on découpe la réplique en de courtes trames, dont on extrait les attributs, qu'on affecte ensuite aux centres des clustersles plus proches. Un signal audio brut est ainsi traduit en une série d'identifiants de clusters. Ce processus tend à écarter les renseignements relatifs à l'identité de la personne qui parle, tout en préservant les renseignements phonétiques et prosodiques.

Les unités vocales

Néanmoins, en affectant en dur chaque brin de parole à un cluster, certains renseignements phonétiques peuvent aussi être perdus. Il est impossible de connaître la proximité d'une trame aux clusters autres que celui auquel elle a été affectée, ce qui peut mener à une mauvaise prononciation. À titre d'exemple, considérons, en anglais, le mot fin. Les trames ambiguës de la consonne fricative /f/ pourraient être attribuées par erreur à des unités à proximité, le résultat étant la prononciation incorrecte thin.

Voilà la motivation qui nous mène à proposer une nouvelle manière d'encoder des unités vocales, une manière qui modélise l'ambiguïté de cette affectation. Nous nommons ainsi ces unités des unités vocales soft, en contraste au schéma d'affectation en dur des unités vocales que nous venons de décrire. En modélisant l'ambiguïté des affectations des unités discrètes, nous retenons plus d'information sur le contenu et, par conséquent, nous corrigeons les mauvaises prononciations telles que celle de l'exemple fin/thin. L'idée s'inspire de l'affectation non disjointe (soft assignment) issue de la vision par ordinateur, qui, il a été démontré, a amélioré le rendement des tâches de classification [2].

On pourrait être tenté d'utiliser directement les sorties de l'extracteur d'attributs sans faire de clusterd'unités vocales. Cependant, des travaux antérieurs [3, 4] et nos propres essais démontrent que ces représentations contiennent des tas d'informations sur la personne qui parle, ce qui les rend inappropriées à la conversion de la parole. Nous entraînons plutôt un classificateur qui prédit à quelle unité discrète sera affectée une trame. Intuitivement, le classificateur hésiterait entre différentes étiquettes candidates possibles lorsque l'affectation est ambiguë.

[LA FORGE] Voice Conversion Blog - Figure 4 - img

Figure 4: Comment obtenir un codeur d’unités vocales soft en entraînant un classificateur d’unités vocales discrètes.

Le codeur d'unités soft est entraîné avec supervision. Un premier ensemble de données est créé en extrayant des unités vocales discrètes (tel que décrit ci-dessus) à partir d'enregistrements vocaux. Les identifiants des unités discrètes sont les étiquettes cibles associées aux trames des paroles. Un classificateur d'unités est entraîné à prédire l'étiquette de chaque trame. Typiquement, le classificateur est un réseau neuronal simple placé sur l'extracteur d'attributs. Le classificateur d'unités produit une distribution qui couvre toutes les unités vocales discrètes. Dans ce classificateur, cette distribution se définit selon des paramètres qui deviendront les unités vocales soft qui seront utilisées.

Le processus d'entraînement s'inspirant de [5] est illustré dans les figures 4 et 5. Pour une trame de parole et son étiquette d'unité discrète, les coefficients de pondération du classificateur sont mis à jour comme suit: premièrement, l'extracteur d'attributs traite la trame de parole brute. Ensuite, une couche linéaire projette sa sortie afin de produire une unité vocale soft. L'unité soft paramètre une distribution qui couvre le dictionnaire d'unités vocales discrètes. Cette opération s'effectue en mesurant la similitude des cosinus entre l'unité soft et chaque unité discrète du dictionnaire. Les unités discrètes sont représentées par une représentation apprise. Une opération softmax s'applique sur toutes les mesures de similitude, menant à une distribution multinomiale. Ceci permet le calcul de l'entropie croisée entre la distribution des sorties et un encodage one-hot de l'étiquette de l'unité vocale discrète, une pratique fréquente dans l'entraînement d'un classificateur. Enfin, la moyenne de l'entropie croisée est minimisée, afin de mettre à jour le réseau au complet, dont l'extracteur d'attributs. Dans le système final de conversion de la voix, seul le codeur d'unité soft est retenu.

[LA FORGE] Voice Conversion Blog - Figure 5 - img

Figure 5: Le processus d’entraînement du classificateur d’unités.

Le développement du système de conversion de la voix à l'aide d'unités vocales

Ici, nous décrivons comment nous avons développé le système de conversion de la voix qui présente les meilleurs résultats à ce jour, tel que détaillé dans notre article. Après avoir obtenu les unités vocales soft à partir de données brutes d'une parole, nous produisons le fichier de parole convertie à partir de modèles typiquement utilisés dans la synthèse vocale de texte (ou text-to-speech,TTS).

[LA FORGE] Voice Conversion Blog - Figure 6 - img

Figure 6: Survol d’un système complet de conversion de la voix à partir d’unités vocales soft.

L'extraction des attributs

Nous utilisons l'extracteur d'attributs HuBERT. HuBERT est un modèle autosupervisé basé sur des transformeurs qui sert d'extracteur d'attributs de parole polyvalent. Nous avons utilisé un modèle préentraîné fourni par les auteurs originaux: HuBERT-Base 4 [5] préentraîné sur LibriSpeech-960 [6].

La découverte des unités discrètes

Pour apprendre les unités vocales discrètes, nous appliquons un partitionnement en k-moyennes aux représentations intermédiaires d'HuBERT. Nous utilisons la septième couche de transformation, car les unités acoustiques en découlant obtiennent de bons résultats dans des tests de discrimination au téléphone [3, 4, 5]. Nous découvrons 100 clusters et estimons leurs moyennes dans un sous-ensemble de 100 voix de l'ensemble de données de LibriSpeech.

Le codeur d'unités

Nous extrayons les unités vocales discrètes de tous les échantillons de parole de LibriSpeech. Ces unités vocales discrètes servent de cibles lors de l'entraînement du classificateur d'unités. Le classificateur d'unités est une simple couche linéaire ajoutée par-dessus l'extracteur d'attributs. Nous accordons avec précision le modèle au complet, y compris HuBERT sur Librispeech-960, pour prédire les unités vocales discrètes correspondantes en utilisant la procédure décrite ci-dessus.

Le modèle de type synthèse vocale

Les unités vocales soft sont entrées dans un modèle qui s'inspire largement de la synthèse vocale. Ce modèle est seulement entraîné avec la voix cible. Dans notre article, notre modèle de type synthèse vocale est décomposé en deux parties: le modèle acoustique et le vocodeur.

Pour adapter le modèle acoustique à la conversion de la voix, nous changeons les entrées à des unités vocales au lieu de graphèmes ou de phonèmes. Le modèle traduit ces unités vocales en spectrogramme. Puis, le vocodeur convertit le spectrogramme prédit en échantillons audio.

Notre modèle acoustique est fondé sur le Tacotron 2 [7] et est composé d'un codeur et d'un décodeur autorégressif. Le module d'attention du modèle Tacotron 2 n'est pas requis, puisque les unités vocales et les trames du spectrogramme sont alignées dans le temps. Pour le vocodeur, nous utilisons la forme originale d'HiFi-GAN [8], laquelle est conçue pour les entrées de spectrogrammes.

Dans l'article, nous avons utilisé un modèle acoustique et un vocodeur tel que décrit ci-dessus, mais nous recommandons l'utilisation seule d'un vocodeur entraîné directement avec des unités vocales.

Les essais et les résultats

Nous avons fait des essais comparatifs où nous avons remplacé les unités vocales discrètes utilisées dans des modèles à la fine pointe de la technologie, par les unités vocales soft que nous proposons. Nous avons utilisé des modèles CPC et HuBERT préentraînés pour les extracteurs d'attributs et avons mesuré l'intelligibilité, la similitude des personnes qui parlent et la naturalité, autant des unités discrètes et soft que des attributs bruts (par exemple les attributs qui n'avaient pas été convertis en unités). De plus, à titre de référence, nous avons mesuré le rendement de deux modèles de base ainsi que la vérité terrain des enregistrements.

Cliquez le lien suivant pour écouter plus d'exemples issus de ces essais: https://ubisoft-laforge.github.io/speech/soft-vc/

Afin d'évaluer l'intelligibilité de la parole convertie, nous mesurons le taux d'erreur de mots (word error rate, WER) et le taux d'erreur de phonèmes (phoneme error rate, PER) par l'entremise d'un système de reconnaissance automatique de la parole. Les taux d'erreurs faibles correspondent à une parole plus intelligible; ceci démontre que les mots d'origine demeurent reconnaissables après la conversion.

Nous mesurons la similitude des personnes qui parlent par l'entremise d'un système entraîné de vérification des locuteurs. Nous rapportons le taux d'égale erreur (Equal Error Rate, EER), lequel atteint les 50 % lorsque le système de vérification est incapable de distinguer entre les énoncés cibles convertis et les énoncés cibles authentiquement prononcés par une personne (ce qui indique un haut degré de similitude des voix).

Pour la naturalité, nous effectuons une évaluation subjective: la note moyenne d'opinion (Mean Opinion Score, MOS). Des personnes évaluent la naturalité d'échantillons vocaux sur une échelle de cinq points, où 1=mauvais et 5=excellent. Nous rapportons les notes moyennes d'opinion et leurs intervalles de confiance de 95 %.

Nos résultats indiquent que remplacer les unités vocales discrètes par des unités vocales soft augmente l'intelligibilité ainsi que la naturalité. Le modèle à base d'HuBERT a même obtenu des taux d'erreur de reconnaissance de la parole comparables à ceux de véritables enregistrements de paroles. Ceci est toutefois accompagné d'une légère fuite de renseignements sur l'identité de la voix source dans les unités vocales. Cette fuite se traduit en une EER plus basse au niveau du reconnaisseur de locuteur. Toutefois, les EER dans cette fourchette représentent des différences qui sont difficiles à percevoir par un humain.

[LA FORGE] Voice Conversion Blog - Table 1 - img

Tableau 1: Résultats expérimentaux de notre étude comparative.

La figure 7 montre d'où proviennent les améliorations dans la prononciation du modèle à base d'HuBERT. Le taux d'erreur y est compilé par phonème. La plupart des améliorations sont issues des consonnes, en particulier l'affriquée /ʧ/ (en anglais: chin), le fricatif /ʒ/ (en anglais: joke) et les plosives vélaires /k/ (en anglais: kid) et /ɡ/ (en anglais: go).

[LA FORGE] Voice Conversion Blog - Figure 7 - img

Figure 7: Décomposition des PER (%) par phonème pour HuBERT-Discrete et HuBERT-Soft.

En somme, les résultats démontrent que les affectations non disjointes capturent plus de contenu linguistique, améliorant l'intelligibilité en comparaison aux unités discrètes. Ceci vient aux dépens d'une fuite de l'identité de la personne qui parle à la source, ce qui pourrait ne pas être perceptible.

Conclusion

Nous proposions les unités vocales soft pour améliorer la conversion vocale non supervisée. Nous avons démontré que les unités soft constituent un bon compromis entre les attributs discrets et continus; elles représentent fidèlement le contenu linguistique tout en écartant les renseignements sur l'identité de la personne qui parle. Nos évaluations ont démontré que les unités soft améliorent l'intelligibilité et la naturalité. Des études futures enquêteront sur les unités vocales soft dans le cadre de la conversion de la voix « n'importe qui vers n'importe qui » (any to any).

Références

[1] "Making of season 2 finale," Disney Gallery: The Mandalorian, 2021. https://dmedmedia.disney.com/disney-plus/disney-gallery-the-mandalorian/making-of-the-season-2-finale

[2] Jan van Gemert, Cor J. Veenman, Arnold W. M. Smeulders, and Jan-Mark Geusebroek, "Visual Word Ambiguity," IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010.

[3] Benjamin van Niekerk, Leanne Nortje, Matthew Baas, and Herman Kamper, "Analyzing speaker information in self-supervised models to improve zero-resource speech processing," INTERSPEECH, 2021.

[4] Shu wen Yang et al., "Superb: Speech processing universal performance benchmark," INTERSPEECH, 2021.

[5] Wei-Ning Hsu et al., "Hubert: Self-supervised speech representation learning by masked prediction of hidden units," IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2021.

[6] Vassil Panayotov, Guoguo Chen, Daniel Povey, and Sanjeev Khudanpur, "Librispeech: an ASR corpus based on public domain audio books," ICASSP, 2015.

[7] Jonathan Shen et al., "Natural TTS Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions," ICASSP, 2018.

[8] Jungil Kong et al., "HiFi-GAN: Generative adversarial networks for efficient and high fidelity speech synthesis," NeurIPS, 2020.