Wie wir aus vier Minuten Rede die Stimme eines jungen Leonid Kuravlev nachgebildet haben

Hallo! Mein Name ist Oleg Petrov, ich bin der Leiter der Forschungs- und Entwicklungsgruppe im Speech Technology Center. Wir haben lange Zeit nicht nur an der Spracherkennung gearbeitet, sondern wissen auch, wie man Stimmen synthetisiert. Das einfachste Beispiel dafür, warum ein Unternehmen dies benötigt: Damit für jedes neue Szenario, in dem Sprachroboter unterrichtet werden, keine neue Aufzeichnung mit der Person organisiert werden muss, die es einmal geäußert hat. Wir entwickeln auch Produkte, die auf Sprach- und Gesichtsbiometrie sowie Sprachdatenanalyse basieren. Im Allgemeinen arbeiten wir an ernsthaften und komplexen Aufgaben für verschiedene Unternehmen.







Aber kürzlich kamen Kollegen von der Sberbank mit dem Vorschlag zu uns, an einer unterhaltsamen Geschichte teilzunehmen - den Helden von Leonid Kuravlev in einem neuen Video zu "äußern". Für ihn wurde das Gesicht von Kuravlev aus Bildern aus dem Film "Ivan Vasilyevich Changes His Profession" nachgebildet und mit der Deepfake-Technologie auf das Gesicht eines anderen Schauspielers gelegt. Damit wir 2020 Georges Miloslavsky nicht nur sehen, sondern auch hören können, haben wir uns entschlossen, unseren Kollegen zu helfen. In der Tat ändert sich im Laufe der Jahre die Stimme von uns allen, und selbst wenn Leonid Wjatscheslawowitsch den Helden aussprach, wäre der Effekt nicht der gleiche.



Unter dem Strich werde ich Ihnen erklären, warum sich diese bereits in vielerlei Hinsicht bekannte Aufgabe der Sprachsynthese als etwas schwieriger herausstellte als wir erwartet hatten, und ich werde erklären, warum solche Stimmen qualitativ hochwertige biometrische Autorisierungssysteme nicht täuschen können.



"Ivan Vasilievich wechselt seinen Beruf" wurde 1973 veröffentlicht. In diesem Jahrzehnt gelang es Leonid Kuravlev, in ein paar Dutzend Spielfilmen mitzuspielen. Dies hat unsere Aufgabe jedoch in keiner Weise vereinfacht:



  1. Charaktere haben möglicherweise nur wenige lange Monologe.
  2. In Spielfilmen werden akustische Effekte, Hintergrundmusik usw. der Sprache überlagert.
  3. Der Ton alter Filme aus den 70er Jahren selbst, selbst wenn er digitalisiert ist, enthält Mängel;
  4. Der Schauspieler passt die Art der Sprache immer an die Figur an, spielt verschiedene Emotionen aus, aber es war notwendig, die Art der Sprache der Figur von Georges Miloslavsky zu wiederholen.


Und trotz der hohen Unsicherheit haben wir diese Aufgabe übernommen und sind so an ihre Lösung herangegangen.



Datenerfassung für TTS-Schulungen



TTS (Text-to-Speech) ist eine Technologie zur Übersetzung von gedrucktem Text in gesprochene Sprache. Derzeit wird es in der Regel auf einem Stapel von Deep-Learning-Methoden implementiert, wodurch es möglich ist, im Vergleich zu anderen Ansätzen eine hohe Qualität des synthetisierten Sprachklangs zu erzielen. Mit den Funktionen des Christophari-Supercomputers kann das Modell beispielsweise in nur wenigen Stunden darauf trainiert werden.



Die Hauptquelle für Sprachmaterial waren Audiofragmente aus Filmen unter Beteiligung von Leonid Kuravlev - "Deep Relatives", "Es kann nicht sein", "Ivan Vasilyevich wechselt den Beruf", "Vanity of Vanities". Nicht alle Episoden des Auftretens des Helden eignen sich zum Unterrichten des TTS-Systems. Es ist notwendig, das Vorhandensein von Hintergrundmusik und Geräuschen, die Sprache anderer Akteure und verschiedene Nicht-Sprach-Manifestationen zu minimieren. Nach einer sorgfältigen Suche nach geeigneten Fragmenten haben wir höchstens 7 Minuten Sprache gewonnen, die sehr ausdrucksstark und je nach Charakter des von Leonid gespielten Charakters unterschiedlich waren. Darüber hinaus hatte jeder Film ein eigenes akustisches Bild, was auch die Wahrnehmung stark beeinflusst und die Aufgabe kompliziert.



Nachdem die Texttranskriptionen des geschnittenen Materials gemäß unserer üblichen Pipeline vorbereitet worden waren, wurde eine phonemische Transkription des Textes erstellt und mit der Audiospur ausgerichtet. Das Strecken einer Folge von Phonemen über den Ton ist erforderlich, um die Orte der tatsächlichen Pausen zu bestimmen, an denen der Sprecher den Text ausspricht. Wir haben all diese Aktionen mit Hilfe eines eigenen Sprachprozessors und eines akustischen Modells durchgeführt, das uns freundlicherweise von der Spracherkennungsabteilung zur Verfügung gestellt wurde.



