Ich habe ja VST-Plugins hier auf der Website zum Download liegen. Zurecht werden sich jetzt Leser meines Magazins fragen, was der Müll denn soll, denn offensichtlich scheinen die Plugins ja per Vibe-Coding gebaut zu sein. Wie passt das zusammen mit der Kritik an AI?
Ehrlich gesagt passt es gar nicht zusammen. Daher erzähle ich dir an dieser Stelle, wie AI in der Entwicklung der Plugins genutzt wurde. Lass mich dazu ein wenig in meine berufliche Laufbahn gehen.
Ich bin seit fast 25 Jahren Software-Entwickler. Hauptsächlich arbeite ich im Bereich PHP und Javascript. Davor habe ich eine Ausbildung zum staatlich geprüften technischen Assistent für Informatik gemacht. Keine Ahnung, wie sich die Ausbildung in den letzten Jahren verändert hat, aber wir haben tatsächlich noch C gelernt.
Ich habe im beruflichen Kontext C oder C++ einfach nicht mehr gebraucht. Einmal doch: Da musste ich für eine Kommissionierungssoftware ein kleines Linux-Programm schreiben, dass den Input einer Webcam auswertete und an ein PHP-Skript weiterleitete. Nichts besonderes, aber ich merkte, dass ich echt eingerostet war.
Aber grundsätzlich war C++ nie aus meinem Leben verschwunden.
Wie sind die Plugins hier entstanden?
Ich bin absolut kein Fan davon, wenn jemand Antigravity oder ClaudeCode startet und dann prompted mach mir ein VST und das dann in die Welt hinauspusht. Das geht nicht. Wir reden hier von Software, die im Worst Case Dinge macht, die nicht gut sind.
AI hat bei den Plugins hier tatsächlich relativ wenig Code geschrieben. Zuerst habe ich mich durch die JUCE-Tutorials gearbeitet, um überhaupt erstmal zu verstehen, wie man die Framework-Libraries einbindet, wie man das Audiosignal visualisiert und so weiter.
Es war eine Menge Trial-and-Error erforderlich. Immerhin fehlt mir die Routine, C++ zu schreiben. Ich habe Texte, wie zum Beispiel den hier gelesen, der Filtersysteme erklärt.
Ich bin jetzt nicht so das Mathegenie. Diese Formel beschreibt beispielhaft die Koeffizienten für ein Low-Shelf-Filter nach dem Audio EQ Cookbook. Ich habe den Ansatz verstanden, aber ich musste dann natürlich überlegen, wie ich solch eine Formel in C++ überhaupt baue. Da hat KI definitiv geholfen, das gebe ich zu.
Der entscheidende Punkt ist aber: Das war für mich zunächst der Lern- und Verifikationspfad für den Filter. Ich wollte verstehen, was ein parametric EQ wirklich macht und wie Gain, Q und Mittenfrequenz zusammenwirken. Erst danach habe ich mich dafür entschieden, die Filterarchitektur des Plugins breiter zu bauen.
Denn ich wollte nicht nur einen einzelnen RBJ-Filterblock, sondern ein vollständiges System mit mehreren Filtertypen in einer gemeinsamen Kaskaden-Architektur: Low Shelf, High Shelf, Low Cut, High Cut, Notch, Band Pass, Tilt Shelf und Flat Tilt. Dafür habe ich die einzelnen Filtermodule als generische Sektionen modelliert, die ich anschließend in einer Kette hintereinander schalten konnte. So entsteht ein flexibler EQ, nicht nur ein einzelner Peaking-Block.
Also grundsätzlich erstmal verstehen, was so ein Filter ist und wie dieser funktioniert. Essentielles Grundwissen. AI war mein Assistent, wie ich schon sagte. Die RBJ-Formel war dabei ein wichtiges Verständniswerkzeug, aber die eigentliche Implementierung des Plugins beruht auf einer modularen Biquad-Kaskade, die verschiedene Filtertypen nach RBJ flexibel hintereinanderschaltet, statt nur einen isolierten Filterblock abzufeuern.
// Rohkoeffizienten nach RBJ Cookbook
const double b0_raw = A * ((A + 1.0) - (A - 1.0) * cos_w0 + 2.0 * sqrt_A * alpha);
const double b1_raw = 2.0 * A * ((A - 1.0) - (A + 1.0) * cos_w0);
const double b2_raw = A * ((A + 1.0) - (A - 1.0) * cos_w0 - 2.0 * sqrt_A * alpha);
const double a0_raw = (A + 1.0) + (A - 1.0) * cos_w0 + 2.0 * sqrt_A * alpha;
const double a1_raw = -2.0 * ((A - 1.0) + (A + 1.0) * cos_w0);
const double a2_raw = (A + 1.0) + (A - 1.0) * cos_w0 - 2.0 * sqrt_A * alpha;
Fazit
Der entscheidende Unterschied ist nicht, dass ich „einfach C++ besser kann“ als eine KI, sondern dass ich die Verantwortung für die fachliche Qualität übernommen habe.
Ich kann C++ auch nicht wirklich besser, als eine KI. Dafür bin ich zu eingerostet.
Ein Prompt kann schnell einen plausiblen EQ-Block erzeugen, aber er kann nicht automatisch prüfen, ob die Filtertheorie stimmt, ob die Lösung für verschiedene Filtertypen überhaupt sinnvoll ist, ob die Parameter in der Praxis sauber reagieren und ob das Ergebnis stabil genug für ein reales Plugin ist.
Ich kann aber hören, ob das, was das Plugin macht, auch dem entspricht, was ich erwarten würde. Ich sehe Performance- und Speicherprobleme.
Genau hier liegt der Unterschied zwischen “Vibe-Coding” und verantwortlicher Entwicklung: Ich habe die Vorschläge nicht blind übernommen, sondern kritisch bewertet, getestet und in ein eigenes System aus mehreren Filtertypen, Kaskaden und Parametern überführt. AI war dabei ein Assistent – aber kein Ersatz für fachliches Verständnis, Qualitätskontrolle und Designverantwortung.