À propos du projet

Faust (Functional Audio Stream) est un langage de programmation fonctionnel spécifique au domaine, conçu pour le traitement du signal en temps réel et la synthèse sonore. Développé principalement à Grame, Centre National de Création Musicale, il compile des spécifications DSP en code hautement efficace pour plusieurs cibles, notamment C++, C, Java, LLVM IR et WebAssembly. Un seul programme Faust peut générer des applications autonomes natives, des applications iOS/Android et des plugins audio pour une large gamme de plateformes et de standards : VST, AU, LV2, LADSPA, Max/MSP, Pure Data, SuperCollider, Csound, JACK, ALSA, et plus encore. La distribution inclut le compilateur, les fichiers d'architecture pour chaque cible, les bibliothèques DSP (désormais dans un sous-module séparé), de nombreux exemples et une suite de scripts faust2* qui automatisent la compilation pour des cibles spécifiques (par exemple, faust2vst, faust2max6, faust2android). Des outils en ligne tels que Faust Editor, Faust IDE et Faust Playground permettent une compilation et des tests sans configuration dans le navigateur. FaustLive fournit un environnement de bureau avec compilation JIT pour un prototypage rapide. Le langage met l'accent sur les performances au niveau de l'échantillon et la génération de documentation mathématique. Le système de build est basé sur CMake depuis la version 2.5.18. Le support communautaire est disponible via les listes de diffusion de développement et d'utilisateurs.