Kategorie: DIY Seite 1 von 3

Audio Programmierung: Der Einstieg mit C++

Ziemlich genau vor zwei Jahren habe ich einige Artikel zur VST-Entwicklung mit C++ und JUCE geschrieben und kurze Zeit später aus Zeitmangel nicht fortgesetzt. Ein Jahr später schrieb ich wieder einen ähnlichen Artikel, diesmal ging es um die Entwicklung von eigenen Modulen für das modulare Synthesizer-System VCV Rack. Auch das habe ich nicht wirklich weiter verfolgt.

Vor ein paar Wochen habe ich angefangen Python zu lernen und das hat meine Programmierlust wieder so richtig geweckt. Als ich dann vor ein paar Tagen eine Email von einem Leser des Blogs bekam, der ein paar Fragen zum Thema VST-Programmierung mit C++ und JUCE hatte, war das Feuer wieder entfacht.

Weiterlesen

Abenteuer Sound Design #01 – Kick Drum Design mit Synthesizer und Found Sounds

Schon wieder eine neue Serie … ja, die Quarantäne lässt es zu. Auch diese Serie wollte ich schon immer einmal machen. Sound Design mit Synthesizern, Samplern und Found Sounds. Es gibt nichts Befriedigerendes, als sich seine eigenen Instrumente zu bauen. Sei es mithilfe von Software-Synths oder mit Found Sounds und Samplern.

Man wird momentan so dermaßen vollgeballert mit Samples, virtuellen Instrumenten, Libraries, dass man mittlerweile jedes erdenkliche Instrument zur Hand hat. Mir macht es mittlerweile gar keinen Spaß mehr mich durch die Flut an Möglichkeiten auf der eigenen Festplatte zu wühlen, auf der Suche nach einem speziellen Sound. Aus diesem Grund gehe ich in den letzten Wochen den kreativen Weg und baue mir meine eigenen Instrumente. Und genau darüber möchte ich in dieser Serie schreiben. Es geht ganz simpel los, mit einer Kick Drum. Ich weiß, dazu gibt es schon unzählige Tutorials im Netz, aber trotzdem möchte ich mit diesem einfachen Beispiel den Einstieg machen.

Ich will versuchen in jedem Artikel zwei Möglichkeiten vorzustellen, ein Instrument zu designen. Einmal mithilfe eines Synthesizers (vorzugsweise VCV Rack, da wir hier die einzelnen Bausteine nutzen und besser verstehen können, was genau passiert. Außerdem ist die Software kostenlos erhältlich.) und zum anderen mithilfe von Found Sounds. D.h. wenn ich bspw. ein Kick Drum bauen will, überlege ich mir zuerst mit welchen Sounds aus meiner Umgebung das gut funktionieren könnte, nehme diese auf und verbiege dann alles in der DAW und im Sampler.

Weiterlesen

Wenn man zuhause bleiben muss, kann man die Zeit auch nutzen und einfach mal eine Programmiersprache erlernen … 6 Gründe um Python zu lernen

Die aktuelle Situation aufgrund von Covid-19 zwingt uns zuhause zu bleiben. Auch wenn viele Menschen noch regelmäßig zur Arbeit gehen, bleibt ein Großteil der Freizeitaktivitäten erstmal aus. Was tun, wenn man das Haus möglichst nicht verlassen sollte? Langweilig wird uns sicherlich nicht, im Zeitalter von Streaming und Smartphones. Aber ist das eine gute Wahl, den Großteil des Tages Simpsons zu schauen? (Eventuell…)

Ich für meinen Teil nutze das Plus an eingeschränkter Freizeit mit dem Erlernen einer neuen Programmiersprache: Python! Zuletzt habe ich mit Csound eine spezielle Sprache für Sound und Synthese in Angriff genommen, aber ich vermisse eine nette Sprache für die „breite“ Programmierung. Eine „breite“ Sprache ist eine, die auf keine besondere Spezialisierung abzielt. Csound, Pure Data und SuperCollider sind Sprachen speziell für Sound- und Audio-Anwendungen; PHP und JavaScript sind für’s Web und LaTeX und HTML sind speziell entwickelt worden um Texte zu verarbeiten oder darzustellen.

