Connect with us

Intelligence artificielle

HierSpeech++ : Inférence variationnelle hiérarchique pour la synthèse vocale zero-shot

mm

Les développements récents et les progrès des capacités des grands modèles de langage ont joué un rôle crucial dans les avancées des cadres basés sur les modèles de langage pour les tâches de génération audio et de synthèse vocale, en particulier dans le cadre zero-shot. Les cadres de synthèse vocale traditionnels ont connu des avancées significatives grâce à l’intégration de fonctionnalités supplémentaires comme les codec audio neuronaux pour les unités audio et vocales discrètes. Même si ces cadres de synthèse vocale et audio fournissent des résultats satisfaisants, il y a encore de la place pour l’amélioration, car les cadres audio actuels basés sur les modèles de langage ont les trois limitations majeures suivantes

  1. Ils ont tendance à auto-générer une sortie audio qui entraîne finalement un manque de robustesse et une lenteur des interférences, ce qui entraîne des erreurs de prononciation, des sauts ou des répétitions. 
  2. Ils ont tendance à s’appuyer trop sur des unités vocales discrètes ou des codec audio neuronaux pré-entraînés. 
  3. Ils nécessitent souvent une grande quantité de données d’entraînement. 

Pour résoudre les problèmes mentionnés ci-dessus et améliorer les capacités des modèles de synthèse vocale et audio basés sur les modèles de langage, les développeurs ont créé HierSpeech++, un synthétiseur vocal robuste et efficace zero-shot pour les conversions de voix et de texte en parole ou TTS. Le cadre HierSpeech++ s’appuie sur les connaissances des cadres de synthèse vocale hiérarchique qui non seulement améliorent la robustesse, mais également ajoutent à l’expressivité de la sortie vocale synthétique, tout en améliorant la naturalité et la similarité de la voix de la parole générée artificiellement, même dans un cadre zero-shot. 

Dans cet article, nous allons discuter du cadre HierSpeech++ en détail et examiner l’architecture du modèle, son fonctionnement et les résultats lorsqu’il est comparé aux modèles de génération de texte et d’audio de pointe. Alors, commençons. 

HierSpeech++ : Inférence variationnelle hiérarchique pour la synthèse vocale zero-shot

HierSpeech++ est un cadre de synthèse vocale zero-shot rapide, robuste et efficace qui utilise un pipeline de synthèse vocale hiérarchique, et en adoptant ce cadre de synthèse vocale de bout en bout, le modèle HierSpeech++ est capable de maximiser le potentiel de la génération de forme d’onde de haute qualité pour relier hiérarchiquement l’écart entre les représentations sémantiques et acoustiques en adoptant une représentation vocale auto-supervisée comme représentation sémantique vocale, et tente ainsi de résoudre les limitations actuelles des adaptations de style. Le cadre de synthèse vocale de bout en bout a été introduit pour la première fois par le modèle VITS, et il adopte un VAE ou Variational Auto-Encoder augmenté d’un entraînement adversarial et d’un flux normalisant. De plus, les cadres basés sur VAE avec un pipeline d’entraînement de bout en bout ont la capacité de générer des formes d’onde audio de haute qualité avec une qualité de synthèse vocale perceptive nettement meilleure que celle des autres cadres de synthèse vocale. 

La qualité de reconstruction audio de ces cadres peut être améliorée encore plus en utilisant un encodeur acoustique conditionnel hiérarchique comme celui utilisé dans le cadre HierSpeech. Malgré leur potentiel, les modèles basés sur le pipeline d’entraînement de bout en bout ont certaines limitations, en particulier dans un cadre zero-shot, car même s’ils peuvent synthétiser des échantillons vocaux avec une qualité audio élevée, la similarité de la voix dans les tâches de clonage vocal zero-shot est toujours entachée d’une complexité computationnelle élevée. D’un autre côté, les modèles de synthèse vocale basés sur la diffusion se comportent bien en termes d’adaptation de la voix, mais ils sont encore loin de la perfection, car ils utilisent un processus de génération interactif qui ralentit leur vitesse d’inférence, ils sont souvent vulnérables aux données bruyantes, et en raison de la discordance entre l’entraînement et l’inférence du processus de génération à deux étapes entre le Mel-spectrogramme et le son généré, la qualité audio n’est pas à la hauteur. 

