Für unsere Forschung zum Reichweitenaufbau im Internet beschäftigen wir uns unter anderem mit modernen Rendertechniken und Machine Learning zur (automatisierten) Content-Erstellung. Ein Aspekt ist generative AI, um aus minimalen Input (Text) automatisiert fertige vertonte Videos zu erzeugen. Im Folgenden werden auf Basis von Text mit freien Tools sog. Deepfake Videos meines Chefs Michael Mlynarski erstellt. Das funktioniert z.B. lokal auf meinem Rechner (benötigt eine RTX-kompatible Grafikkarte, d.h. ab GeForce RTX 2060). Der Ansatz hat folgende Schritte:

Für das Klonen seiner echten Stimme habe ich einen kurzen Onlinekurs [1] absolviert, welcher die Nutzung des Open Sources ML-Framework SV2TTS mit speziellen Anpassungen für die deutsche Sprache [2-3] lehrt (kommerzielle Web-Alternativen sind z.B. resemble.ai, play.ht, coqui.ai). Es besteht aus drei Bestandteilen: Encoder, Synthesizer und Vocoder. Für den Vocoder wird das mit englischer Sprache vortrainierte Standardmodell aus [1] genutzt. Encoder und Synthesizer werden mit einem Datensatz (bestehend aus vielen kurzen 5-30s Sprachsegmenten im *.wav Format sowie dem Text, der in den Segmenten gesprochen wird) mit mehreren Sprechern für die deutsche Sprache trainiert. Hierfür wurden die Datensätze von M-AILABS [4], der HUI-Audio-Corpus-German (Clean Version) [5] sowie Thorsten-Voice [6] zusammengeführt und damit gleichzeitig verwendet.
Da deutsche Stimmen beim Klonprozess mit nur kurzem Sprachbeispiel (~5 Sekunden) dann noch nicht erkennbar waren, wurde der Synthesizer speziell nachtrainiert. Einen kurzen Datensatz um ~15 Minuten mit Sprachsegment & Text lässt sich z.B. mit [7] erstellen, allerdings ist der Kalender vom Chef immer sehr voll (und ich zu ungeduldig).

Daher haben wir eine aktuelle Podcastaufnahme mit der zu klonenden Stimme verwendet. Herzlicher Dank geht an Tobias Fleming für das spontane erstellen von kurzen vorannotierten Sprachsegmenten mit OpenAI’s Whisper [8], die ich mit Audacity [9] noch etwas zu einem finalen 12,5-minütigen Datensatz aufbereitet habe. Damit antrainiert klingt das Modell tatsächlich wie der Chef:
Um aus der Sprache ein Video zu erstellen, wird zunächst mit NVIDIA Audio2Face [10] aus der Tondatei eine Gesichtsanimation erstellt und nach YouTube-Tutorial [11] als *.usd zur Verwendung in Unreal Engine 5 [12] Metahumans [13] exportiert. Die Wahl des Metahumans spielt eine eher untergeordnete Rolle, da das mit Movie Render Queue [14] erstellte Video nur als Treiber für die Kopfbewegung auf Basis eines Fotos verwendet wird. Hierfür wurde Depth-Aware Generative Adversarial Network for Talking Head Video Generation (CVPR 2022) [15] verwendet. Das Ergebnis sieht so aus:
Ein Glück, dass diese Technologie in den besten Händen ist.
- https://www.udemy.com/course/voice-cloning/
- https://github.com/CorentinJ/Real-Time-Voice-Cloning
- https://github.com/padmalcom/Real-Time-Voice-Cloning-German
- https://github.com/imdatsolak/m-ailabs-dataset
- https://github.com/iisys-hof/HUI-Audio-Corpus-German
- https://www.thorsten-voice.de/
- https://github.com/padmalcom/ttsdatasetcreator
- https://github.com/openai/whisper
- https://www.audacityteam.org/
- https://www.nvidia.com/en-us/omniverse/apps/audio2face/
- https://www.youtube.com/watch?v=x9POZqGO5B0
- https://www.unrealengine.com/en-US/unreal-engine-5
- https://www.unrealengine.com/en-US/metahuman
- https://docs.unrealengine.com/5.1/en-US/render-cinematics-in-unreal-engine/
- https://github.com/harlanhong/CVPR2022-DaGAN
0 Kommentare