Zu den allgemeinen, „breiten“ Sprachen zählen C++, Java, C#, Visual Basic, Perl, Assembler und viele mehr. Warum dann ausgerechnet Python lernen?

Python (Quelle: morioh.com)

Weiterlesen

Csound – Eine Programmiersprache für Sound Design, Synthese und Komposition…

Csound wurde in 80ern des letzten Jahrhunderts von Barry Vercoe am Massachusetts Institute of Technology (MIT) entwickelt. Im Grunde ist Csound ein direkter Nachfahre der ersten Programmiersprache für elektronische Musik von Max Mathews: Music N. Csound ist kostenlos und wird unter der LPGL Lizenz verbreitet. Das System wird von einer Handvoll Entwickler gepflegt und erweitert und außerdem von einer großen Community unterstützt.

Es gibt nur wenige Dinge, die man mit Csound in Bezug auf Audio nicht anstellen kann. Csound kann Audiomaterial offline rendern oder in Echtzeit eingesetzt werden. Es kann mithilfe von MIDI oder OSC gesteuert werden und es gibt eine riesige Sammlung an Tools zur Sound Synthese und zum Verbiegen von Sounds.

CsoundQT – Ein Frontend für Csound (Quelle: csound.com)

Weiterlesen

Die Alben meiner Indierock Truppe ‚mound‘ werden wir jetzt so nach und nach komplett auf YouTube hochladen…

Meine kleine Indierock-Truppe mound gibt es jetzt seit ungefähr 25 Jahren. Angefangen als Solo-Homerecording-LoFi-Schrammel-Ding und 2001 zum Duo entwickelt ist mound seit 2018 ein Trio …. Um 2005 rum waren wir sogar mal ein Quartet und hatte auch einige Live Auftritte. Von Anfang an war mound aber immer nur ein Recording-Projekt.

Wir haben mittlerweile 7 Longplayer veröffentlicht (will heißen: an Freunde verteilt und irgendwo im Netz hochgeladen) und diese laden wir gerade jeweils komplett bei YouTube hoch. Wir betreiben (recht unregelmäßig) einen kleinen Bandblog moundblog.tumblr.com und haben eine Bandcamp Seite mound2.bandcamp.com wo man auch alle Songs hören kann.

Seit unserem letzten Mini-Longplayer 2019 haben wir wieder fleißig Songs recorded, die noch auf Vocals warten und danach zu einem Lonplayer zusammengestellt werden wollen. Eventuell verabschieden wir uns aber auch ganz von dem Album-Modell und veröffentlichen die Songs alle einzeln und nacheinander … macht heutzutage vielleicht mehr Sinn.

Aber im Grunde geht es uns seit 25 Jahren nur darum, Spaß beim Recorden und Rumtüfteln zu haben … das ist wirklich so. Ich glaube selbst in unserer kleinen Heimatstadt Nordenham kennt uns niemand 😀 Aber vielleicht hat ja mal jemand Lust bei unserem YouTube Kanal vorbeizuschauen und mal in die Songs reinzuhören … ich würde mich freuen.

Pure Data #01 – Wie funktioniert Pure Data?

Die Programmierung mit Pure Data kann man sich als eine Art Datenfluss vorstellen, weil die Daten mithilfe von Verbindungen von Objekt zu Objekt fließen. Der Ausgang eines Objekts mündet im Eingang eines anderen… usw.

Die Hilfe-Datei eines OSC~ Objektes…

Objekte

Objekte in Pure Data sind einfache Boxen. Daten oder Signale geht hinein und ebenso wieder hinaus. Damit das funktioniert benötigen diese Objekte Eingänge (Inlets) und Ausgänge (Outlets). Inlets befinden sich oben am Objekt und die Outlets dementsprechend unten. Sie werden als klitzekleine Rechtecke and den Kanten der Objekte dargestellt.

