T
Turing
Thou shalt not loop
Wie ja verschiedentlich schon erwähnt, schreibe ich an einem eigenen Softsynth.
Realisiert wird das Plugin in C++ mit JUCE, so dass es für Windows, Mac und Linux verfügbar sein wird.
Der Thread steht im Bereich "Nerdiges", weil ich das "Softsynth"-Unterforum nicht mit Posts zu einem unfertigen Plugin zumüllen möchte, das es möglicherweise nie von meinem PC in die Welt hinaus schafft.
"Slow Progress", weil das Plugin selbst im positiven Fall noch eine ziemlich lange Zeit für seine Fertigstellung brauchen wird.
Grundsätzlich funktionsfähig ist der PoC allerdings schon. Die ersten Töne waren im Film Score Battle zu hören (3 Spuren, Hall aus Eventide Blackhole):
Und inzwischen ist das Plugin natürlich weiter gediehen und wird beständig erweitert und verbessert.
Was das eigentlich Besondere an diesem Softsynth werden soll, verrate ich an dieser Stelle noch nicht, weil es auch noch nicht umgesetzt ist.
Hier aber ein paar Infos, die eine Vorstellung von den zu erwartenden Merkmalen des Plugins geben:
MODERN
Ziel ist ein moderner Synth, der Funktionalitäten umsetzt, die nur mit digitaler Signalverarbeitung möglich sind.
Die bereits realisierten Oszillatoren nähern sich dem mathematischen Ideal, sie schneiden an der Nyquist-Frequenz scharf ab, sind phasentreu, weitgehend aliasing-frei und zudem effizient implementierbar. Genutzt werden sie als ein erstklassiger Wavetable-Player.
Zur Klangformung dienen spektrale Transformationen, wie man sie z.B. aus Vital kennt. Bereits jetzt gibt es 5 Regler, mit denen das Spektrum eines Oszillators geformt werden kann. Weitere Spectral-Warp-Arten werden im Laufe dieses Jahres hinzukommen.
Daneben gibt es eine Unison-Engine, die aktuell durch 7 Regler gesteuert wird und ein bis zu 8000-faches Unisono pro Oszillator erzeugen kann.
Die Oszillatoren sollen später durch Operatoren flexibel verknüpft werden können.
Das stelle ich mir grob wie beim opsix vor, der ja neben FM z.B. auch die Anwendung von Ringmodulation, eines Filters oder eines Effekts als Operator darstellt. Ich denke, ein solcher Operator-basierter Ansatz ist potenziell leichter zu nutzen als ein Aufbau wie ein Modular-System mit komplett freier Verdrahtung.
Im Moment gibt es aber nur einen Oszillator pro Stimme und noch keine Operator-Matrix.
EIN ECHTES MPE-INSTRUMENT
Der Softsynth ist als ein "echtes", live und per MPE spielbares Instrument ausgelegt. Der Synth soll "musikalisch" auf Änderungen der MPE-Dimensionen wie MPE-Timbre ansprechen und sich dadurch wie ein reales Instrument anfühlen.
Da es noch kein Modulationssystem gibt, ist die direkte Formung jeder Note mit den Fingern über einen MPE-Controller auch bisher die einzige Möglichkeit, die Töne zu beleben.
Im Moment reagiert jede Stimme auf die Anschlagstärke und auf Bewegungen in X-Richtung (Bend/Vibrato). Durch die Y-Dimension (Slide CC74) wird die Wavetable-Position gesteuert. Die Z-Dimension für Per-Note Aftertouch wird im Moment nicht genutzt, weil mich die gleichzeitige Kontrolle von Vibrato/seitlicher Bewegung und Anpressdruck motorisch überfordert.
Andere Modulationen sind derzeit nicht möglich.
Natürlich werden diese Dinge später frei konfigurierbar sein und ein Modulationssystem einschließlich Envelope Gates, LFOs usw. ist in Planung.
Da ich MPE bei "Extinction" noch nicht zum Laufen gekriegt hatte und es daher noch ein paar störende Artefakte des Controllers enthält, hier eine neue spontane Demo, wie das Plugin mit MPE-Nutzung klingen kann (1 Spur mit Joué Scaler, Absolute Y Control, Hall aus 7th Heaven Professional):
Anhang anzeigen MPE-Demo-2023-07-25.mp3
Im Sinne der Live-Spielbarkeit würde ich gerne mehr Zeit in Play Modes und diverse Spielhilfen stecken, leider fehlen mir dazu einfach die Ressourcen. So gibt es aktuell nur zwei Play Modes: den normalen polyphonen Mode und einen dem Trident Mode 2 nachempfundenen Hybrid-Mode.
EIN SOFT-SYNTH ZUM "SCHRAUBEN"
Der Synth soll sich zum spontanen Erstellen von Patches eignen und zum "Schrauben" an den Knöpfen einladen.
Hierzu soll es für alle wichtigen Einstellmöglichkeiten ein GUI-Element geben, jedoch auch insgesamt eine Beschränkung der Freiheitsgrade. Jedes GUI-Element muss eine klare Aufgabe und hörbaren Effekt haben und es soll nicht zu viele Wege geben, dasselbe Ziel zu erreichen. Es soll also nicht ein eklektischer "Alleskönner" entstehen, solche Plugins empfinde ich persönlich als Kreativitäts-Killer.
KEINE BELIEBIGKEIT
Als Entwickler möchte ich natürlich, dass die besonderen Merkmale dieses Softsynths zur Geltung kommen und intensiv genutzt werden - und nicht Standard-Features, für die man dieses Plugin gar nicht bräuchte.
Deshalb gibt es kein subtraktives Filter, obwohl es ein leichtes wäre, ein Ladder-Filter oder State-Variable-Filter einzubauen. Es gibt nur die vorgegebenen (aktuell 5) synthetischen Factory-Wavetables und es ist nicht möglich, eigene Wavetables oder Samples zu laden und Wellenformen oder Spektren zu zeichnen. Auch gibt es vorerst keine Builtin-Effekte.
Ich hadere aber noch mit dieser puristischen Haltung, denn bei FM-Synths z.B. freue ich mich ja auch über ein subtraktives Filter, selbst wenn es technisch eigentlich unnötig ist.
KEIN PRODUKT
Mein Anspruch ist es nicht, ein fertiges kommerzielles Produkt zu entwickeln.
Zwar bemühe ich mich immer um rechnerische Effizienz, aber dies wird kein Rundum-Sorglos-Plugin, das einen die Grenzen der Hardware nicht spüren lässt. Es zielt kompromisslos auf die bestmögliche Audio-Qualität, selbst wenn potenzielle Nutzer mit älteren oder schwächeren Rechnern dadurch über die Kante fallen. Zudem enthält es experimentelle Features, die jede CPU an die Wand fahren können, und mit denen man erst etwas Erfahrung sammeln muss.
Mehr als eine primitive, funktionale GUI ist nicht zu erwarten, ich konzentriere mich lieber auf die "inneren Werte".
Das Thema Preset-Verwaltung wird aktuell der DAW überlassen.
Und es gibt vorerst keinerlei Visualisierung - für die Hörer eines Tracks entscheidet ja auch nur das klangliche Ergebnis.
Das schränkt den Benutzerkreis vermutlich auf einige wenige Enthusiasten ein, die bereit sind, sich auf diese Dinge einzulassen.
So lange ich das ganze in der Freizeit oder evtl. im Rahmen einer Nebentätigkeit entwickle, kann ich auch keinen Produkt-Support leisten.
Deshalb plane ich, das Plugin - sobald es einen entsprechenden Entwicklungsstand erreicht hat - als Donationware herauszubringen. So können es alle Interessierten frei nutzen und ggf. durch eine Spende die weitere Entwicklung unterstützen.
WIE ES WEITER GEHT
Bis zum Ende des Jahres werde ich den bestehenden Ansatz weiter ausbauen (z.B. Erweiterung auf Stereo-Unisono), die geplanten spektralen Transformationen umsetzen und Performance-Optimierungen vornehmen.
In 2024 möchte ich das Modulationssystem ergänzen und es ermöglichen, Oszillatoren in Form verschiedener Operatoren zu verknüpfen.
Wenn dies alles gut klappt, könnte im Anschluss eine erste Version an ausgesuchte Pilotbenutzer herausgehen.
Bis dahin werde ich Euch hier über den Stand der Entwicklung auf dem Laufenden halten und immer mal kleine Audio-Demos zu neuen Features einstellen. Auch freue ich mich über allgemeine Rückmeldungen und habe auch vor, gelegentlich Feedback von Euch einzuholen.
Realisiert wird das Plugin in C++ mit JUCE, so dass es für Windows, Mac und Linux verfügbar sein wird.
Der Thread steht im Bereich "Nerdiges", weil ich das "Softsynth"-Unterforum nicht mit Posts zu einem unfertigen Plugin zumüllen möchte, das es möglicherweise nie von meinem PC in die Welt hinaus schafft.
"Slow Progress", weil das Plugin selbst im positiven Fall noch eine ziemlich lange Zeit für seine Fertigstellung brauchen wird.
Grundsätzlich funktionsfähig ist der PoC allerdings schon. Die ersten Töne waren im Film Score Battle zu hören (3 Spuren, Hall aus Eventide Blackhole):
Und inzwischen ist das Plugin natürlich weiter gediehen und wird beständig erweitert und verbessert.
Was das eigentlich Besondere an diesem Softsynth werden soll, verrate ich an dieser Stelle noch nicht, weil es auch noch nicht umgesetzt ist.
Hier aber ein paar Infos, die eine Vorstellung von den zu erwartenden Merkmalen des Plugins geben:
MODERN
Ziel ist ein moderner Synth, der Funktionalitäten umsetzt, die nur mit digitaler Signalverarbeitung möglich sind.
Die bereits realisierten Oszillatoren nähern sich dem mathematischen Ideal, sie schneiden an der Nyquist-Frequenz scharf ab, sind phasentreu, weitgehend aliasing-frei und zudem effizient implementierbar. Genutzt werden sie als ein erstklassiger Wavetable-Player.
Zur Klangformung dienen spektrale Transformationen, wie man sie z.B. aus Vital kennt. Bereits jetzt gibt es 5 Regler, mit denen das Spektrum eines Oszillators geformt werden kann. Weitere Spectral-Warp-Arten werden im Laufe dieses Jahres hinzukommen.
Daneben gibt es eine Unison-Engine, die aktuell durch 7 Regler gesteuert wird und ein bis zu 8000-faches Unisono pro Oszillator erzeugen kann.
Die Oszillatoren sollen später durch Operatoren flexibel verknüpft werden können.
Das stelle ich mir grob wie beim opsix vor, der ja neben FM z.B. auch die Anwendung von Ringmodulation, eines Filters oder eines Effekts als Operator darstellt. Ich denke, ein solcher Operator-basierter Ansatz ist potenziell leichter zu nutzen als ein Aufbau wie ein Modular-System mit komplett freier Verdrahtung.
Im Moment gibt es aber nur einen Oszillator pro Stimme und noch keine Operator-Matrix.
EIN ECHTES MPE-INSTRUMENT
Der Softsynth ist als ein "echtes", live und per MPE spielbares Instrument ausgelegt. Der Synth soll "musikalisch" auf Änderungen der MPE-Dimensionen wie MPE-Timbre ansprechen und sich dadurch wie ein reales Instrument anfühlen.
Da es noch kein Modulationssystem gibt, ist die direkte Formung jeder Note mit den Fingern über einen MPE-Controller auch bisher die einzige Möglichkeit, die Töne zu beleben.
Im Moment reagiert jede Stimme auf die Anschlagstärke und auf Bewegungen in X-Richtung (Bend/Vibrato). Durch die Y-Dimension (Slide CC74) wird die Wavetable-Position gesteuert. Die Z-Dimension für Per-Note Aftertouch wird im Moment nicht genutzt, weil mich die gleichzeitige Kontrolle von Vibrato/seitlicher Bewegung und Anpressdruck motorisch überfordert.
Andere Modulationen sind derzeit nicht möglich.
Natürlich werden diese Dinge später frei konfigurierbar sein und ein Modulationssystem einschließlich Envelope Gates, LFOs usw. ist in Planung.
Da ich MPE bei "Extinction" noch nicht zum Laufen gekriegt hatte und es daher noch ein paar störende Artefakte des Controllers enthält, hier eine neue spontane Demo, wie das Plugin mit MPE-Nutzung klingen kann (1 Spur mit Joué Scaler, Absolute Y Control, Hall aus 7th Heaven Professional):
Anhang anzeigen MPE-Demo-2023-07-25.mp3
Im Sinne der Live-Spielbarkeit würde ich gerne mehr Zeit in Play Modes und diverse Spielhilfen stecken, leider fehlen mir dazu einfach die Ressourcen. So gibt es aktuell nur zwei Play Modes: den normalen polyphonen Mode und einen dem Trident Mode 2 nachempfundenen Hybrid-Mode.
EIN SOFT-SYNTH ZUM "SCHRAUBEN"
Der Synth soll sich zum spontanen Erstellen von Patches eignen und zum "Schrauben" an den Knöpfen einladen.
Hierzu soll es für alle wichtigen Einstellmöglichkeiten ein GUI-Element geben, jedoch auch insgesamt eine Beschränkung der Freiheitsgrade. Jedes GUI-Element muss eine klare Aufgabe und hörbaren Effekt haben und es soll nicht zu viele Wege geben, dasselbe Ziel zu erreichen. Es soll also nicht ein eklektischer "Alleskönner" entstehen, solche Plugins empfinde ich persönlich als Kreativitäts-Killer.
KEINE BELIEBIGKEIT
Als Entwickler möchte ich natürlich, dass die besonderen Merkmale dieses Softsynths zur Geltung kommen und intensiv genutzt werden - und nicht Standard-Features, für die man dieses Plugin gar nicht bräuchte.
Deshalb gibt es kein subtraktives Filter, obwohl es ein leichtes wäre, ein Ladder-Filter oder State-Variable-Filter einzubauen. Es gibt nur die vorgegebenen (aktuell 5) synthetischen Factory-Wavetables und es ist nicht möglich, eigene Wavetables oder Samples zu laden und Wellenformen oder Spektren zu zeichnen. Auch gibt es vorerst keine Builtin-Effekte.
Ich hadere aber noch mit dieser puristischen Haltung, denn bei FM-Synths z.B. freue ich mich ja auch über ein subtraktives Filter, selbst wenn es technisch eigentlich unnötig ist.
KEIN PRODUKT
Mein Anspruch ist es nicht, ein fertiges kommerzielles Produkt zu entwickeln.
Zwar bemühe ich mich immer um rechnerische Effizienz, aber dies wird kein Rundum-Sorglos-Plugin, das einen die Grenzen der Hardware nicht spüren lässt. Es zielt kompromisslos auf die bestmögliche Audio-Qualität, selbst wenn potenzielle Nutzer mit älteren oder schwächeren Rechnern dadurch über die Kante fallen. Zudem enthält es experimentelle Features, die jede CPU an die Wand fahren können, und mit denen man erst etwas Erfahrung sammeln muss.
Mehr als eine primitive, funktionale GUI ist nicht zu erwarten, ich konzentriere mich lieber auf die "inneren Werte".
Das Thema Preset-Verwaltung wird aktuell der DAW überlassen.
Und es gibt vorerst keinerlei Visualisierung - für die Hörer eines Tracks entscheidet ja auch nur das klangliche Ergebnis.
Das schränkt den Benutzerkreis vermutlich auf einige wenige Enthusiasten ein, die bereit sind, sich auf diese Dinge einzulassen.
So lange ich das ganze in der Freizeit oder evtl. im Rahmen einer Nebentätigkeit entwickle, kann ich auch keinen Produkt-Support leisten.
Deshalb plane ich, das Plugin - sobald es einen entsprechenden Entwicklungsstand erreicht hat - als Donationware herauszubringen. So können es alle Interessierten frei nutzen und ggf. durch eine Spende die weitere Entwicklung unterstützen.
WIE ES WEITER GEHT
Bis zum Ende des Jahres werde ich den bestehenden Ansatz weiter ausbauen (z.B. Erweiterung auf Stereo-Unisono), die geplanten spektralen Transformationen umsetzen und Performance-Optimierungen vornehmen.
In 2024 möchte ich das Modulationssystem ergänzen und es ermöglichen, Oszillatoren in Form verschiedener Operatoren zu verknüpfen.
Wenn dies alles gut klappt, könnte im Anschluss eine erste Version an ausgesuchte Pilotbenutzer herausgehen.
Bis dahin werde ich Euch hier über den Stand der Entwicklung auf dem Laufenden halten und immer mal kleine Audio-Demos zu neuen Features einstellen. Auch freue ich mich über allgemeine Rückmeldungen und habe auch vor, gelegentlich Feedback von Euch einzuholen.
Zuletzt bearbeitet: