Comment nous avons recréé la voix d'un jeune Leonid Kuravlev en quatre minutes de discours

salut! Je m'appelle Oleg Petrov, je suis à la tête du groupe R&D du Speech Technology Center. Nous travaillons depuis longtemps non seulement sur la reconnaissance vocale, mais aussi sur la synthèse des voix. L'exemple le plus simple de la raison pour laquelle une entreprise a besoin de cela: pour que pour chaque nouveau scénario enseigné aux robots vocaux, il ne soit pas nécessaire d'organiser un nouvel enregistrement avec la personne qui l'a exprimé une fois. Nous développons également des produits basés sur la biométrie vocale et faciale et l'analyse vocale. En général, nous travaillons sur des tâches sérieuses et complexes pour diverses entreprises.







Mais récemment, des collègues de la Sberbank nous ont proposé de participer à une histoire divertissante - de «faire entendre» le héros de Leonid Kuravlev dans une nouvelle vidéo. Pour lui, le visage de Kuravlev a été recréé à partir d'images du film "Ivan Vasilyevich change sa profession" et superposé au visage d'un autre acteur utilisant la technologie Deepfake. Pour que nous puissions non seulement voir, mais aussi entendre Georges Miloslavsky en 2020, nous avons décidé d'aider nos collègues. En effet, au fil des ans, la voix de chacun d'entre nous change, et même si Leonid Vyacheslavovich exprimait le héros, l'effet ne serait pas le même.



Sous la coupe, je vais vous dire pourquoi cette tâche, déjà familière à bien des égards de synthèse vocale, s'est avérée un peu plus difficile que prévu, et j'expliquerai pourquoi de telles voix ne peuvent pas tromper des systèmes d'autorisation biométriques de haute qualité.



"Ivan Vasilievich change sa profession" est sorti en 1973. Au cours de cette décennie, Leonid Kuravlev a réussi à jouer dans une douzaine de longs métrages. Néanmoins, cela n'a en rien simplifié notre tâche:



  1. Les personnages peuvent avoir peu de longs monologues;
  2. Dans les longs métrages, les effets acoustiques, la musique de fond, etc. se superposent à la parole;
  3. Le son des vieux films des années 70, même numérisé, contient des défauts;
  4. L'acteur ajuste toujours la manière de parler au personnage, joue diverses émotions, mais il était nécessaire de répéter la manière de parler du personnage de Georges Miloslavsky.


Et, malgré le niveau élevé d'incertitude, nous avons assumé cette tâche, et c'est ainsi que nous avons abordé sa solution.



Collecte de données pour la formation TTS



TTS (Text-to-Speech) est une technologie de traduction de texte imprimé en discours parlé. Actuellement, il est implémenté, en règle générale, sur un empilement de méthodes d'apprentissage en profondeur, ce qui permet d'obtenir une qualité sonore élevée d'une voix synthétisée par rapport à d'autres approches. Par exemple, en utilisant les capacités du supercalculateur Christophari, le modèle peut être formé pour cela en quelques heures seulement.



La principale source de discours était des fragments audio de films avec la participation de Leonid Kuravlev - "Deep Relatives", "It Can't Be", "Ivan Vasilyevich Changes Profession", "Vanity of Vanities". Tous les épisodes de l'apparition du héros du film ne conviennent pas à l'enseignement du système TTS. Il est nécessaire de minimiser la présence de musique de fond et de bruit, la parole d'autres acteurs, diverses manifestations non vocales. Après une recherche minutieuse de fragments appropriés, nous avons eu au moins 7 minutes de discours, assez expressifs et variés selon le personnage du personnage joué par Leonid. De plus, chaque film avait sa propre image acoustique, ce qui affecte également grandement la perception et complique la tâche.



Après avoir préparé des transcriptions de texte du matériel coupé conformément à notre pipeline habituel, une transcription phonémique du texte a été construite et alignée avec la piste audio. L'étirement d'une séquence de phonèmes sur le son est nécessaire pour déterminer les lieux des pauses réelles lorsque le locuteur prononce le texte. Nous avons effectué toutes ces actions à l'aide d'un processeur linguistique de notre propre conception et d'un modèle acoustique, gracieusement mis à notre disposition par le service de reconnaissance vocale.



