Wie kann man jemandes Stimme nachahmen / kopieren / vortäuschen?

19

Gibt es eine Anwendung, mit der Sie die Stimme eines anderen abtasten und eine andere Stimme modulieren oder einen Text synthetisieren können, der der Originalstimme ähnelt?

Mit dieser Text-to-Speech-Demo von AT & T können Sie beispielsweise eine Stimme und eine Sprache aus Presets auswählen, die meiner Meinung nach auf einer menschlichen Stimme basieren, die gesampelt wurde.

Wie nennt man diesen Prozess? Ist es Sprachmodulation? Sprachsynthese?

clapas
quelle
Ich denke, wenn Sie genug Trainingsbeispiele für bestimmte Wörter hätten, könnte es möglich sein
Phorce
In der Forschungsgemeinschaft wird dies als "Sprachumwandlung" bezeichnet.
Pichenettes
@ user1582478 Ich habe viele davon, wie würden Sie vorgehen?
Clapas
Ist es möglich, eine Stimme aus einem Spruch eines Freundes zu erstellen und diese dann live bei einem Telefonanruf zu nehmen, ähnlich wie bei einem Voice Morph, aber mit der Stimme, die Sie erstellt haben?
Dies ist keine Antwort auf die Frage. Wenn Sie einen Autor kritisieren oder um Klärung bitten möchten, hinterlassen Sie einen Kommentar unter seinem Beitrag. Sie können jederzeit Ihre eigenen Beiträge kommentieren. Wenn Sie über eine ausreichende Reputation verfügen, können Sie jeden Beitrag kommentieren .
Matt L.

Antworten:

24

Eine erste Anmerkung: Die meisten modernen Text-zu-Sprache-Systeme, wie das von AT & T, mit dem Sie verbunden sind, verwenden eine verkettete Sprachsynthese . Bei dieser Technik wird eine große Datenbank mit Aufzeichnungen der Stimme einer Person verwendet, die eine lange Sammlung von Sätzen enthält - so ausgewählt, dass die größte Anzahl von Phonemkombinationen vorhanden ist. Das Zusammensetzen eines Satzes kann einfach durch Aneinanderreihen von Segmenten aus diesem Korpus erfolgen. Das Herausfordernde dabei ist, das Aneinanderreihen nahtlos und ausdrucksstark zu gestalten.

Es gibt zwei große Hürden, wenn Sie diese Technik verwenden möchten, um Präsident Obama dazu zu bringen, peinliche Worte zu sagen:

  • Sie müssen Zugriff auf eine große Sammlung von Sätzen der Zielstimme haben, die vorzugsweise mit einheitlichen Aufnahmebedingungen und guter Qualität aufgenommen wurden. AT & T hat ein Budget, um Dutzende von Stunden mit demselben Sprecher im selben Studio aufzunehmen, aber wenn Sie die Stimme einer anderen Person nach nur 5 Minuten Aufnahme vortäuschen möchten, ist dies schwierig.
  • Es gibt eine beträchtliche Menge an manueller Ausrichtung und Vorverarbeitung, bevor das aufgezeichnete Rohmaterial in dem richtigen "Format" vorliegt, um von einem verketteten Sprachsynthesesystem genutzt zu werden.

Ihre Vorstellung, dass dies eine mögliche Lösung ist, ist berechtigt - vorausgesetzt, Sie haben das Budget, um diese beiden Probleme anzugehen.

Glücklicherweise gibt es andere Techniken, die mit weniger Aufsicht und weniger Daten arbeiten können. Das Gebiet der Sprachsynthese, das eine Stimme aus einer Aufzeichnung "vortäuschen" oder "nachahmen" möchte, ist als Sprachumwandlung bekannt . Sie haben eine Aufzeichnung A1 des Zielsprechers A, die Satz 1 sagt, und eine Aufzeichnung B2 des Quellsprechers B, die Satz 2 sagt, Sie möchten eine Aufzeichnung A2 des Sprechers A, die Satz 2 sagt, möglicherweise mit Zugriff auf eine Aufzeichnung B1 des Sprechers B wiedergeben mit seiner / ihrer Stimme die gleiche Äußerung wie der Zielsprecher.

