Faust (linguaggio audio)
Maggiori info
- Creato da
- GRAME (Yann Orlarey e altri)
- Anno
- 2002
- Tipo
- Linguaggio di programmazione
- Sito ufficiale
- faust.grame.fr
- Codice sorgente
- github.com/grame-cncm/faust
Un linguaggio funzionale per l'elaborazione del segnale in cui i programmi sono schemi a blocchi, compilati in C++ o WebAssembly efficienti.
Faust (Functional Audio Stream) nacque nel centro di ricerca GRAME di Lione e uscì nel 2002. Un programma descrive come fluiscono i segnali, non cosa debba fare la macchina passo dopo passo. Bastano cinque operatori per collegare i blocchi: : in serie, , in parallelo, <: e :> per dividere e riunire, ~ per la retroazione. process = _ : *(0.5); dimezza il volume.
Il compilatore genera C++, C, Rust, LLVM o WebAssembly, e dei wrapper trasformano lo stesso sorgente in un VST, un LV2, external per Max e Pure Data o una pagina web. Chi ha scritto lo stesso filtro per quattro formati di plug-in capisce il fascino.