La position exacte des phonèmes sur un enregistrement n'est pas si importante pour un modèle de synthétiseur s'il contient un soi-disant module Attention. Le mécanisme d'attention vous permet d'entraîner le modèle à distinguer indépendamment les phonèmes, cependant, le balisage de pause est beaucoup plus important - premièrement, les pauses peuvent varier considérablement en longueur, et connaître la longueur exacte vous permet de maintenir la stabilité pendant l'apprentissage, et deuxièmement, les pauses sont souvent des indicateurs des limites du syntagme - unités structurelles indépendantes de la parole - par lesquelles il est souvent possible de tracer les limites des déclarations indépendantes. Cela vous permet de diviser des phrases trop longues en phrases plus courtes pour une utilisation plus efficace de la mémoire GPU pendant l'entraînement, ainsi que d'augmenter légèrement l'ensemble de données en énumérant toutes les options de fractionnement possibles.



Nettoyage des données



Bien que nous ayons essayé d'extraire les enregistrements les plus propres possible des films, certains d'entre eux étaient encore accompagnés de sons étrangers (le bruit de la ville, les sons de la nature, le bruit de l'eau, etc.) ou de musique.



Pour résoudre ce problème, nous avons utilisé deux projets open-source: un modèle pour améliorer la qualité de la parole, qui fonctionne directement sur le signal audio brut, et un algorithmepour diviser une composition musicale en parties: voix, batterie, basse et le reste. Nous devions obtenir des enregistrements clairs de la voix de l'orateur avec une qualité sonore maximale (pour notre système TTS - 22050 Hz). Tous les artefacts s'infiltreront certainement dans le modèle neuronal de la voix de l'orateur, en particulier lorsqu'il s'agit d'un si petit échantillon d'apprentissage. Grâce aux projets répertoriés, il a été possible de séparer complètement la musique de la voix sans perte significative de qualité pour environ la moitié des exemples collectés.



En conséquence, après toutes les manipulations, nous avons encore 4 minutes et 12 secondes de discours clair de la voix de Leonid Vyacheslavovich Kuravlev. Il est devenu clair que notre architecture de combat TTS, que vous pouvez d'ailleurs écouter dans le cloud) ne convient pas à ce cas. Cependant, juste à côté se trouvait un modèle TTS inhabituel relativement récent de NVidia appelé Flowtron , basé sur la méthode Inverse Autoregressive Flow (IAF).



La principale caractéristique du modèle Flowtron est qu'il peut être utilisé pour synthétiser différentes manières de prononcer le même texte, avec une grande variété d'intonations et de styles de discours. Mais cette propriété est une "épée à double tranchant", puisque les exemples générés par le modèle sont loin d'être toujours adéquats en termes de perception. L'intonation peut changer très brusquement et de manière anormale, la fréquence de hauteur (hauteur de la voix) peut varier considérablement, créant un son drôle mais inutile. Plus il y a de données initiales pour l'entraînement, plus il est naturel et stable de générer de la parole. Mais même avec une petite quantité de matière, il est parfois possible de synthétiser de bons exemples. Nous avons décidé de les obtenir.



Pour commencer, un modèle existant, formé sur un vaste ensemble de données expressives, devait être formé pour parler d'une nouvelle voix. Si vous prenez et «alimentez» tout simplement 4 minutes 12 secondes de données, alors, en fonction du paramètre qui régule la sensibilité de l'entraînement, le modèle se recyclera immédiatement (parlera très mal), ou apprendra très, très mal (ne parlera pas non plus avec une nouvelle voix) ... Et vous pouvez «attraper» la valeur optimale du paramètre pendant longtemps et avec enthousiasme. Une bonne pratique consiste à mélanger de nouvelles données avec d'anciennes données dans une proportion convenable (par exemple, une sur dix). Ensuite, avant le début du processus de recyclage, les nouvelles données auront le temps de bien «s'assimiler». C'est ce qu'ils ont fait, mais ils ont d'abord coupé des exemples de pauses avec chevauchement, qui, avec un léger mouvement des doigts sur le clavier, transforment 4 minutes de discours en 23.



Le modèle ainsi formé était déjà capable de synthétiser quelque chose avec la voix de l'artiste, mais des exemples plus ou moins adéquats ont été obtenus dans un cas sur vingt. Il est également important d'obtenir le style, l'intonation, l'émotion, la qualité sonore nécessaires, ce qui dans ce cas est extrêmement difficile à contrôler. Ainsi, il a fallu synthétiser plusieurs dizaines de milliers d'exemples pour en sélectionner manuellement plusieurs appropriés.



Ici, la normalisation des flux vient à notre aide, sur laquelle le modèle lui-même est construit. En fait, Flowtron apprend à afficher les caractéristiques acoustiques d'un signal vocal, compte tenu du texte, à des points d'une distribution normale de même dimension, et cet affichage est réversible. Pendant la synthèse, le processus inverse a lieu (par conséquent, les flux sont inversés et se normalisent). Ainsi, vous pouvez prendre un enregistrement, l'afficher à l'aide d'un modèle à des points spécifiques, et à partir de ces points récupérer le même enregistrement. Inutile? Pas vraiment! Vous pouvez mélanger soigneusement ces points avec les mêmes d'un autre enregistrement et ainsi transférer partiellement le style du dernier. Vous pouvez leur ajouter un peu de bruit et obtenir un enregistrement presque original, légèrement différent de l'original. Mais si vous ajoutez beaucoup de bruit, vous obtenez un non-sens. Ainsi, vous pouvez multiplier le jeu de données d'origine, en obtenant de nombreux similaires,mais pas exactement les mêmes exemples!



Cependant, dans ce cas, on ne peut pas se fier entièrement à la décence du modèle. Elle peut synthétiser beaucoup de choses. J'ai dû écouter plusieurs milliers d'exemples d'un ensemble de données répliqué et en sélectionner des de haute qualité. Cette approche peut être appelée "modèle avec oreilles". Cela nous a permis d'obtenir une heure entière de données d'entraînement à partir des 23 minutes d'origine (en tenant compte du découpage par pauses).



Ce programme de formation en plusieurs étapes a porté ses fruits. Bien que la plupart des exemples synthétisés avec son aide sonnent déjà tout à fait dignes, cela nécessitait toujours la «force brute». Nous avons ajouté des points d'exemples d'Ivan Vasilievich aux points de départ. Quelque part, l'effet d'un vieux film ou d'une grande salle s'est avéré. Ou la phrase est sortie de la voix d'un artiste, mais pas de manière «miloslavienne». Déjà dû choisir «seulement» parmi quelques milliers d'échantillons. Il s'est avéré environ trois cents exemples des phrases courtes requises avec une grande variété de styles et d'intonations, pour lesquels nous avons, en fait, sélectionné des échantillons pour la vidéo promotionnelle de Sber.



Ainsi, après avoir organisé une sorte de hackathon hebdomadaire dans notre équipe de synthèse vocale RTC, nous avons pu recréer la voix d'il y a 50 ans en seulement 4 minutes de discours. La technologie que nous avons testée ouvre des opportunités pour recréer les voix perdues depuis longtemps de personnalités célèbres à partir d'une très petite quantité de matériel. Vous pouvez voir ce qui est ressorti de tout cela à la fin.





Après avoir lu tout cela, vous pensiez probablement que de telles capacités technologiques jetaient un doute sur la fiabilité des systèmes biométriques, car la voix de toute personne publique, blogueur vidéo ou utilisateur de médias sociaux ordinaire qui publie des vidéos amateurs peut être facilement truquée. Malgré le fait qu'à l'oreille, la voix synthétisée de Leonid Kuravlev est indiscernable de la vraie, c'est toujours une synthèse. Cela signifie qu'il contient des caractéristiques sonores qui indiquent que la voix n'est pas vivante. L'anti-spoofing et la protection contre les pirates sont souvent organisés dans le cadre de compétitions scientifiques spéciales, y compris mondiales, où notre équipe a gagné... Aux OMD, nous pensons que les développeurs doivent toujours avoir une longueur d'avance, et non seulement créer de nouvelles technologies et de nouveaux produits basés sur eux, mais aussi rechercher constamment de nouveaux moyens de protection, sans s'arrêter à ce qui a été réalisé.



All Articles