Pour résoudre les problèmes rencontrés par ses prédécesseurs, le modèle HierSpeech++ emploie un synthétiseur vocal hiérarchique, une super-résolution vocale et un composant text-to-vec à TTV, et introduit un synthétiseur vocal hiérarchique amélioré basé sur l’encodeur acoustique conditionnel hiérarchique VAE ou Variational AutoEncoder. Dans une tentative d’améliorer la qualité audio au-delà de la qualité perceptive, le cadre HierSpeech++ adopte un double-audio pour améliorer la postériorité acoustique, et améliore la généralisation hors distribution en équipant un générateur adaptatif hiérarchique à la fois de génération conditionnelle et non conditionnelle. De plus, pour désentangler les composants vocaux et améliorer les informations sémantiques liées à la voix et agnostiques à la voix, le cadre HierSpeech++ adopte également un encodeur sémantique multi-chemin basé sur la théorie source-filtre. En conséquence de l’emploi d’un Variational AutoEncoder, le modèle HierSpeech++ peut relier et apprendre les représentations hiérarchiquement, et s’adapter progressivement au style vocal cible pour inférer la forme d’onde audio. De plus, le cadre HierSpeech++ déploie également un réseau bidirectionnel de transformateurs de flux normalisant dans une tentative d’améliorer l’adaptation et de réduire la discordance entre l’entraînement et l’inférence. 

Dans l’ensemble, le modèle HierSpeech++ est un cadre de synthèse vocale hiérarchique entièrement parallèle, nouveau et robuste, destiné à synthétiser des échantillons vocaux dans un cadre zero-shot, et tente d’apporter les contributions suivantes

  • Utiliser un cadre de synthèse vocale hiérarchique pour contrôler et transférer les styles et la prosodie vocale. 
  • Permettre la scalabilité des données et la synthèse vocale à haute résolution en échantillonnant la forme d’onde audio de 16 à 48 kHz. 
  • Atteindre une capacité humaine dans les tâches de conversion vocale zero-shot et de texte en parole. 

HierSpeech++ : Composants et architecture du modèle

Comme discuté, HierSpeech++ est un modèle de synthèse vocale zero-shot qui tente d’atteindre une précision humaine en termes de similarité vocale et de naturalité de la parole. 

Le modèle HierSpeech++ se compose de différents composants, notamment un synthétiseur vocal hiérarchique, une super-résolution vocale et un text-to-vec à TTV qui fonctionnent en harmonie les uns avec les autres pour faciliter l’entraînement de chaque modèle qui peut utiliser efficacement une grande quantité de données vocales à faible résolution pour le clonage vocal. Décomposons le cadre et discutons de chaque composant. 

Représentations vocales

Comme la bande de fréquence humaine est inférieure à 4 kHz, pour la synthèse vocale, le cadre HierSpeech++ échantillonne l’audio à 16 kHz. De plus, pour reconstruire le signal vocal, il est essentiel d’utiliser au moins le double de la fréquence vocale la plus élevée, en plus de l’échantillonnage de l’échantillon audio. Pour atteindre une qualité perceptive améliorée, le cadre HierSpeech++ utilise un composant de super-résolution vocale ou SpeechSR pour échantillonner l’échantillon audio de 16 à 48 kHz, et utilise des représentations à faible résolution pour les représentations sémantiques et acoustiques. 

Pour les représentations acoustiques, un cadre de synthèse vocale traditionnel utilise un Mel-spectrogramme comme fonction acoustique intermédiaire qui est ensuite transformé à partir de la forme d’onde à l’aide d’une transformée de Fourier à court terme ou STFT. Cependant, il est important de noter que puisque les fonctionnalités acoustiques sont des représentations riches comprenant divers attributs, notamment le contenu et la prononciation, les informations vocales et plus encore, ce qui rend difficile pour le cadre d’inférer ces représentations, une situation qui entraîne souvent des erreurs de prononciation, un manque de similarité ou un lissage excessif de la parole. 

En continuant, pour extraire une représentation sémantique continue d’une forme d’onde, le cadre HierSpeech++ utilise un cadre Wav2Vec à la place de l’approche de représentation vocale auto-supervisée populaire pour les représentations sémantiques. Même si l’approche constitue une bonne alternative pour un modèle monolingue riche, elle affecte les capacités de clonage vocal zero-shot du modèle en termes de robustesse et d’expressivité, en particulier sur les tâches de synthèse vocale multilingue. 

Synthétiseur vocal hiérarchique

