Werk:AI mit Arnie/KI Musikvideo mit Stable Diffusion
[Musikvideo]
Musikvideo mit Stable Diffusion und die Trommeln sollen synchron zum Video laufen? Kein Problem, wir brauchen nur zwei Dinge: Wir brauchen die Forum Diffusion und wir brauchen einen Audio-to-Keyframe-String-Generator. Ja, die Worte sind kompliziert, insgesamt ist das Ganze aber sehr, sehr einfach.
Schritt eins: Wir brauchen ein Lied. Ich habe mich für das hier entschieden, "As You Fade Away". Das ist ganz einfach ein Lied von Nefex, und das Lied findet man in der Audio-Mediathek von YouTube. Das heißt, man kann es verwenden. Das lade ich jetzt runter.
Sobald man sein Lied hat, sollte man in Phonic Mind gehen. Entweder man nimmt Phonic Mind, man kann auch Lala.ai verwenden, wieder andere lassen die Dinger lokal laufen. Es ist nur wichtig, dass du Dinge extrahieren kannst aus deinen Songs. Ich extrahiere hier zum Beispiel die Trommeln, weil das ganz einfach am besten funktioniert.
Das heißt, wir müssen unser Lied hier ganz einfach hochladen. Hier können wir uns jetzt ganz einfach auswählen, was wir alles sehen wollen und was nicht. Ich werde jetzt mal nur die Trommeln verwenden und mir das alles anhören.
[Musik]
Das hört sich schon sehr gut an, wie ich finde. Und jetzt kann man das runterladen. Es kann sein, dass man hier einen Plan braucht. Wie gesagt: Wenn du etwas googelst, findest du hier Dinge, die auf alle Fälle gratis funktionieren. Aber zumindest diese kleinen Beispiele kann man auf alle Fälle runterladen.
Sobald du das runtergeladen hast, musst du das ganze Zeug hier rein, nämlich in einen Audio-to-Keyframe-String-Generator. Das heißt, wir laden das Musikstück ganz einfach hier hoch, wo wir natürlich nur noch die Trommeln haben. Und danach lassen wir uns einen kleinen Keyframe machen, ähnlich wie hier unten.
Wofür brauchen wir den Keyframe? Den Keyframe brauchen wir für unser Colab-Notebook, also Stable Diffusion. Die Forum hier drinnen können wir richtig, richtig gut arbeiten. Und wir müssen hier wirklich nicht unbedingt viele Dinge austauschen, auch wenn das Colab-Notebook, um ehrlich zu sein, etwas groß ist. Das ist wirklich, wirklich einfach.
Als Nächstes haben wir hier unten die Frame-Rate. Ich verwende ganz einfach 12 Frames pro Sekunde, weil ich sonst zu viele Frames animieren muss.
Was ist diese Funktion? Warum zum Teufel haben wir hier mathematische Formeln? 1 + x hoch 4. Wir arbeiten in die Forum hier danach mit dem Zoom. Das ist das Einfachste. Und wie du hier siehst: Der Zoom ist ein Multiplikator. Soll heißen, 0 durch Klammer auf, 1.04. Und das trifft sich auch richtig, richtig gut. Würden wir mit anderen Achsen hier arbeiten, dann müsste man tatsächlich hier vorne die 1 weglöschen und einfach nur x hoch 4 machen. Da der Zoom beim Multiplikator ist, ist diese Funktion schon richtig.
Du kannst den Multiplikator zum Schluss ändern. Jedoch musst du aufpassen: Höhere Zahlen ergeben hier niedrigere Ausschläge.* Wir animieren unser Bild danach. Das soll einfach bei jedem Trommelschlag irgendwas machen. Wenn du hier hohe Zahlen verwendest, dann ist ganz einfach der Zoom danach kleiner. Verwendest du kleine Zahlen, dann ist der Zoom danach größer.
* Achtung: Höhere Hochzahlen ergeben kleinere Ausschläge, weil x kleiner als 1 ist!
Warum ist das Ding aber kleiner, wenn die Hochzahl zum Schluss größer ist? Ganz einfach, weil x kleiner als 1 ist. Wenn die Trommel gar nichts macht, haben wir einen Ausschlag von 0. Und wenn die Trommel schlägt, dann gehen die Ausschläge niemals höher als eine 1. Das heißt, dieses x ist ganz einfach kleiner als 1. Und das Ganze kann ich auch ganz, ganz schnell beweisen. Wenn du siehst, wir haben hier jetzt 1 + x hoch 4, und unser erster Beat, schlägt mit 1,03 aus. Wenn wir das jetzt erhöhen auf 8, dann bekommen wir hier unten ganz einfach eine kleinere Zahl. Ja, ganz genau, 1,00. Und erst beim ersten Frame hier drüben bekommen wir 1,01. Wenn ich das wieder auf 4 senke, also den Multiplikator geringer haben, dann haben wir wieder 1,03 und 1,10. Dementsprechend: Ich würde dir generell empfehlen, arbeite einfach mal mit 4, sieh an, ob der Zoom zu stark ist oder nicht. Und wenn du den Zoom noch etwas aggressiver haben willst, dann kannst du natürlich auch noch 2 verwenden, wenn du magst.
Was müssen wir als Nächstes machen? Wir müssen diesen ganzen String hier kopieren. Was macht dieser ganze String? Dieser ganze String wird danach ganz einfach jeden einzelnen Frame in Deforum Stable Diffusion animieren. Das heißt, wir können "Copy String" klicken. Danach ist dieser sofort kopiert. Wir können in dDeforum reingehen. Deforum ist ganz einfach eine Erweiterung, die auf Stable Diffusion läuft. Das heißt, ein Diffusion-Modell macht für uns hier danach die gesamte Animation. Sie erstellt über 400 Frames für uns, und jedes Mal, wenn die Trommel schlägt, zoomen wir ein klein wenig rein. So können wir uns das vorstellen. Ich habe Deforum natürlich sonst schon mal vorgestellt.
Wir können hier "Strg + V" klicken, und jetzt haben wir den gesamten Keystring hier eigentlich schon eingefügt. Und damit kann es sofort losgehen.
Die Default Settings von diesem Colab-Notebook sehen hier im Übrigen bei der Translation X auch noch eine Kleinigkeit vor. Jedoch will ich das nicht dabei haben. Das lösche ich ganz einfach raus. Also, wir können hier natürlich auch 0 einfügen und ganz einfach das gleiche Ding wie unten reinschreiben. Wir wollen das Ganze nicht bewegen.
Was jedoch relativ cool sein könnte, ist Folgendes: Der Angle. Beim Angle könnten wir tatsächlich eine 1 eingeben, denn dann dreht sich das Ganze ein klein wenig. Das sieht generell relativ cool aus, wie ich finde.
In diesem Notebook machen wir noch ein paar kleine Änderungen. Hier bei "nan" geben wir ganz einfach 2D ein. Das heißt, wir werden eine 2D-Animation machen. Die Max Frames – wir haben hier 408 – lasst uns ganz einfach mal 410 Frames verwenden.
Die ganzen anderen Dinge sind hier eigentlich im Moment nicht so wichtig.
Hier oben die Dinge brauchen wir, um unsere Modelle zu installieren. Das lassen wir alles ganz genauso, wie es ist. Wir lassen hier überall die Default Settings ganz, ganz genauso laufen,.
Außer hier unten in dieser Box. Nämlich das hier sind die Prompts. Wir wollen hier ganz einfach andere Prompts eingeben. Wir wollen nämlich anstatt "der beautiful lake" und so weiter, würde ich gern sowas wie eine Cyberpunk City haben, da ich denke, die passt hier gut dazu.
Und dafür gehen wir ganz einfach mal auf Lexica und sehen, ob wir ein paar Prompts finden. Lexica ist eine coole Bibliothek, wo wir uns Prompts raussuchen können. Ich habe hier einfach mal "Cyberpunk City" eingegeben. Und ich denke, generell passt hier alles relativ gut dazu.
Vielleicht sowas hier. Der Prompt ist sogar richtig, richtig einfach. Wir kopieren ganz einfach diesen Prompt. Wir gehen zurück in unser Notebook, und wir geben unseren Prompt ganz einfach hier ein.
Wir können hier die ganzen anderen Frames natürlich deaktivieren. Soll also heißen, wir können hier eine kleine Raute machen. Auch den negativen Prompt breich … brauchen wir nicht. Also auch bei dem eine kleine Raute. Und generell, ist das tatsächlich schon. Wir sollten danach die ganzen anderen Dinge einfach so lassen, wie sie sind.
Außer vielleicht die Auflösung. Diese könnten wir in 16:9 ändern. Bei den Image Settings haben wir hier die Breite und die Höhe. 640 x 320 nehme ich hier ganz einfach, damit das Rendern, wie gesagt, ein klein wenig schneller geht.
Und den Seed können wir ruhig so lassen. Die Steps können wir so lassen. Scale auf 7 – geht alles so. Okay.
Wir sollten aber sicher gehen, dass wir noch mal ganz nach unten scrollen. Denn hier finden wir Folgendes: FPS. Genau, 12. Wir müssen die Frames pro Sekunde auf 12 einstellen, da das wichtig wird. Da wir natürlich auch bei unserem Keystring-Generator auch 12 Frames pro Sekunde eingegeben haben, müssen wir unbedingt darauf achten, dass wir auch hier 12 Frames pro Sekunde haben. Da es sonst Probleme gibt.
Und was machen wir hier als Nächstes? Wir können generell einfach nur noch alle Zellen gemütlich laufen lassen. Und dann bekommen wir tatsächlich unsere Animation. Also "Laufzeit" und "alle ausführen". Und dann sollte das Ganze passen. Ja, natürlich, der Code kommt von GitHub. Wir müssen trotzdem ausführen. Wir werden danach wahrscheinlich noch gefragt, ob wir unser Google Drive verbinden wollen. Und ja, das machen wir. Und danach sollte das Ganze funktionieren.
Wie man hier sieht, es macht ganz einfach sein Ding durch all die Zellen, die Sachen, die es braucht, werden installiert. Du musst Zugriff auf dein Google Drive geben. Denn in deinem Drive werden danach die Frames und die Dinge ganz einfach gespeichert. Auch die Stable-Diffusion-Modelle, die du brauchst.
Scrollen wir noch etwas weiter nach unten. Ja, genau. Dann bekommst du hier auch die Frames zu Gesicht. Das heißt, wir haben aktuell 173 Frames gemacht von unseren insgesamt 410 Frames. Das sollte in etwa eigentlich richtig, richtig gut hinkommen. Und ich denke, wir warten vielleicht noch so 20 Minuten.
Und jetzt haben wir sogar hier unsere Animation fertiggestellt. Wir sollten noch etwas nach unten scrollen. Wenn wir jetzt diese Box hier deaktivieren, also "Skip video for run all", dann können wir einfach hier noch "Play" klicken. Und wir werden aus diesem ganzen Frames ein Video erstellen. Wenn du das nicht hier machst, dann musst du deine Frames in Google Drive suchen. Und du kannst das natürlich auch noch selbst zusammenschneiden in irgendeinem Programm wie zum Beispiel Blender oder sonst wo.
Und hier haben wir jetzt unser Video. Du siehst, das ist genau 34 Sekunden lang, also genauso lang, wie wir natürlich wollten. Drei Punkte hier, herunterladen. Und nach dem Herunterladen müssen wir natürlich noch in unser Lieblingsbearbeitungsprogramm gehen. Wir müssen dieses Video natürlich über das Ding drüber schmeißen. Und so hört sich das Ganze an.
[Musikvideo]