Faust (Programmiersprache)
Faust ist eine funktionale Programmiersprache für die Echtzeit-Signalverarbeitung von Audio-Signalen. Der Name Faust steht für Functional AUdio STream. Entwickelt wird Faust am GRAME centre national de création musicale in Lyon.
Faust | |
---|---|
Basisdaten | |
Paradigmen: | Funktionale Programmierung |
Erscheinungsjahr: | 2002 |
Entwickler: | Yann Orlarey, Dominique Fober, Stéfane Letz |
Aktuelle Version: | 2.5.23[1] (2018-03-06) |
Betriebssystem: | Plattformunabhängig |
Lizenz: | GPL |
Faust-Projektseite (englisch) |
Faust-Programme können auf POSIX-kompatiblen Systemen erstellt und ausgeführt werden. Der Quellcode beschreibt den Signalfluss ähnlich wie bei einem Digitalen Signalprozessor. Der Faust-Compiler erzeugt daraus C++-Code für die gewählte Art der Applikation. Es können unter anderem LADSPA- oder VST-Plugins, Erweiterungen für Pure Data sowie Applikationen für ALSA oder den JACK Audio Connection Kit mit GTK+- oder Qt-Oberfläche erzeugt werden.
Faust ist als freie Software unter der GPL lizenziert.
Am 17. und 18. Juli 2018 fand an der Johannes Gutenberg-Universität Mainz die erste Internationale FAUST-Konferenz (IFC) statt.[2]
Beispielprogramm
FAUST Programme definieren eine Prozessfunktion, welche die einkommenden Daten bearbeiten. Es entspricht der Main-Funktion in den heutigen bekannten Programmiersprachen wie Java. Das Folgende zeigt ein Beispiel zur Erstellung dieses:
process = 0;
Das zweite Beispiel kopiert das Input-Signal und fügt es zum Output ein:
process = _;
Dieses Beispiel konvertiert ein Stereo-Signal in ein Mono-Signal um:
process = +;
Die meisten FAUST Operatoren entsprechen denen von C, sind aber ausgelegt für Signale.
Weblinks
- Faust-Projektseite (englisch)
- GRAME centre national de création musicale (französisch)
Einzelnachweise
- Releases · grame-cncm/faust · GitHub. Abgerufen am 21. Juli 2018 (englisch).
- _<: International Faust Conference (IFC18) :>_. Abgerufen am 21. Juli 2018 (englisch).