Weiterlesen

Pure Data – Visuelle Open Source Audioprogrammierung

Ich habe hier schon öfters über verschiedene Programmierumgebungen zum Erstellen von Synths, Effekten oder Sequenzern geschrieben, ob es nun Max/MSP, SuperCollider, JUCE/C++ oder auch VCV Rack (obwohl das Rack keine wirkliche Programmierumgebung ist … naja) war. Eine Programmiersprache habe ich aber noch nie aufgegriffen, und das ist Pure Data.

Pure Data oder Pd wurde Anfang der 90er Jahre von Miller Puckette entwickelt und sollte zur Erzeugung von interaktiver Computermusik dienen. Puckette hat ebenfalls Max entwickelt, dass später dann zu MSP und kommerziell wurde. Pd ist immer ein freies Open Source Projekt geblieben und wurde seitdem stets erweitert.

Pure Data – Beispielpatch (Quelle: YouTube)

Weiterlesen

VCV Rack – FM Synthese (Teil 03)

Frequenz Modulation (FM), was ist das überhaupt? Das ist schnell erklärt. Angenommen wir haben eine Sinuswelle, die so aussieht und klingt:

einfache Sinuswelle

Wenn ich diese Sinuswelle jetzt beispielsweise moduliere, d.h. ich verbinde sie mit einer anderen Sinuswelle, die vielleicht viel langsamer schwingt und so aussieht (hören kann man sie nicht, weil die Frequenz unter dem hörbaren Bereich ist (LFO)):

Weiterlesen

VCV Rack – Subtraktive Synthese (Teil 02)

Falls man noch nicht soviel Erfahrung mit einem modularen System hat (egal ob Software oder Hardware), macht es Sinn erstmal zu versuchen einen subtraktive Synthesizer nachzubauen. Ein gutes Vorbild ist in diesem Zusammenhang definitiv der Minimoog Model-D. Der Moog gehört sicherlich zu den großen Vorbildern vieler nachfolgenden subtraktiven Synthesizer und verfügt über eine verbreitete Signalkette, die noch immer häufig genauso zur Anwendung kommt.

der berühmte Minimoog als Software-Synth von Arturia (Quelle: arturia.com)

Die Idee hinter der subtraktiven Synthese ist im Grunde recht simpel. Man benutzt einen (oder mehrere) Oszillatoren, um ein Signal zu bekommen das viel harmonische Obertöne enthält und dann wird ein Filter benutzt, um bestimmte Obertöne wieder zu entfernen (subtrahieren) … daher der Name.

Weiterlesen

Audio Programmierung – Teil 01: Ein Einstieg mithilfe von VCV Rack

VCV Rack habe ich hier des öfteren schon erwähnt, gelobt und gefeiert. Auch habe ich damals etwas dazu geschrieben, wie man das Rack selbst kompiliert und das Template-Modul verwendet, um eventuell eigene Module zu programmieren.

Da ich im letzten Jahr endlich mein Hochschulkurs in C++ erfolgreich abgeschlossen habe, wird es jetzt mal höchste Zeit das Erlernte anzuwenden und zu vertiefen. Aus diesem Grund starte ich in diesem Jahr mit der Audio Programmierung – Serie. Ziel soll hier sein, eigene VST Plugins mithilfe des JUCE-Frameworks zu entwickeln.

Zunächst einmal will ich aber VCV Rack nutzen. Denn ich denke das Rack ist ein hervorragendes Framework für den Einstieg in die Audio Programmierung. Leider gibt es nicht allzu viele Tutorials, die einem hierzu an die Hand nehmen. Und auch wenn Andrew Belt, der Hauptentwickler von VCV Rack einiges getan hat, damit C++ Entwickler möglichst unkompliziert eigene Module entwickeln können, fehlt es doch an echten Anleitungen. Genau hier setzt diese Blogserie an.

The Rack…

Weiterlesen

Seite 1 von 3

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