Audio Software | Sampling | Programmierung | Home Recording | Nonsens

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.

Man kann auch mit speziellen Sprachen wie JSFX (EEL2), CSound oder Faust anfangen, aber ich denke es macht schon Sinn, sich gleich dem echten Shit zuzuwenden 😉 Falls man noch nie in irgendeiner Form programmiert hat, sollte man sich zuerst vielleicht eine visuelle Sprache, wie Pure Data oder Max / MSP ansehen. Der visuelle Aufbau hilft, die Zusammenhänge besser zu verstehen.

Ein weiterer Faktor wäre der Einsatz der eigenen Software. Will ich eine DAW schreiben, oder Plugins für DAWs? Oder will ich für eine spezielle Hardware programmieren? Egal welchen Weg man geht, C++ ist in jedem Fall eine sehr gute Wahl.

Mein Weg…

Wie gesagt, mache ich mir seit einigen Wochen Gedanken hierzu. Ich mache seit Anfang der 90er Musik und interessiere mich seit den 2000ern für die Programmierung. Im Hochschulstudium habe ich Grundlagen von C++, Java und Webkrams (HTML, CSS, JS) gelernt, aber dann nicht weiter verfolgt.

Seit 5 Jahren beschäftige ich mich intensiv mit der Produktion von Musik am Rechner. Ich habe mich viel mit verschiedenen DAWs auseinandergesetzt, die Grundlagen der Synthese gelernt und auch wenn ich selbst nicht wirklich elektronische Musik mache, habe ich viel Spaß mit Samplern und modularen Synthesizern wie VCV Rack. Ich habe mir in dieser Zeit schon einige Programmiersprachen und Möglichkeiten zur Entwicklung von Audio Software angesehen, bin aber nie tiefer in die Materie eingestiegen.

Das will ich jetzt ändern und mich ernsthaft einarbeiten. Ich habe mich auf jeden Fall für C++ entschieden, will aber vorher Pure Data lernen, um einige Grundlagen für Instrumente und Effekte zu verinnerlichen. Gleichzeitig muss ich mich natürlich mit Digital Signal Processing (DSP) beschäftigen und die mathematischen Grundlagen wieder auffrischen. Das Erlernte will ich dann in VCV Rack Module stecken. VCV Rack ist ein gutes Framework um eigenen DSP Code in Module für den modularen Synthesizer zu packen.

Wenn das alles abgearbeitet ist, will ich mich mit der Entwicklung von VST3-Plugins beschäftigen. Ich denke ich werde mich dafür mit dem JUCE Framework auseinandersetzen. Ziel meiner Reise ist definitiv die Entwicklung eigener VST3-Plugins.

Hier nochmal die Liste meiner Vorhaben:

  1. DSP / Mathematik
  2. Pure Data
  3. C++ / VCV Rack
  4. C++ / JUCE

Resourcen

DSP / Mathematik:

Pure Data:

C++:

Ich will meinen Weg schon gerne hier dokumentieren. Zum einen mag ich es zu schreiben, zum anderen festigt sich dadurch das Erlernte nochmal. Und vielleicht ist es ja für den ein oder anderen Leser ebenfalls hilfreich. In den nächsten Tagen werde ich eine Roadmap anfertigen und dann anfangen diese Schritt für Schritt abzuarbeiten…

Zurück

Updates der Woche – KW 45/2022

Nächster Beitrag

VST Plugin: Vaporwave Dimension bringt Farbe in jeden Track…

  1. Martin

    Danke für die Übersicht, bin gespannt was Du noch berichtest. DSP würde mich interessieren. Hab ein Eurorackmodul mit FV1 DSP und wollte da immer mal was programmieren. …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

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