Audio Software | Sampling | Programmierung | Home Recording | Nonsens

Kategorie: C & C++

Eine kurze Einführung in das CLAP Audio Plugin Format …

Reaper hat vor Kurzem mit dem 6.71 Update die Unterstützung für das CLAP Plugin Format eingeführt. Aber was ist CLAP und brauchen wir neben VST, VST3, AU, AAX, etc … noch einen neuen Standard?

Quelle: bitwig.com

Sieben Jahre hat Alexandre Bique von Bitwig an dem neuen Plugin-Standard CLAP (CLever Audio Plugin API) gearbeitet und im Sommer diesen Jahres wurde Version 1.0 veröffentlicht. Zwischendurch lag das Projekt auch mal auf Eis und zum Ende hin haben ihn sein Bitwig Team und die Entwickler von U-he unterstützt. Mittlerweile gibt es schon einige Plugin-Entwickler, die das Format unterstützen und soweit ich weiß kann man es derzeit in vier DAWs nutzen: Bitwig Studio, ZRytthm, Multitrack Studio und Reaper.

Warum CLAP?

Zum einen hat CLAP den Vorteil, dass es ein Open Source Standard ist. Andere Formate sind proprietär und man muss Lizenzen bezahlen, um Plugins in den Standards zu entwickeln. Diese fallen bei CLAP nicht an.

Zum anderen hat der Entwickler Steinberg, des bekanntesten Standards VST, es sich mit vielen Entwicklern in den letzten Jahren verscherzt. Erst wurde die Unterstützung für VST2 beendet und dann wurden am VST3 Standard Änderungen vorgenommen, die nicht wirklich angekündigt wurden.

CLAP ist nicht der erste Versuch, mit einem Open Source Standard das VST-Format abzulösen. LV2 wurde 2008 ins Leben gerufen und war quasi ein Update zu dem LADSPA Plugin Format unter Linux. LADSPA war sehr limitiert und darum hat Dave Robillard LV2 veröffentlicht. LV2 ist ebenfalls Open Source und für alle drei großen Betriebssysteme verfügbar (Linux, MacOS, Windows).

LV2 hat nie den Durchbruch im Mainstream geschafft. Das Format ist in der Linux Community beliebt und verbreitet, aber unter Windows bzw. MacOS nutzt es quasi niemand und die namhaften Entwickler von bekannten Plugins ignorieren diesen Standard nahezu komplett.

Was macht CLAP besser?

Entwickler werden die neue API mögen. Sie vereint die Einfachheit von VST2 und bringt gleichzeitig neue, moderne Features, die man beispielsweise in VST3 Plugins findet und auch darüber hinaus sonst noch nirgends vorhanden sind.

Bessere Performance

Mehrere Prozessorkerne werden von Plugins und DAWs besser genutzt.

Schnelleres Scannen

Das Scannen der Plugin Library geht aufgrund von Metadaten viel schneller, als man es von bisherigen Formaten kennt.

Automation und Modulation

Per-Note Automation und Modulation (wie bei Midi 2.0) und allerlei andere Möglichkeiten der Parameter-Modulation / – Automation.

Es bleibt abzuwarten, wie die Entwickler-Community das Format aufnimmt. Wie gesagt, es gibt schon zahlreiche Plugin-Entwickler, die den neuen Standard unterstützen. Ganz vorne sind hier sicherlich Surge, Chowdhury, VCV, TAL oder auch Audiothing.

Weitere Links:

Eine mögliche Roadmap für Audio-Programmierer

Also, im Grunde wird das hier mein Fahrplan. Ich habe mir gestern Abend nochmal ein paar Notizen gemacht und einige Sachen durchgelesen und habe mir dann stichpunktartig eine mögliche Roadmap aufgeschrieben. Diese will ich an dieser Stelle mal darstellen …

Eine Sache ist klar: Das wird kein Sprint … eher ein zäher Marathon durch unwegsames Gelände. Ich habe zwar damals im Studium schon programmiert und mir auch ein gutes Grundlagenwissen in Mathematik angeeignet, aber das ist schon ein paar Jahre her. Außerdem wird das hier ein ambitioniertes Freizeitprojekt, für das ich mir Zeit freischaufeln muss. Ich arbeite in einem Tagesjob, habe Familie und und und … das Übliche.

Eigentlich wollte ich hier eine große Liste mit Links und Zeugs zum Thema Audio-Programmierung zusammenstellen …

… brauch‘ ich aber nicht mehr. Hat schon ein anderer erledigt. Oli Larkin, Audio Developer und Software Ingenieur bei Ableton hat auf GitHub eine richtig umfangreiche Liste erstellt.