Le composant de synthétiseur vocal hiérarchique est la pierre angulaire du cadre HierSpeech++, car il permet d’entraîner le module sans utiliser d’étiquettes comme des transcriptions de texte ou des identifiants de voix, et en s’appuyant uniquement sur les données vocales. Pour augmenter la capacité acoustique, les modèles de synthèse vocale de pointe ont remplacé le Mel-spectrogramme par un spectrogramme linéaire, cependant, l’approche minimise le score de divergence de KL en termes de périodicité du pitch, de PESQ, de score vocal et non vocal, et même de distance du Mel-spectrogramme. Le synthétiseur vocal hiérarchique utilise un encodeur acoustique à double-audio pour résoudre les défis posés par l’utilisation d’un spectrogramme linéaire conçu pour capturer des représentations acoustiques plus riches et plus complètes. Le cadre utilise également un encodeur de forme d’onde pour distiller les informations à partir d’une forme d’onde audio brute, et les concatène avec la représentation du spectrogramme linéaire, et projette enfin la représentation acoustique comme une représentation concaténée. 

De plus, pour traiter les représentations sémantiques agnostiques à la voix et liées à la voix, le cadre HierSpeech++ utilise une représentation vocale auto-supervisée multi-chemin où chaque représentation individuelle est utilisée pour l’adaptation de style hiérarchique avec les représentations sémantiques extraites pour obtenir des informations linguistiques à partir de la couche intermédiaire du MMS. Le cadre utilise également une fréquence fondamentale pour améliorer la désentanglement de la parole qui permet de contrôler le contour de pitch manuellement. Le cadre utilise également une représentation linguistique comme information conditionnelle pour générer la forme d’onde audio hiérarchiquement, et utilise une représentation linguistique améliorée de la représentation auto-supervisée. Il est également important de noter que les représentations acoustiques extraites pendant l’entraînement en utilisant une forme d’onde et un spectrogramme linéaire sont utilisées pour reconstruire la forme d’onde audio brute, et une inférence variationnelle hiérarchique est utilisée pour relier les représentations acoustiques avec les représentations linguistiques multi-chemin. Le cadre utilise également un générateur adaptatif hiérarchique (HAG) pour générer des échantillons sémantiques à forme d’onde, et les représentations générées comprenant une représentation de style et une représentation acoustique sont alimentées aux générateurs de source et de forme d’onde. 

Texte à vecteur

Pour la synthèse vocale de texte, le cadre HierSpeech++ utilise un modèle texte à vecteur ou TTV qui génère une fréquence fondamentale et une représentation sémantique à partir d’une séquence de texte, et utilise une recherche d’alignement monotonique couplée avec un auto-encodeur variationnel pour aligner la parole et le texte internement. Le cadre HierSpeech++ remplace ensuite le spectrogramme linéaire par une représentation linéaire auto-supervisée, et reconstruit la même représentation pour servir de sortie pour le TTV. 

De plus, le cadre HierSpeech++ prédit la fréquence fondamentale avec des résolutions quatre fois plus grandes que les représentations vocales auto-supervisées, et utilise une représentation textuelle conditionnelle comme information prioritaire. En conséquence de l’information sémantique des représentations vocales auto-supervisées, le cadre est capable de transférer le style de prosodie du texte au modèle texte à vecteur, et alimente une représentation latente à l’encodeur de phonème pour améliorer les capacités linguistiques de la représentation. 

SpeechSR ou super-résolution vocale

Le cadre HierSpeech++ est formé sur un ensemble de données relativement à faible résolution en termes d’efficacité et de disponibilité des données, et échantillonne une forme d’onde vocale à faible résolution en une forme d’onde vocale à haute résolution de 16 à 48 kHz. Le cadre remplace également une convolution transposée par un échantillonneur de voisin le plus proche qui a précédemment été connu pour atténuer les artefacts dus aux convolutions transposées. 

Architecture

