Zum Inhalt springen

Werk:AI mit Arnie/Google Colab Wav2Lip - Lasst uns Spaß haben

aus AufEinWort, der freien Forschung
▶ Kurs Diffusion meistern
📽️ 8 Google Colab Wav2Lip Lasst uns Spaß haben (16:35)
🎓 Google Colab Wav2Lip: Lasst uns Spaß haben
KI-Videos
▲ Heygen: KI-Avatare, KI Klone & mehr
▶ Google Colab Wav2Lip: Lasst uns Spaß haben
▼ Stable Diffusion: Deforum & WrapFusion


In diesem Video sehen wir uns eines meiner Lieblings-Colab-Notebooks an. Das Colab-Notebook nennt sich Wav2Lip. Was kann man damit machen? Damit kann man die sogenannte Technologie Lip-Sync machen. Das heißt, die Lippen von irgendeiner Person bewegen sich genauso, wie du es willst. Du kannst Audios einspielen und ganz einfach die Videos von anderen Personen so umändern. Damit kannst du verschiedenste Dinge machen: Du kannst, wenn du ein Video von dir hast, dieses meinetwegen übersetzen in andere Sprachen und deine Lippen dazu passend bewegen lassen. Du kannst dir andere Stimmen hinzufügen. Du kannst anderen Menschen deine Stimme hinzufügen. Die Möglichkeiten sind hier sehr, sehr groß. Auch diese sogenannten Deep Fakes lassen sich damit richtig, richtig gut erstellen. Dafür muss man einige Dinge kombinieren.  

In diesem Video sehen wir uns erstmal die Standard-Dinge von diesem Colab-Notebook an. Und dreimal kannst du raten, wo wir das Notebook finden. Ganz genau, das Notebook finden wir auf GitHub. Das Notebook nennt sich Wav2Lip. Es wurde von diesem Typen hier erstellt, und er lässt uns den Code gratis verwenden. Wenn wir hier ein klein wenig runterscrollen, dann siehst du hier wirklich viele Informationen. Du kannst dir wirklich verschiedenste Dinge mit ansehen. Hier siehst du eigentlich auch, was genau für  Technologien genau verwendet werden: Wav2Lip, das ist eigentlich eine Lip-Sync-Technologie, Wav2Lip plus GAN, damit es besser visuell sichtbar ist. Und eigentlich sind das schon meiner Meinung nach die wichtigsten Dinge.  

Was ist ein GAN? Ein GAN ist nicht ganz so wie ein Diffusion-Modell, aber relativ relativ ähnlich. Du weißt noch, wie ein Diffusion-Modell funktioniert: Ein Diffusion-Modell erstellt natürlich Bildern aus verschiedensten Pixeln, aus dem „Nebel“ heraus. GANs machen das ein klein wenig anders. Wir müssen hier nicht zu tief in die Technologie von GANs eintauchen. Du kannst dir das ganz einfach so vorstellen: Es werden so lange zwei Bilder miteinander verglichen, bis der Computer sagt: „Hey, das Bild ist das Gleiche!“ Ja, wir machen das jetzt sehr einfach. Der Computer bekommt ganz einfach so lange zwei Bilder, bis er sagt, das ist das Gleiche. Und dann wird er das übernehmen.  

So oder so ähnlich wird das beim Lip-Sync gemacht. Das heißt, das Gesicht von dem, das wir klonen wollen, bleibt gleich, und die Lippenbewegungen werden dank dieser GAN-Technologie von Computern ganz einfach angepasst. Solange, bis man eine Lippenbewegung hat, die zu unserer Sprache passen.

Also, wir sind hier auf GitHub, in diesem GitHub-Repo. Und in diesem GitHub-Repo bekommen wir den Link zu einem Colab-Notebook. Das ist wirklich sehr, sehr praktisch.  

Auf dieser GitHub-Webseite will ich dir erst noch sagen, dass die Technologie an sich schon seit 2020 da ist und dass sie hier viele verschiedene Dinge mit dabei haben. Sie haben das originale Research-Paper, eine Projektseite, ein Demo-Video, Live-Testing, wenn du das machen willst. Aber wir fokussieren uns hier vor allem auf das Colab-Notebook, weil es so einfach ist.

Hier gibt es zwei Notebooks. Ich öffne die einfach mal beide in einem Fenster. Und wenn du auf diese Dinge draufgehst, dann siehst du, das ist hier das erste Colab-Notebook. Das sieht ziemlich groß aus und auch etwas unübersichtlich, muss ich sagen. Ich glaube, das ist hier das Notebook, das tatsächlich schon seit 2020 da ist.  

Das zweite Notebook mit dem Update hat danach innendrin noch mal ein neues Update bekommen, und zwar das da.

Und wenn du auf dieses Ding hier draufklickst, dann bist du im richtigen Colab-Notebook, das auch funktioniert. Hier ist das GitHub-Paper verlinkt. Hier ist die GitHub-Seite verlinkt, das Paper und das originale Notebook. Generell funktioniert das immer so, dass du diese Schritte ausführst, die wir uns jetzt natürlich ansehen.  

Das Colab-Notebook sieht so aus: Wav2Lip simplified, die Version 5. Hier bekommen wir noch mal den Link zu GitHub, den Link zu einem Research-Paper und das originale Notebook. Also, das erste. Das ist etwas komplexer. Wir arbeiten mit dem Einfacheren.

Was musst du in diesem Notebook machen? Eigentlich weißt du es schon: Du musst darauf achten, dass du die richtige Laufzeit ausgewählt hast. Normalerweise wird die automatisch richtig ausgewählt. Und danach fangen wir an, entweder mit dem Verbinden – wie du siehst, wir haben hier schon GPU ausgewählt – oder wir klicken ganz einfach nacheinander „Play“ bei den richtigen Zellen.  

Step 1: Wav2Lip-Setup. Hier werden ganz einfach die Dinge installiert, die wir brauchen. Also, klicken wir „Play“ bei dieser Zelle. Du siehst, dieser Code kommt von GitHub. Also ist natürlich immer ein Risiko dabei, wenn man Code ausführt. Jedoch kennen alle dieses Notebook. Das Notebook funktioniert, deshalb machen wir trotzdem ausführen.

Wir haben den Code von GitHub ausgeliehen. Diesen Code führen wir jetzt sozusagen in der Cloud aus, weil uns Google die GPU-Power ausleiht. Und es wird ganz einfach jetzt alles installiert, was wir hier danach brauchen, um weiter vorzugehen.  Das dauert auch nur wenige Minuten. Du kannst hier auch sehen, wie dieser Code ausgeführt wird.

Wenn du auf GitHub zurückgehst, dann siehst du, dass ganz einfach diese Dinge hier nacheinander ausgeführt werden. Und zwar in der Cloud. Du siehst, die ganzen Codes werden nacheinander ausgeführt, Dinge werden installiert. Wir müssen uns hier nicht unbedingt um den Kleinkram kümmern, denn das Ding funktioniert hinterher.

Das Ganze hat jetzt in etwa 50 Sekunden gedauert. Und nach diesen 50 Sekunden bekommst du eine Meldung: „Hey, das alles war erfolgreich!“  

Was machst du als Nächstes? Ja, genau, wir gehen zur nächsten Zelle. Was macht die nächste Zelle? Lip-Sync YouTube Video. Das heißt, wir können auf YouTube ein Video suchen, von dem wir ganz einfach einen Lip-Sync machen wollen. Und das werden wir jetzt zusammen machen. Wir müssen eine URL einfügen. Die URL sollte bestenfalls genauso aussehen wie dieses Beispiel hier.

Ich entscheide mich hier ganz einfach für dieses Video. Das ist ein Interview von Elon Musk. Wir haben hier drunter zwar diesen kleinen Text als Untertitel. Den könnten wir danach rausschneiden. Wir könnten auch die Untertitel bei YouTube ausstellen. Wir machen das jetzt jedoch schnell.  

