Faust(オーディオ言語)
詳細情報
- 作成者
- GRAME(Yann Orlarey ほか)
- 公開
- 2002年
- 種類
- プログラミング言語
- 公式サイト
- faust.grame.fr
- ソースコード
- github.com/grame-cncm/faust
プログラムがそのままブロック線図になる、信号処理向けの関数型言語。効率のよいC++やWebAssemblyにコンパイルされる。
Faust(Functional Audio Stream)は、2002年にリヨンの研究機関GRAMEで生まれた。プログラムが記述するのは、機械に何を順に実行させるかではなく、信号がどう流れるかである。ブロックをつなぐ演算子は5つで足りる。直列は :、並列は ,、分岐と合流は <: と :>、フィードバックは ~ である。process = _ : *(0.5); は音量を半分にする。
コンパイラはC++、C、Rust、LLVM、WebAssemblyを出力でき、ラッパーを使えば同じソースからVST、LV2、MaxやPure Dataの外部オブジェクト、Webページを作れる。同じフィルターを4つのプラグイン形式向けに書き直した経験のある人なら、この魅力は分かるだろう。