L’encodeur de contenu du modèle texte à vecteur se compose de 16 couches WaveNet non causales avec une taille de noyau de 5 et une taille cachée de 256, tandis que le décodeur de contenu se compose de 8 couches WaveNet non causales avec une taille de noyau de 5 et une taille cachée de 512. Le composant d’encodeur de texte se compose de trois réseaux de transformateurs conditionnels de prosodie et de trois réseaux de transformateurs non conditionnels avec une taille de noyau de 9, une taille de filtre de 1024 et une taille cachée de 256, avec un taux de dropout de 0,2 pour l’encodeur de texte. Pour encoder les informations adjacentes et améliorer l’adaptation du style de prosodie, le cadre adopte une CNN avec une taille de noyau de 5 dans les blocs de transformateurs. La super-résolution vocale se compose d’un seul bloc AMP avec 32 canaux initiaux sans présence d’une couche de sur-échantillonnage. Le cadre utilise un échantillonneur de voisin le plus proche pour échantillonner les représentations cachées et utilise un MPD comme discriminateur avec six tailles de fenêtres différentes et quatre discriminateurs de sous-bandes. 

La figure ci-dessus montre le pipeline d’inférence du cadre HierSpeech++ qui commence par extraire les représentations sémantiques de l’audio à une fréquence de 16 kHz et à la fréquence fondamentale en utilisant l’algorithme YAPPT. Avant que la fréquence fondamentale puisse être alimentée au synthétiseur hiérarchique, elle est normalisée en utilisant les déviations standard et la moyenne de l’audio source, et la fréquence fondamentale normalisée est ensuite dénormalisée en utilisant les déviations standard et la moyenne de l’audio cible. Pour les extractions de texte en parole, le cadre HierSpeech++ extrait des représentations textuelles au lieu de représentations vocales, et utilise le modèle texte à vecteur pour générer une représentation sémantique à partir de la prosodie de la prompte. 

Expérience et résultats

Le cadre utilise l’ensemble de données LibriTTS disponible publiquement pour former le composant de synthétiseur hiérarchique avec la première étape consistant à former le modèle avec les sous-ensembles de formation de l’ensemble de données, et en utilisant les données restantes pour permettre un transfert amélioré du style vocal. De plus, pour améliorer la diversité et la robustesse, le cadre met à l’échelle l’ensemble de données à 1 kHz comme le montre la figure suivante. 

Tâches de reconstruction, de résynthèse et de conversion vocale

Pour évaluer les performances du cadre HierSpeech++ sur les tâches de reconstruction et de résynthèse, les développeurs ont mené sept métriques objectives, et les résultats sont présentés dans les figures suivantes pour les tâches de reconstruction et de résynthèse respectivement. 

Pour les tâches de conversion vocale, le cadre utilise deux métriques subjectives d’évaluation : la similarité vocale MOS ou sMOS et le score d’opinion moyenne de naturalité de nMOS avec trois métriques objectives de naturalité et deux métriques objectives de similarité. 

En continuant, l’objectif principal du cadre HierSpeech++ est de permettre la synthèse vocale zero-shot, et pour évaluer ses performances dans le zero-shot, il est comparé aux modèles de base comme AutoVC, VoiceMixer, les modèles basés sur la diffusion et bien plus encore, avec les résultats présentés dans la figure suivante. 

Les figures suivantes montrent les résultats de la synthèse vocale zero-shot avec des invites bruyantes et très bruyantes respectivement. 

Pensées finales

Dans cet article, nous avons discuté du modèle HierSpeech++, une nouvelle approche pour permettre une synthèse vocale robuste et efficace dans un cadre zero-shot, et surmonter les limitations rencontrées par les cadres de synthèse vocale actuels, notamment leur dépendance à l’égard de grandes quantités de données d’entraînement, leur dépendance à l’égard d’unités vocales discrètes ou de codec audio neuronaux pré-entraînés, et leur tendance à auto-générer une sortie audio qui entraîne finalement un manque de robustesse et une lenteur des interférences, ce qui entraîne des erreurs de prononciation, des sauts ou des répétitions. Le modèle HierSpeech++ est un cadre de synthèse vocale hiérarchique entièrement parallèle, nouveau et robuste, destiné à synthétiser des échantillons vocaux dans un cadre zero-shot, et tente d’apporter les contributions suivantes

  • Utiliser un cadre de synthèse vocale hiérarchique pour contrôler et transférer les styles et la prosodie vocale. 
  • Permettre la scalabilité des données et la synthèse vocale à haute résolution en échantillonnant la forme d’onde audio de 16 à 48 kHz. 
  • Atteindre une capacité humaine dans les tâches de conversion vocale zero-shot et de texte en parole. 

Un ingénieur de profession, un écrivain de cœur. Kunal est un rédacteur technique avec une profonde affection et une compréhension de l'IA et du ML, dédié à simplifier les concepts complexes dans ces domaines grâce à sa documentation engageante et informative.