Résumé
Vous avez peut-être déjà changé la voix de la voix guidée lors de l'utilisation de haut-parleurs IA ou de la navigation. J'ai réglé la voix du haut-parleur avec la voix de mon acteur préféré Yoo In-na, et il est devenu important de synthétiser la parole avec différentes voix, car la technologie de synthèse vocale a été intégrée à divers aspects de la vie, tels que les assistants personnels, les émissions d'information et les directions vocales. Et il existe une demande croissante pour utiliser non seulement la voix d'autres personnes, mais également leur voix en tant que voix artificielle, ce que l'on appelle la synthèse vocale personnalisée dans le domaine de la recherche sur la synthèse vocale.
Aujourd'hui, nous allons examiner un modèle de synthèse vocale (TTS) appelé AdaSpeech qui est apparu pour la synthèse vocale personnalisée. La technologie permettant de générer une voix personnalisée repose principalement sur le processus d'adaptation du modèle TTS source pré-entraîné à la voix de l'utilisateur. La plupart des données vocales utilisées par l'utilisateur à l'heure actuelle sont petites pour des raisons de commodité, et comme leur quantité est faible, il est très difficile de donner à la voix générée une sensation naturelle et similaire à la voix d'origine. L'entraînement des réseaux neuronaux à l'aide d'une voix personnalisée pose deux problèmes principaux.
Tout d'abord, les voix de certains utilisateurs présentent souvent des conditions acoustiques différentes des données vocales apprises à partir du modèle TTS source. Par exemple, il existe une variété de rimes, de styles, d'émotions, de forces et d'environnements d'enregistrement des locuteurs, et les différences dans les données vocales qui en résultent peuvent entraver les performances de généralisation du modèle source, entraînant une mauvaise qualité d'adaptation.
Deuxièmement, lors de l'adaptation du modèle TTS source à une nouvelle voix, il faut faire un compromis entre le réglage précis des paramètres et la qualité de la voix. En d'autres termes, plus vous utilisez de paramètres adaptatifs, meilleure est la qualité de votre production, mais plus l'utilisation de la mémoire est élevée et le coût de déploiement du modèle est élevé.
Les études existantes ont abordé cette question en spécifiant une méthode permettant d'affiner l'ensemble du modèle ou d'une partie (en particulier le décodeur), en ajustant uniquement l'intégration des haut-parleurs utilisée pour distinguer les locuteurs dans la synthèse vocale multi-locuteurs, en formant le module encodeur des haut-parleurs et en supposant que le domaine de la parole source et des données adaptatives est le même. Cependant, l'utilisation réelle pose un problème car il y a trop de paramètres ou la qualité n'est pas satisfaisante.
AdaSpeech est un modèle TTS capable de générer efficacement des voix de nouveaux utilisateurs (ou locuteurs) de haute qualité tout en résolvant les problèmes ci-dessus. Le pipeline a été largement divisé en trois étapes : la formation préalable, la mise au point et l'inférence, et deux techniques sont utilisées pour résoudre les difficultés existantes. À partir de maintenant, nous les examinerons ensemble ! 🙂
Résumé pour Busy People
- Les performances de généralisation du modèle ont été améliorées en extrayant des caractéristiques acoustiques selon différentes portées à partir des données vocales et en les ajoutant aux vecteurs de codage des phonèmes existants grâce à la modélisation des conditions acoustiques.
- Ils ont amélioré efficacement le processus d'adaptation du modèle source aux données du nouveau locuteur en utilisant la normalisation conditionnelle des couches.
- Il est désormais possible de créer des voix personnalisées de haute qualité avec moins de paramètres et moins de nouvelles données vocales que les modèles de référence traditionnels.
Structure du modèle
Le modèle de base d'ADAspeech est FastSpeech 2. Il se compose principalement de codeurs de phonèmes, d'adaptateurs de variance et de décodeurs Mel. Il comprend deux nouveaux éléments (zones roses sur la figure 1) conçus par les auteurs.
Modélisation des conditions acoustiques
En général, il est important d'améliorer les performances de généralisation du modèle car la voix source utilisée lors de l'apprentissage du modèle ne peut pas couvrir toutes les caractéristiques acoustiques de la voix du nouvel utilisateur. Comme il est difficile de contenir ces caractéristiques acoustiques dans le texte saisi par le modèle dans TTS, le modèle a tendance à mémoriser les caractéristiques acoustiques dans les données d'entraînement, ce qui constitue un obstacle aux performances de généralisation lors de la génération de voix personnalisées. Le moyen le plus simple de résoudre ce problème est de fournir des caractéristiques acoustiques en entrée du modèle, qui est divisé en niveau du haut-parleur, niveau d'énoncé et niveau du phonème, et est appelé modélisation des conditions acoustiques, qui comprend une variété de caractéristiques sonores allant des informations étendues aux informations périphériques. Chaque niveau contient les informations suivantes.
- Niveau du haut-parleur : niveau qui capture les caractéristiques générales d'un haut-parleur, représentant la plus large gamme de caractéristiques acoustiques (par exemple, l'intégration des haut-parleurs).
- Niveau d'énoncé : niveau qui capte les caractéristiques qui apparaissent lors de la prononciation d'une phrase, et un spectrogramme mel d'une voix de référence est utilisé en entrée et un vecteur de caractéristiques en est sorti. Lors de l'apprentissage du modèle, la voix cible devient une voix de référence et, par déduction, l'une des voix du haut-parleur que vous souhaitez synthétiser est sélectionnée au hasard et utilisée comme voix de référence.
- Niveau du phonème : la plus petite plage de niveaux qui capture les caractéristiques en unités de phonèmes d'une phrase (par exemple, la force d'un phonème, la hauteur, la rime et le bruit ambiant temporaire). Dans ce cas, le spectrogramme mel au niveau du phonème exprimé en substituant les trames mel correspondant au même phonème par la moyenne de la section est saisi. Et en inférence, bien que la structure soit la même, nous utilisons un prédicteur acoustique qui reçoit le vecteur caché de l'encodeur du phonème en entrée et prédit le vecteur au niveau du phonème.
Normalisation des couches conditionnelles
Le décodeur mel d'AdaSpeech se compose d'un réseau d'auto-attention et de feedback basé sur le modèle Transformer. Comme de nombreux paramètres y sont utilisés, le processus de réglage fin de la nouvelle voix ne sera pas efficace. Les auteurs ont donc appliqué une normalisation de couche conditionnelle au réseau d'attention personnelle et d'anticipation sur chaque couche et a réduit le nombre de paramètres mis à jour lors du réglage en mettant à jour l'échelle et le biais utilisés ici en fonction de l'utilisateur. Et l'échelle et le biais utilisés ici sont appelés conditionnels car ils traversent la couche linéaire comme indiqué ci-dessus et ces vecteurs sont calculés à partir de l'intégration des haut-parleurs.
Processus de formation et d'inférence
Le processus d'apprentissage d'AdaSpeech et de déduction de la voix pour les nouveaux locuteurs peut être résumé à l'aide de l'algorithme ci-dessus. Commencez par pré-entraîner le modèle source avec autant de données textuelles vocales que possible, puis mettez à jour les paramètres utilisés pour la normalisation des couches conditionnelles et l'intégration des haut-parleurs aux données vocales du nouveau locuteur en les ajustant. En inférence, on peut voir que la valeur du paramètre qui doit être calculée à partir des informations sur le locuteur et la valeur du paramètre non affiné par l'apprentissage sont utilisées ensemble pour créer un spectrogramme mel.
Résultats de l'expérience
Évaluation personnalisée de la qualité vocale
MelgaN a été utilisé comme vocodeur, et le caractère naturel de la voix personnalisée synthétisée a été évalué comme MOS, et la similarité a été évaluée sur une métrique appelée SMOS. On peut constater qu'AdaSpeech peut synthétiser des voix de haute qualité avec des paramètres inférieurs ou similaires à ceux de la ligne de base. Et comme le modèle TTS source a été pré-entraîné pour un ensemble de données appelé LiBritTS, il semble bien sûr recevoir le score le plus élevé lorsqu'il est adapté en tant que nouveau locuteur de LiBritTS.
Étude d'ablation
À l'aide du CMOS (MOS de comparaison), qui permet d'évaluer la qualité relative, ils ont mené une étude d'ablation sur les techniques considérées comme une contribution à cet article. Étant donné que le CMOS d'AdaSpeech, qui a supprimé certaines parties, était inférieur à l'AdaSpeech de base du Tableau 2, nous pouvons conclure que toutes les techniques contribuent à l'amélioration de la qualité.
Modélisation des conditions acoustiques Analyse
La figure 4 (a) montre le vecteur acoustique au niveau de l'énoncé des locuteurs appris dans t-SNE. On peut voir que différentes phrases prononcées par le même locuteur sont classées dans le même groupe, et à partir de là, on estime que le modèle a appris les caractéristiques uniques d'un locuteur lorsqu'il prononce une phrase. Quelques exceptions sont observées, mais ces phrases sont généralement courtes ou émotionnelles, ce qui rend difficile de les distinguer des déclarations des autres locuteurs.
Normalisation des couches conditionnelles Analyse
Par rapport au CMOS, on peut constater que la qualité de la voix est la meilleure lors de l'utilisation de la normalisation de couche conditionnelle. Par conséquent, lors de la normalisation des couches, il est préférable de modifier l'échelle et le biais en fonction des caractéristiques du haut-parleur. On peut résumer que leur mise à jour uniquement a un effet positif sur l'adaptabilité du modèle.
Quantité d'analyse adaptative des données
Enfin, les auteurs ont mené une expérience pour tester la quantité de données vocales des nouveaux utilisateurs nécessaires afin de déterminer si ce modèle est pratique. Comme le montre la Figure 4 (b), la qualité de la voix synthétisée s'améliore rapidement jusqu'à ce que 10 échantillons soient utilisés, mais depuis lors, il n'y a pas d'amélioration significative. Il est donc possible d'affiner l'ADAspeech en utilisant seulement 10 échantillons pour chaque haut-parleur.
Conclusion et Opinion
AdaSpeech est un modèle TTS capable de s'adapter aux nouveaux utilisateurs tout en tirant parti des avantages de FastSpeech, qui a déjà amélioré sa vitesse grâce à la synthèse vocale parallèle. La modélisation des conditions acoustiques améliore les performances de généralisation du modèle en capturant les caractéristiques de la voix, et si elle est subdivisée davantage, une IA qui parle de manière plus similaire aux caractéristiques de l'utilisateur peut être créée. De plus, je pense que l'utilité de l'utilisation est infinie dans la mesure où il s'agit d'un modèle qui peut satisfaire une synthèse vocale personnalisée avec seulement 10 échantillons, mais malgré tout, il est regrettable sur le plan pratique que la voix de l'utilisateur et le texte correspondant soient utilisés comme données pour affiner ensemble. En fait, même si vous pouvez enregistrer votre voix parmi ceux qui utilisent les services de synthèse vocale AI, il y aura plus d'utilisateurs qui prendront la peine de taper du texte ensemble. Ainsi, lors de la prochaine session, nous présenterons une version modifiée d'AdaSpeech qui permet une synthèse vocale personnalisée sans données appariées texte-parole.
Référence
(1) [FastSpeech 2 ou] FastSpeech 2 : synthèse vocale de bout en bout rapide et de haute qualité
(2) [AdaSpeech] AdaSpeech : synthèse vocale adaptative pour une voix personnalisée
(3) [AdaSpeech] https://speechresearch.github.io/adaspeech/
Référence
(1) [Document FastSpeech 2] FastSpeech 2 : synthèse vocale de bout en bout rapide et de haute qualité
(2) [Discours ADA] AdaSpeech : synthèse vocale adaptative pour une voix personnalisée
(3) [Démo AdaSpeech] https://speechresearch.github.io/adaspeech/