Du siehst, der YouTube-Link sieht ganz genauso aus, wie wir wollen. Mit Doppelklick bekommen wir auch das „https“ dazu. Das heißt, wir kopieren diesen Link und gehen zurück in unser Colab-Notebook. Und hier bei „YouTube URL“ geben wir jetzt ganz einfach unseren Link an.

Scrollen wir noch etwas runter, dann haben wir hier natürlich Start und End. Es ist wichtig, dass das Gesicht, das du Deep-Faken willst, in jedem einzelnen Frame zu sehen ist. Wenn wir noch mal zurückgehen auf dieses Video, dann brauche ich, weil ich eben nur eine sehr kurze Audiodatei hab, ein Video, das in etwa fünf Sekunden lang ist.  

Sehen wir uns einfach mal an, ob von Minute 7 bis, meinetwegen, Minute 7:10 diese Dinge erfüllt werden. Und ich muss sagen, das sieht sehr gut aus. Bei 7 startet Elon Musk zu sprechen, und ich glaube, er spricht ganz einfach durch bis 7:10. Also werden wir diese Minuten hier auswählen.

Wir gehen zurück in unser Notebook, und wir geben hier Start und Ende an. 7 Minuten sollten 420 Sekunden sein. Und hier drunter machen wir danach ganz einfach 10 Sekunden mehr, das heißt 430. Sobald wir das gemacht haben, können wir ganz einfach „Play“ bei dieser kleinen Zelle klicken.  

Und du siehst, der Code wird hier wieder automatisch ausgeführt. Es wird ganz einfach auf diese URL gegangen, also auf diesen Link. Dinge werden heruntergeladet. Und wir bekommen danach ganz einfach das Video hier reingespielt, beziehungsweise die 10 Sekunden vom Video. Hier kannst du dir den Download ansehen. Das geht relativ schnell. Wir haben jetzt 15, 16, 17 % runtergeladen. Sobald das runtergeladen ist, wird es hier eingeblendet. Wir sehen uns, sobald das soweit ist. Danach werden wir Step 3 machen. Wir werden danach ein Audio-Ding hochladen. Wir können etwas aufnehmen oder von unserem lokalen Ding hochladen.

Und du siehst, jetzt wurde dieser Code ausgeführt, und wir haben das Video hier integriert. Das Video ist hier jetzt also eingebaut. Scrollen wir etwas nach unten, dann müssen wir hier den Pfad angeben, und zwar zu unserer Datei. Im Optimalfall ist das eine WAV-Datei. Es kann aber auch gerne eine MP3-Datei sein.  

Du musst nicht mal unbedingt das Ding hier hochladen. Du kannst auch noch weiter runterscrollen und das Ding hier lokal von deinem Computer hochladen. Ich werde mich aber ganz einfach dafür entscheiden, hier den Pfad anzugeben. Falls du noch nirgens nichts hochgeladen hast, kannst du auf diesen Ordner klicken, auf diese Dateien. Hier ist ganz einfach wichtig, dass du deinen Google Drive verbunden hast. Das heißt, in deinem Google-Drive-Account solltest du eine Datei haben.

Ich werde gerade jetzt eine Datei machen, und zwar aus diesem Audio: „Hey Elon Musk, hier, ich bin heute leider etwas erkältet.“ Ich sehe, ob ich genau das hochlade oder etwas Ähnliches. Alles, was wir machen müssen, ist ganz einfach, hier die Dinge hochzuladen. Dafür müssen wir sichergehen, dass unser Drive gemountet ist – nennt man das. Wir klicken dafür „Play“ bei dieser Zelle. Wir stellen ganz einfach nur die Verbindung zu unserem Google Drive bereit. Sollten wir etwas in Google Drive gespeichert haben, müssen wir natürlich Zugriff erlauben. Und genau das werde ich jetzt auf alle Fälle machen.  