Der Umriss eines Sprachumwandlungssystems ist der folgende:

  1. Audio-Features werden aus der Aufzeichnung A1 extrahiert und in akustische Klassen zusammengefasst. In diesem Stadium ist es ein bisschen so, als würden Taschen alle "a" von Sprecher A, alle "o" von Sprecher A usw. sein. Beachten Sie, dass dies eine viel einfachere und gröbere Operation ist als echte Spracherkennung - wir sind nicht daran interessiert Wenn wir richtig geformte Wörter erkennen - und wir wissen nicht einmal, welche Tasche "o" und welche Tasche "a" enthält -, wissen wir nur, dass wir in jeder Tasche mehrere Instanzen desselben Klangs haben.
  2. Der gleiche Prozess wird auf B2 angewendet.
  3. Die Akustikklassen von A1 und B2 sind aufeinander abgestimmt. Um mit der Taschen-Analogie fortzufahren, entspricht dies dem Koppeln der Taschen aus Schritt 1 und 2, sodass alle Töne, die wir in dieser Tasche von Lautsprecher A haben, den Tönen entsprechen sollten, die wir in dieser Tasche von Lautsprecher B haben Dies ist viel einfacher, wenn in Schritt 2 B1 verwendet wird.
  4. Für jedes Beutelpaar wird eine Zuordnungsfunktion geschätzt. Da wir wissen, dass dieser Beutel Töne von Sprecher A enthält und dieser Beutel dieselben Töne, die jedoch von Sprecher B gesagt werden - können wir eine Operation (zum Beispiel eine Matrixmultiplikation auf Merkmalsvektoren) finden, die sie korrespondieren lässt. Mit anderen Worten, wir wissen jetzt, wie das "o" von Lautsprecher 2 wie das "o" von Lautsprecher 1 klingt.
  5. Zu diesem Zeitpunkt haben wir alle Karten in der Hand, um die Sprachumwandlung durchzuführen. Aus jeder Schicht der Aufnahme von B2 ermitteln wir anhand des Ergebnisses von Schritt 2, welcher akustischen Klasse sie entspricht. Wir verwenden dann die in Schritt 4 geschätzte Zuordnungsfunktion, um das Slice zu transformieren.

Ich bestehe darauf, dass dies auf einem viel niedrigeren Niveau abläuft als die Spracherkennung auf B2 und dann TTS unter Verwendung der A1-Stimme als Korpus.

Für die Schritte 1 und 2 werden verschiedene statistische Techniken verwendet, wobei GMM oder VQ die häufigsten sind. Für Teil 2 werden verschiedene Ausrichtungsalgorithmen verwendet - dies ist der schwierigste Teil, und es ist offensichtlich einfacher, A1 gegen B1 auszurichten als A1 gegen B2. Im einfacheren Fall können Methoden wie Dynamic Time Warping verwendet werden, um die Ausrichtung vorzunehmen. Wie in Schritt 4 sind die häufigsten Transformationen lineare Transformationen (Matrixmultiplikation) auf Merkmalsvektoren. Komplexere Transformationen sorgen für realistischere Imitationen, aber das Regressionsproblem zum Finden der optimalen Abbildung ist komplexer zu lösen. Schließlich ist die Qualität der Resynthese in Schritt 5 durch die verwendeten Merkmale begrenzt. LPC lassen sich in der Regel einfacher mit einer einfachen Transformationsmethode umgehen (Signalrahmen nehmen -> Residuum abschätzen und LPC-Spektrum -> ggf. Pitch-Shift-Residuum -> modifiziertes LPC-Spektrum auf modifizierten Rest anwenden). Der Schlüssel liegt hier in der Verwendung einer Sprachdarstellung, die in den Zeitbereich zurückverwandelt werden kann und eine gute Trennung zwischen Prosodie und Phonemen bietet! Vorausgesetzt, Sie haben Zugriff auf aufeinander abgestimmte Aufzeichnungen von Sprecher A und B, die denselben Satz sagen, gibt es statistische Modelle, die gleichzeitig die Schritte 1, 2, 3 und 4 in einem einzigen Modellschätzungsverfahren angehen.

Vielleicht komme ich später mit einer Bibliographie zurück, aber ein sehr guter Ausgangspunkt, um ein Gefühl für das Problem und den allgemeinen Rahmen zu bekommen, der zur Lösung des Problems verwendet wird, ist Stylianou, Moulines und Cappés "Ein System zur Sprachumwandlung auf der Basis einer probabilistischen Klassifikation und einer Harmonischen plus Geräuschmodell ".