https://github.com/olilarkin/awesome-musicdsp

Was soll ich sagen? Danke dafür!

Wo fängt man an, wenn man sich ernsthaft für die Audio-Programmierung interessiert?

Diese Frage stelle ich mir seit einigen Wochen und sie ist nicht ganz leicht zu beantworten. Es gibt mittlerweile so viele Möglichkeiten, dass man schnell mal überfordert ist. Welche Programmiersprache lerne ich? Muss ich überhaupt eine lernen? Brauche ich Mathematik? Was ist DSP? Plugins? Betriebssysteme?

Auch wenn es mittlerweile viele Programmiersprachen gibt, mit denen man Instrumente oder Effekte entwickeln kann, hat sich C++ wohl als Standard etabliert – zumindest wenn man Software, wie DAWs oder Plugins, für verschiedene Betriebssysteme schreiben will. C++ ist eine schwere Sprache und es dauert lange bis man sie gut beherrscht. Aber für DSP Code benötigt man eventuell nicht alle Aspekte dieser Sprache.

RNBO: Eine Bibliothek für Max, mit deren Hilfe man aus einem Patch ein VST Plugin erzeugen könnte…

Das klingt eigentlich fast zu schön um war zu sein. Ich kann nun mithilfe von RNBO (ausgesprochen: Rainbow) ein Patch in Max erstellen und diesen dann als VST Plugin exportieren!

Und das ist noch nicht alles. Man kann nicht nur VST Plugins erzeugen, sondern auch C++ Code, den man dann in VCV Rack für eigene Module nutzen könnte. Außerdem kann ich Code für den Raspberry Pi erzeugen und mir so ein kleinen Guitar-Pedal bauen … oder ich exportiere mein eigenes Max-Objekt und teile es mit der Community.

Unter’m Strich kann ich jetzt also meine Max-Patches exportieren und in anderen Umgebungen nutzen. Der Vorteil? Max ist auf jeden Fall intuitiver, als reiner C++ Code. Ich kann mein Patch jederzeit in Echtzeit testen. Ich hätte quasi alle Vorteile einer grafischen Umgebung zum „Programmieren“ bzw. Patchen.

Ich würde das schon gerne mal ausprobieren. Man benötigt dazu natürlich Max und RNBO. Eine Max Lizenz kostet mal eben 320,- € (derzeit, ansonsten knapp 400,- €) und die RNBO Lizenz kostet auch 300,- €. Das wird ein teurer Spaß. Es gibt allerdings auch ein Subscription Modell, wo jede Lizenz jeweils 10,- € im Monat kostet. Das wären dann 20,- € im Monat!

Ein wenig Einarbeiten müsste man sich natürlich auch noch. Das ist nun die Frage: Viel Geld ausgeben und vielleicht ein bisschen einfacher zum Ziel kommen oder gar kein Geld ausgeben und gleich C++ und JUCE bzw. VCV Rack lernen? Ich glaube ich versuche erstmal den günstigeren Weg. 😉

Die 10 absolut coolsten Texteditoren für Programmierer…

Programmierer müssen Code schreiben. Auch Markup Sprachen oder Sampler Skripte bestehen aus Text und dafür benötigt man einen Texteditor. Die meisten Betriebssysteme haben wenigstens einen einfachen Texteditor an Bord. Im Grunde kann man damit arbeiten, aber es gibt noch einige kostenlose Optionen, die die Arbeit etwas angenehmer gestalten können. Hier sind 10 davon:

Visual Studio Code

Microsoft hat vor etlichen Jahren mal das Visual Studio auf den Markt geworfen. Das ist eine ausgewachsene Entwicklungsumgebung (IDE) für Windows (mittlerweile wohl auch für den Mac), die alle möglichen Programmiersprachen unterstützt und bis heute gepflegt wird. Für viele Coder ist das Schwergewicht etwas zu umfangreich und man greift lieber zu einem besseren Texteditor. Ich nutze VS Code seit ungefähr 5 Jahren.

Visual Studio Code ist ein Open Source Projekt, dass genau in diese Kerbe schlägt. Er ist beliebt bei vielen Web-Entwicklern, weil er nativ JavaScript, TypeScript und NodeJS unterstützt.

Es gibt etliche Plugins für alle möglichen Sprachen, haufenweise Themes und eine gute Git Integration. VS Code gibt es für alle gängigen Betriebssysteme (Mac, Linux, Win) und außerdem kann man ihn auch direkt im Browser benutzen.

Präsentiert von WordPress & Theme erstellt von Anders Norén