Sobald wir das erlaubt haben, dauert es auch nicht mehr lange, bis hier drüben unser Drive erscheint. Wir können danach in unseren Drive entweder Dinge hochladen oder schon hochgeladene Dinge verwenden.

Wenn du hier auf „Aktualisieren“ klickst, dann sollte irgendwo „Drive“ erscheinen. Ja, genau: Drive, My Drive. Und jetzt kannst du hier in verschiedene Ordner die Sachen hochladen. Meinetwegen lade ich es hier ganz einfach hoch in „AI“. Ich habe das kleine Audio ausgeschnitten von vorhin, und ich ziehe das ganz einfach rein in diesen Ordner „AI“.  

Und wir müssen das natürlich alles erlauben und „Okay“ klicken. Danach geben wir den Pfad zu unserem Ordner genau hier an, und das Ganze kann losgehen. In „AI“ drinnen haben wir jetzt also unsere Audiodatei. Ich mache hier beim Dreipunktmenü „Pfad kopieren“. Wir geben den Pfad ganz genau hier an und danach klicken wir „Play“ bei dieser Zelle. Sobald das hochgeladen ist, kannst du es hier sehen. Und du kannst es natürlich auch bei „Play“ anhören: „Hey Elon Musk, hier, heute bin ich leider ein klein wenig erkältet.“  

Übrigens, wenn du hier „Upload“ eingibst, dann musst du danach auf den „Upload“-Button klicken. Und du kannst auch die Dinge von deinem Computer hochladen, also von deinem Desktop. Willst du den Pfad angeben, so wie ich es gemacht habe, dann musst du in diesem Dropdown-Menü natürlich auch „Custom Path“ auswählen. Tatsächlich habe ich das gerade eben übersehen, und ich habe es hochgeladen. Also, wenn du es über diesen Pfad machen willst, dann musst du auf alle Fälle „Custom Path“ auswählen, bevor du „Play“ bei dieser Zelle klickst.  

Und im Groben war es das. Wlso wir haben das Video importiert von YouTube, und zwar genau bei den Sekunden von den Frames, die wir hier im Lip-Sync machen sollten. Es ist wichtig, dass das Video ein klein wenig länger ist als das Audio, wo du den Lip-Sync machen willst. Warum? Denn wenn dein Audio länger ist, dann wird das Video von vorne beginnen, und du hast komische Cuts mit drinnen. Wenn das Video länger ist als das Audio, dann wird das Video automatisch ein klein wenig zugeschnitten, und das Ganze passt perfekt.  

Wir haben also das Video hochgeladen mit den passenden Frames. Wir haben ein Audio hochgeladen. Und hier unten bei Step 4 können wir einfach nur noch klicken. Und jetzt wird wieder im Hintergrund natürlich der Code ausgeführt, der die zwei Dinge miteinander verschmelzen lässt.

Und du siehst, jetzt wird dieser gesamte Code hier ausgeführt. Ich muss dazu sagen, das dauert jetzt ein klein wenig länger – meistens so eine Minute bis hoch zu fünf Minuten. Es kommt natürlich darauf an, wie viele Dinge du hier verschmelzen lässt. Wir sehen uns einfach, sobald die zwei Dinge verschmolzen wurden.

Diesmal dauerte es tatsächlich wirklich nur 53 Sekunden, wie du hier oben sehen kannst. Und wir haben unser fertiges File. Es dauert fünf Sekunden lang, also genau so lang wie das Audio-Format. Sehen wir uns einfach mal bei diesem „Play“-Button an, was wir hier bekommen haben: „Hey Elon Musk, hier, heute bin ich leider ein klein wenig erkältet.“ Ich finde, das hat schon wirklich ziemlich, ziemlich gut funktioniert.  

Du kannst auf das Dreipunktmenü klicken und es herunterladen. und es wird automatisch auf deinem Computer gespeichert und alles heruntergeladen. Wir haben also mit GANs hier ganz einfach einen Lip-Sync gemacht. Ich finde die Technologie cool. Das ist eines der Colab-Notebooks, die am einfachsten zu verwenden sind, und deshalb wollte ich auch das am Anfang vorstellen.  

Mit diesem Colab-Notebook kannst du natürlich auch viel, viel coolere Dinge machen und bessere Deep Fakes erstellen, was wir uns später ansehen werden. Dafür kombinieren wir diese Technologie mit Eleven Labs und geklonten Stimmen. Aber das Grundkonzept ist immer das Gleiche.  

Und ich muss noch dazu sagen, wenn du oben bei diesem Colab-Notebook startest, dann haben wir das natürlich alles hier gemacht: Wir haben hier den Upload von YouTube gemacht. Du hast auch die Möglichkeit, dir danach das YouTube-Video hier herunterzuladen und ans Ende zu scrollen. Ich mache das tatsächlich auch oft am Ende. Und genau das gleiche Konzept hier zu machen: Du kannst dieses Video hier hochladen, dein Audio hier hochladen, wenn du all die Dinge ganz einfach schon lokal auf deinem Computer hast.  

Du kannst auch Videos, die du jetzt schon auf dem Computer hast, ganz einfach hier hochladen, ohne dass du irgendwas von YouTube verwendest. Also, wenn du schon ein Video auf deinem Computer hast, dann kannst du das hier hochladen, bei den Zellen, die etwas weiter unten sind, und auch das Audio hier hochladen. Und danach hier unten bei Step 4 einfach wieder „Play“ klicken, um die zwei Dinge verschmelzen zu lassen.  

In diesem Video haben wir uns also eines meiner Lieblings-Colab-Notebooks angesehen: das Wav2Lip. Wav2Lip lässt jeden sagen, was du ihn sagen lassen willst. Du kannst dein Audio verwenden und das auf fremde Gesichter packen. Du kannst dein Gesicht verwenden und natürlich auch dort fremdes Audio drüberlegen. Ich hätte genauso gut meinetwegen Sätze von Elon Musk nehmen können und diese auf mein Gesicht lippsynchen lassen. So kannst du wirklich, wirklich coole Dinge machen.  

Später im Kurs werden wir noch mal zu diesem Notebook zurückkommen, und wir werden das kombinieren mit Eleven Labs und einer geklonten Stimme. Du siehst, KI kann einfach sein. Man kann Code von GitHub ausleihen, den sogar in einem Colab-Notebook laufen lassen, ohne selbst GPU-Power zu verbrauchen. Und man muss nicht viel mehr machen, als „Play“ bei ein paar Knöpfen zu drücken, und man bekommt das Ergebnis.  

Meiner Meinung nach ist das das Ziel von künstlicher Intelligenz: Das Ganze soll einfacher werden. In diesem Sinne: Ich hoffe, du kannst das Colab-Notebook einfach mal nachmachen, einfach mal testen. Hey, was gefällt dir so? Das ist eigentlich eines der einfachsten Colab-Notebooks, und ich finde, das Ding ist richtig gut.  

Wie gesagt, im Hintergrund läuft hier bei den Lippen nicht wirklich ein Diffusion-Modell, sondern ein sogenanntes GAN. Diese GANs sind eigentlich sehr, sehr ähnlich zu Diffusion-Modellen. Jedoch ist die Technologie dahinter etwas anders. Anstatt die Bilder aus dem „Nebel“ heraus zu erschaffen, werden dem Computer so lange zwei verschiedene Dinge gefüttert, bis er sagt: „Hey, das ist das Gleiche.“ Und das Bild wird dann verwendet für die Lippen, um ganz einfach diesen Lip-Sync zu machen.  

In dem Sinne: Viel Spaß mit diesem Colab-Notebook. Und später im Kurs gibt es mehr zu meinen Lieblings-Notebooks. Das war das Einfachste zum Starten.