Notice: Unexpected clearActionName after getActionName already called in /var/www/html/includes/context/RequestContext.php on line 338
Faust (Programmiersprache) – Wikipedia Zum Inhalt springen

Faust (Programmiersprache)

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Programmiersprache Faust)
Faust
colspan="2" class="notheme" style="text-align:center; background-color:#Vorlage:Standardfarbe;" | Logo von Faust
Basisdaten
Paradigmen: Funktionale Programmierung
Erscheinungsjahr: 2002
Designer: Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Entwickler: Yann Orlarey, Dominique Fober, Stéfane Letz
Aktuelle Version: 2.83.1<ref>Releases · grame-cncm/faust · GitHub. Abgerufen am 24. Januar 2026 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>  (2025-12-16)
Beeinflusst von: Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Betriebssystem: Plattformunabhängig
Lizenz: GPL
Faust-Projektseite (englisch)

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-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.<ref>_<: International Faust Conference (IFC18) :>_. Abgerufen am 21. Juli 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

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:<syntaxhighlight lang="java"> process = 0;

</syntaxhighlight>Das zweite Beispiel kopiert das Input-Signal und fügt es zum Output ein:<syntaxhighlight lang="java"> process = _;

</syntaxhighlight>Dieses Beispiel konvertiert ein Stereo-Signal in ein Mono-Signal um:<syntaxhighlight lang="java"> process = +; </syntaxhighlight>Die meisten FAUST Operatoren entsprechen denen von C, sind aber ausgelegt für Signale.

Weblinks

Einzelnachweise

<references />