Sampling, Recording, Programmierung & Software

Kategorie: Pure Data

Faust – Echtzeit Audio Programmierung für Anwendungen und Plugins…

Faust (Functional AUdio STream) ist eine Programmiersprache, die speziell für die Erstellung von digitalen Synthesizern und Audio Effekten gedacht ist. Faust unterstützt das funktionale Programmierparadigma und man kann den geschriebenen DSP-Code schnell in eine andere allgemeine Programmiersprache, wie C, C++, Java, JavaScript oder Web Assembly, übersetzen.

Außerdem ist es möglich diesen generierten Code leicht in verschiedene Objekte zu kompilieren: Audio-Plugins, Standalone-Anwendungen, Smartphone- oder Web Apps.

Quelle: https://faust.grame.fr/

Faust Programme werden kompiliert und nicht interpretiert. Sie werden in möglichst optimierten C++ Code umgewandelt. Angeblich soll dieser generierte Code effizienter sein, als der den ein fortgeschrittener C++ Entwickler schreiben würde … zumindest genauso effizient. Hut ab!

Faust ist zwar im Grunde eine textuelle Sprache, aber trotzdem ähnelt das alles einem Block Diagramm. Sie vereint die funktionelle Programmierung mit dem Erstellen von Blockdiagrammen. Man programmiert quasi Blockdiagramme mithilfe von Funktionen. Kurz gesagt: Ein Faust Programm beschreibt einen Signalprozessor.

Die meisten Audiotools können als Signalprozessoren dargestellt werden. Sie verfügen über Audio-Ein– und –Ausgänge und Kontrollsignale werden mithilfe von Drehreglern, Schiebern und diversen Anzeigen dargestellt.

Nun kann man seine Pure Data Patches auch in VCV Rack nutzen…

VCV Rack verfügt mittlerweile über eine nahezu unendliche Auswahl an Modulen – die meisten davon sind sogar kostenlos. Was aber, wenn ich meine eigenen Module erstellen will? Selbst für findige C++-Programmierer stellt das Rack eine komfortable Umgebung dar, seine eigenen Ideen relativ einfach umzusetzen. Und für alle, die in C++ nicht unbedingt zuhause sind, gibt es das Prototype-Modul.

Prototype kann man mit Skripten der Sprachen JavaScript, Lua oder SuperCollider füttern, neuerdings aber auch mit Vult’s eigener DSP Sprache und Pure Data Patches.

Seit Version 1.3.0 kann man also auch die visuelle Umgebung Pure Data nutzen, um Ideen für Module umzusetzen.

Man muss Prototype vorher mitteilen, wo auf dem Rechner sich die Pure Data Installation befindet und schon kann man seine Patches laden und ausführen. Prototype verfügt über 6 Ein- und Ausgänge…

Der einzige Wermutstropfen: Man kann nur eine Instanz von Prototype inklusive PD-Patch gleichzeitig nutzen. Diese Einschränkung hat aber nichts mit VCV Rack oder Prototype zu tun, sondern mit Pure Data selbst.

Ok, wer also nicht gleich in die C++ Welt einsteigen will, der kann sich dank Prototype erstmal mit JS, Lua, SuperCollider, Vult oder Pure Data ein wenig die Hände schmutzig machen.

https://community.vcvrack.com/t/pure-data-added-to-vcv-prototype/10583

Das nächste Jahr wird etwas tiefer…

Der Weihnachtswahnsinn ist geschafft. Obwohl es in den letzten Wochen hier etwas ruhiger war, habe ich trotzdem so einiges an neuer Software ausprobiert. Ich muss aber zugeben, dass mich 80% der neuen Instrumente und Effekte eher gelangweilt haben. Viele neue polierte und grafisch aufwendige, aufgeblasene Produkte, die manche Dinge sicherlich leichter machen … aber nicht besser.

Aus diesem Grund habe ich über die Feiertage beschlossen mal wieder etwas zurück zu treten. Ich will mein persönliches Setup etwas herunterzufahren, mehr experimentieren, Dinge besser verstehen und wieder etwas mehr in die Tiefe gehen. Dazu passt hervorragend der großartige Artikel von vor zwei Jahren, der auf David Cain’s Blog zu finden ist.

Dort geht es um ein tiefes Jahr. Ein Jahr in dem keine neuen Dinge angefangen, keine Bücher gekauft, keine neuen Hobbies begonnen und kein weiteres Equipment angeschafft wird. Es geht darum, dass man wieder Nutzen in den Dingen sucht, die man bereits besitzt und die Dinge zu Ende bringt oder voran bringt, die man bereits angefangen hat.

Endlich besser an der Gitarre werden, anstatt mit dem Piano anzufangen, Die Bücher zu Ende lesen oder erneut durchzuarbeiten, die seit langem im Regal stehen und die Vinylsammlung wirklich mehr zu schätzen lernen, anstatt ständig neue Platten zu sammeln.

Genau wie David es in seinem Artikel ausdrückt, soll es darum gehen „tiefer zu gehen, anstatt breiter“. Man kehrt den neuen angepriesenen Dingen, denen man eventuell im Netz begegnet einfach mal den Rücken zu, ignoriert sämtliche Software Updates und beschäftigt sich mit der Vielzahl an Möglichkeiten, die man bereits um sich hat. Wenn man sich solch ein „tiefes“ Jahr einfach mal vorstellt … eine Handvoll Interessen, die eventuell gemeistert wurden, anstatt dutzende von halbherzig neu begonnenen Dingen, die nach kurzer Zeit liegen gelassen werden und abgelöst wurden. Man müsste wieder lernen ohne die kleinen Dopamin-Spritzen auszukommen, die man sich verabreicht, wenn etwas Neues ausprobiert oder gekauft wird.

Für mich persönlich bedeutet das konkret, dass ich wirklich wieder intensiver Gitarre spielen will, mich mit nur einer DAW beschäftigen und keine weiteren Plugins anschaffen will. Außerdem will ich mich endlich weiter mit der Programmierung von Effekten befassen und dazu tiefer in Csound eintauchen.

Ich gehe sogar noch einen Schritt weiter und beschränke mich mit Tropone nur noch auf eine DAW (plus Csound, VCV Rack und meine Gitarren-Amp-Emulation). Ich schränke mich also bewusst ein, damit ich genötigt bin mich mit den vorhandenen, einfacheren Mitteln intensiver zu beschäftigen. 2020 kann also kommen…

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.

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)

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