Meines Wissens gibt es keine weit verbreitete Software, die eine Sprachumwandlung durchführt - nur Software, die die Eigenschaften der Quellstimme modifiziert - wie Tonhöhe und Länge des Stimmtrakts (zum Beispiel IRCAM TRAX-Transformator) - mit denen Sie in der Hoffnung herumspielen müssen, Ihre Stimme zu verändern Ton näher an der Zielstimme aufnehmen.

Pichenetten
quelle
Ehrfürchtige Antwort! Ich hätte es ohne die Taschen-Analogie wahrscheinlich nicht verstehen können ... Es gibt nur eine Sache, die ich nach dieser so klaren Erklärung nicht verstehe: Nach meinem Verständnis kann man immer B1 haben! Vielen Dank.
Clapas
Nicht, wenn A und B eine andere Sprache sprechen (es gibt unheimliche Sprachumwandlungsanwendungen, bei denen TTS in einer anderen Sprache mit Ihrer eigenen Stimme wiedergegeben wird!). Oder wenn A und B beide berühmte Personen sind, für die Sie nicht in allen öffentlich verfügbaren Aufzeichnungen einen ausreichend langen gemeinsamen Satz finden können, und wenn Sie ihre Sprache nicht sprechen, können Sie eine Aufzeichnung Ihrer Stimme nicht als Sprachausgabe verwenden "Brücke" zwischen den beiden.
Pichenettes
Aha. Nochmals vielen Dank @pichenettes. Ich werde versuchen, einen Blick auf das von Stylianou et al. Cheers
clapas
Bitte aktualisieren Sie Ihre Antwort mit Links zu den von Ihnen verwendeten Akronymen. ZB LPC, VQ, GMM.
aaronsnoswell
Als Antwort auf den Kommentar von aaronsnoswell: LCP: Linear Predictive Coding, VQ: Vektorquantisierung, GMM: Gaußsches Mischungsmodell. Es ist nicht offensichtlich, dass die bloße Erweiterung dieser Akronyme viel hilft, da jede Idee eine komplizierte ist, aber (ungefähr) jede Idee bezieht sich auf das Modellieren oder Erklären von pst- oder zukünftigen Daten aus einem Satz bestehender Stichproben.
GregD
2

Sie können so etwas wie MorphVox verwenden . Hier ist eine Demonstration. Der Prozess wird Voice Morphing oder Konvertierung genannt. Wenn Sie sich für technische Aspekte interessieren, können Sie sich in einem kürzlich erschienenen Artikel mit der Sprachkonvertierung unter Verwendung der Regression partieller kleinster Quadrate des dynamischen Kernels befassen .

Emre
quelle
Dark Vaders Stimme rockt Kumpel, es war lustig. Nun, ich habe schon ähnliche Effekte gesehen. Vielen Dank
clapas
1

Ich suche das Gleiche, aber das geht nicht. In Schottland gibt es ein Unternehmen namens CereProc, das Sprachmodelle erstellt. Sie benötigen jedoch jemanden, der zu Laborzeiten Audiodaten aufzeichnet. Die Kosten für die Modellierung einer einzelnen Stimme belaufen sich auf rund 30.000 USD.

Jim
quelle
0

Was Sie suchen, heißt Vocoder.

Haben Sie Audcitys Vocoder ausprobiert? Audacity kann von folgender Adresse heruntergeladen werden: http://audacity.sourceforge.net/download . Eine Demo zur Verwendung finden Sie unter https://www.youtube.com/watch?v=J_rPEmJfwNs .

SpeedCoder5
quelle
1
Beim Vocodieren wird die spektrale Hüllkurve einer Audioaufnahme (normalerweise eine Stimme) angewendet, um einen anderen Sound (normalerweise einen rohen, unmodulierten Synthesizer-Sound) zu filtern. Es kann nicht verwendet werden, um jemandes Stimme zu fälschen.
Pichenettes
Ja, ich kenne Audacity, aber ich habe den Vocoder nicht ausprobiert. Ich denke, Sie können nur weißes Rauschen auf die Hüllkurve der aufgenommenen Stimme anwenden. Vielen Dank
Clapas