faust - Compiled language for real-time audio signal processing

Faust AUdio STreams is a functional programming language for real-time audio
signal processing. Its programming model combines two approaches : functional
programming and block diagram composition. You can think of FAUST as a
structured block diagram language with a textual syntax.
FAUST is intended for developers who need to develop efficient C/C++ audio
plugins for existing systems or full standalone audio applications. Thanks to
some specific compilation techniques and powerful optimizations, the C++ code
generated by the Faust compiler is usually very fast. It can generally compete
with (and sometimes outperform) hand-written C code.
Programming with FAUST is somehow like working with electronic circuits and
signals. A FAUST program is a list of definitions that defines a signal
processor block-diagram : a piece of code that produces output signals
according to its input signals (and maybe some user interface parameters)