Die genaue Anordnung der Phoneme auf einem Datensatz ist für ein Synthesizer-Modell nicht so wichtig, wenn es ein sogenanntes Attention-Modul enthält. Mit dem Aufmerksamkeitsmechanismus können Sie das Modell trainieren, um Phoneme unabhängig voneinander zu unterscheiden. Pausenmarkierungen sind jedoch viel wichtiger. Erstens können Pausen sehr unterschiedlich lang sein, und wenn Sie die genaue Länge kennen, können Sie die Stabilität während des Lernens aufrechterhalten, und zweitens sind Pausen häufig Indikatoren für Syntagma-Grenzen. unabhängige strukturelle Spracheinheiten - mit denen es oft möglich ist, die Grenzen unabhängiger Aussagen zu ziehen. Auf diese Weise können Sie zu lange Phrasen in kürzere Phrasen aufteilen, um den GPU-Speicher während des Trainings effizienter zu nutzen, und den Datensatz durch Auflisten aller möglichen Aufteilungsoptionen geringfügig erhöhen.



Datenbereinigung



Obwohl wir versucht haben, möglichst saubere Aufnahmen aus den Filmen zu extrahieren, wurden einige von ihnen immer noch von Nebengeräuschen (Stadtgeräusche, Naturgeräusche, Wassergeräusche usw.) oder Musik begleitet.



Um dies zu beheben, haben wir zwei Open-Source-Projekte verwendet: ein Modell zur Verbesserung der Sprachqualität, das direkt mit dem rohen Audiosignal arbeitet, und einen Algorithmuszum Teilen einer musikalischen Komposition in Teile: Stimme, Schlagzeug, Bass und den Rest. Wir mussten klare Aufzeichnungen der Stimme des Sprechers mit maximaler Klangqualität erhalten (für unser TTS-System - 22050 Hz). Alle Artefakte werden sicherlich in das neuronale Modell der Stimme des Sprechers eindringen, insbesondere wenn es um eine so kleine Trainingsprobe geht. Dank der aufgeführten Projekte war es für etwa die Hälfte der gesammelten Beispiele möglich, Musik und Sprache ohne signifikanten Qualitätsverlust vollständig zu trennen.



Infolgedessen haben wir nach all den Manipulationen immer noch 4 Minuten und 12 Sekunden reine Sprache in der Stimme von Leonid Vyacheslavovich Kuravlev. Es wurde klar, dass unsere Kampfarchitektur TTS, die Sie übrigens in der Cloud hören können) ist für diesen Fall nicht geeignet. Genau zur Hand war jedoch ein relativ frisches, ungewöhnliches TTS-Modell von NVidia namens Flowtron , das auf der Inverse Autoregressive Flow (IAF) -Methode basiert.



Das Hauptmerkmal des Flowtron-Modells besteht darin, dass es verwendet werden kann, um verschiedene Arten der Aussprache desselben Textes mit einer Vielzahl von Intonationen und Sprachstilen zu synthetisieren. Diese Eigenschaft ist jedoch ein "zweischneidiges Schwert", da die vom Modell generierten Beispiele in Bezug auf die Wahrnehmung bei weitem nicht immer angemessen sind. Die Intonation kann sich sehr abrupt und unnatürlich ändern, die Tonhöhenfrequenz (Stimmlage) kann sich über einen weiten Bereich ändern und einen lustigen, aber unnötigen Klang erzeugen. Je mehr Anfangsdaten für das Training vorhanden sind, desto natürlicher und stabiler ist es, Sprache zu erzeugen. Aber selbst mit einer kleinen Menge Material ist es manchmal möglich, gute Beispiele zu synthetisieren. Wir haben beschlossen, sie zu bekommen.



Zunächst musste ein vorhandenes Modell, das auf einem großen ausdrucksstarken Datensatz trainiert war, trainiert werden, um mit einer neuen Stimme zu sprechen. Wenn Sie nur alle 4 Minuten und 12 Sekunden Daten aufnehmen und "füttern", wird das Modell abhängig von dem Parameter, der die Empfindlichkeit des Trainings reguliert, entweder sofort neu trainieren (sehr schlecht sprechen) oder sehr, sehr schlecht lernen (auch nicht mit einer neuen Stimme sprechen). ... Und Sie können den optimalen Wert des Parameters lange und mit Begeisterung „erfassen“. Es wird empfohlen, neue Daten in einem geeigneten Verhältnis mit alten Daten zu mischen (z. B. einer von zehn). Dann haben die neuen Daten vor Beginn des Umschulungsprozesses Zeit, sich gut zu "assimilieren". Sie taten dies, aber zuerst schnitten sie Beispiele für Pausen mit Überlappung, die mit einer leichten Bewegung der Finger auf der Tastatur 4 Minuten Sprache in 23 verwandeln.



Das so trainierte Modell war bereits in der Lage, etwas mit der Stimme des Künstlers zu synthetisieren, aber in einem von zwanzig Fällen wurden mehr oder weniger adäquate Beispiele erhalten. Es ist auch wichtig, den notwendigen Stil, die Intonation, die Emotionen und die Klangqualität zu erhalten, was in diesem Fall äußerst schwer zu kontrollieren ist. Daher war es notwendig, mehrere Zehntausende von Beispielen zu synthetisieren, um mehrere geeignete aus ihnen manuell auszuwählen.



Hier helfen uns normalisierende Strömungen, auf denen das Modell selbst aufgebaut ist. Tatsächlich lernt Flowtron, die akustischen Merkmale eines Sprachsignals angesichts des Textes auf Punkte aus einer Normalverteilung derselben Dimension anzuzeigen, und diese Anzeige ist reversibel. Während der Synthese findet der umgekehrte Prozess statt (daher sind die Flüsse umgekehrt und normalisieren sich). Auf diese Weise können Sie einen Datensatz aufnehmen, ihn mithilfe eines Modells für bestimmte Punkte anzeigen und denselben Datensatz von diesen Punkten zurückerhalten. Nutzlos? Nicht wirklich! Sie können diese Punkte sorgfältig mit denselben aus einer anderen Aufnahme mischen und dadurch teilweise den Stil der letzten Aufnahme übertragen. Sie können ihnen ein wenig Rauschen hinzufügen und eine fast originelle Aufnahme erhalten, die sich geringfügig vom Original unterscheidet. Aber wenn Sie viel Lärm hinzufügen, bekommen Sie Unsinn. Auf diese Weise können Sie den ursprünglichen Datensatz multiplizieren und viele ähnliche erhalten.aber nicht genau die gleichen Beispiele!



In diesem Fall kann man sich jedoch nicht vollständig auf den Anstand des Modells verlassen. Sie kann viele Dinge synthetisieren. Ich musste mir mehrere tausend solcher Beispiele eines replizierten Datensatzes anhören und fachmännisch hochwertige auswählen. Dieser Ansatz kann als „Modell mit Ohren“ bezeichnet werden. So konnten wir von den ersten 23 Minuten an eine ganze Stunde Trainingsdaten abrufen (unter Berücksichtigung des Pausenschnittes).



Dieses mehrstufige Schulungsprogramm hat Früchte getragen. Obwohl die meisten Beispiele, die mit seiner Hilfe synthetisiert wurden, bereits recht würdig klangen, erforderte es dennoch "Brute Force". Wir haben Punkte aus Beispielen von Ivan Vasilievich zu den Startpunkten hinzugefügt. Irgendwo stellte sich die Wirkung eines alten Films oder eines großen Raums heraus. Oder der Satz kam in der Stimme eines Künstlers heraus, aber nicht auf "miloslawische" Weise. Musste schon "nur" aus ein paar tausend Proben auswählen. Es stellte sich heraus, dass es ungefähr dreihundert Beispiele für die erforderlichen kurzen Phrasen mit einer Vielzahl von Stilen und Intonationen gab, für die wir tatsächlich Beispiele für Sbers Promo-Video ausgewählt haben.



Nachdem wir in unserem RTC-Sprachsyntheseteam eine Art wöchentlichen Hackathon abgehalten hatten, konnten wir die Stimme von vor 50 Jahren in nur 4 Minuten wieder herstellen. Die Technologie, die wir getestet haben, eröffnet die Möglichkeit, die längst verlorenen Stimmen berühmter Persönlichkeiten aus einer äußerst geringen Menge an Material nachzubilden. Sie können sehen, was am Ende daraus geworden ist.





Nachdem Sie dies alles gelesen haben, haben Sie wahrscheinlich gedacht, dass solche technologischen Fähigkeiten die Zuverlässigkeit biometrischer Systeme in Frage stellen, da die Stimme einer öffentlichen Person, eines Videobloggers oder eines normalen Social-Media-Benutzers, der Amateurvideos veröffentlicht, leicht gefälscht werden kann. Trotz der Tatsache, dass die synthetisierte Stimme von Leonid Kuravlev nach Gehör nicht von der realen zu unterscheiden ist, handelt es sich immer noch um eine Synthese. Dies bedeutet, dass es solche Klangmerkmale enthält, die darauf hinweisen, dass die Stimme nicht lebt. Anti-Spoofing und Schutz vor Hackern finden häufig in speziellen wissenschaftlichen Wettbewerben statt, einschließlich Weltwettbewerben, bei denen unser Team gewonnen hat... Wir sind der Meinung, dass Entwickler bei den MDGs immer einen Schritt voraus sein und nicht nur neue Technologien und Produkte auf dieser Basis entwickeln sollten, sondern auch ständig nach neuen Schutzmitteln suchen sollten, ohne bei dem Erreichten stehen zu bleiben.



All Articles