Pyhton-Code ohne Einrückungen und andere Halluzinationen
Eigentlich war es eine ganz einfach Aufgabe: Ich wollte .srt-Dateien umwandeln. Das sind Dateien mit Untertiteln für Videos, wie sie auf Plattformen wie YouTube Verwendung finden.
Aus diesen Untertiteln wollte ich automatisch ein Transkript generieren und auf der Seite veröffentlichen, auf der auch das Video eingebettet ist.
Der Aufbau von .srt Dateien ist sehr einfach: Es sind Textdateiein, jeder Eintrag beginnt mit einer fortlaufenden Nummer, in der Zeile darunter die Zeitangabe, von bis dieser Text in dem Video erscheinen soll, und darunter der eigentliche Text. Dann kommt eine Leerzeile und der nächste Eintrag.
Es gibt mehrere Websites, auf die man ein .srt hochladen und dann das Transkript herunterladen kann. Das wäre grundsätzlich eine Option, allerdings bin ich ein großer Freund von Workflows, die ich lokal ausführen kann, wenn ich z. B. ein Video für die Veröffentlichung vorbereite. Entsprechend wollte ich ein einfaches Kommandozeilenwerkzeug.
Mein erster Gedanke war, das einfach schnell in Python oder Go selber zu schreiben. Der zweite Gedanke war, dass das bestimmt schon jemand in den letzten 10+ Jahren getan hat und ich vielleicht erst einmal mit einer Suchmaschine schauen sollte.
Das tat ich, wurde aber nicht richtig fündig: es gab mehrere Projekte, die so etwas ähnliches machten, die meisten verwenden aber LLMs, um aus einem Video überhaupt erst einmal ein .srt zu machen. Da ich das .srt schon hatte, lösten diese Projekte mein Problem nicht.
Ich fand außerdem zwei Skripte in Python, die genau mein Problem hätten lösen sollen. Beide liefen nicht! Ich habe das erste kurz in meiner IDE geöffnet und bekam sofort mehrere Fehler angezeigt. Das war seltsam, denn dieses Projekt war schon länger auf GitHub online, wurde scheinbar. über die Zeit auch immer mal aktualisiert und es gab keinen Issue, der auf ein Problem hindeuten würde.
Da es schon relativ spät war und ich das Problem einfach lösen wollte, öffnete ich Perplexity und formulierte meine Anforderung an eine Lösung.
Das war ein dummer Fehler.
In den folgenden 10+ Minuten ging es hin und her mit Tools, die es gar nicht gibt oder die nicht für den Zweck geeignet sind, Perplexity generierte mir sed-Kommandos, die über drei Zeilen gingen und einfach nicht funktionierten, sowie andere Halluzinationen.
Einer der "besseren" Versuche war das hier gezeigte Python-Skript. Ob es von der Idee her funktionieren könnte, kann man nicht so einfach sagen:
Python ist eine Programmiersprache, bei der die Struktur des Codes im Gegensatz zu Sprachen wie C, C++, Java, C# oder Go, die mit geschweiften Klammern ("{" und "}") arbeiten, auf Einrückungen basiert.
Warum das hier relevant ist? Ganz einfach: sehen Sie irgendwelche Einrückungen?!

Falls Sie hier wirklich irgendeine Einrückung sehen, sind sie vielleicht auch ein LLM, eine "KI", und haben gerade eine Halluzination. Das ist scheinbar ok und entspricht wohl dem Zeitgeist. Machen Sie sich also deswegen bitte keine Sorgen.
Am Ende habe ich mir ein einfaches Skript selber geschrieben.
Comments ()