Faust (Functional Audio Stream) est un langage de programmation fonctionnel pour la synthèse sonore et le traitement audio très orienté vers la conception de synthétiseurs, d'instruments de musique, d'effets audio, etc.
Faust permet la réalisation d'applications hautes performances de traitement du signal et des plug-ins audio pour une grande variété de plates-formes et de normes. Il peut être utilisé sur scène pour des concerts et des productions artistiques, dans l'enseignement et la recherche, dans des projets open source ainsi que dans des applications commerciales.
Le composant central de Faust est son compilateur. Il permet de «traduire» toutes les instructions de traitement du signal numérique (DSP) Faust dans un large éventail de langages non spécifiques au domaine tels que C ++, C, JAVA, JavaScript, code binaire LLVM, WebAssembly, etc.
La combinaison de la formidable technologie LLVM et de Libfaust (la version bibliothèque du compilateur Faust) permet aux développeurs de compiler et d'exécuter des programmes Faust DSP à la volée, à pleine vitesse et sans faire de compromis, à l'intérieur même de leur propre application. Cela suppose que vous disposiez d'un système de developpement digne de ce nom.
Les applications et les plug-ins générés utilisent GTK ou QT pour leurs interfaces. Il vous faudra donc installer ces bibliothèques sur votre système. Sur Linux cela ne pose aucun problème particulier, mais pour Windows il vous faudra de préférence passer par la plate forme de développement Msys2. Reportez-vous à la page dédiée.
Ces interfaces peuvent être également contrôlées à partir de vos applications en utilisant le protocole HTTP (tcp) ou OSC (udp), ce qui élargit encore les possibilités.
Sous Linux, Windows et OSX vous pouvez disposer d'un pack précompilé, soit en passant par le gestionnaire d'applications de votre système soit par la version adaptée sur le site de Faust.
Cependant vous risquez de ne pas pouvoir disposer de tous les outils.
La solution la plus intéressante et certainement de passer par gitHub et de compiler vous même Faust.
cd /home/‹utilisateur›/Compile
git clone https://github.com/grame-cncm/faust.git.
Cette commande copiera la branche master-dev de Faust dans votre dossier. Ensuite vous pouvez procéder à la compilation à proprement parlé.cd /home/‹utilisateur›/Compile/faust
make all
sudo make install
Cette dernière commande, exécutée en tant qu'administrateur, installera Faust dans le dossier /usr/local.
Maitenant Faust est totalement opérationnel.
Vous pouvez vous rendre sur le site de Faust pour la documentation.
Vous devrez d'abord installer Msys2 puis ensuite procéder comme sous Linux
cd /home/‹utilisateur›/Compile
Vous pouvez créer ce dossier avec le gestionnaire de fichier de Windows.
git clone https://github.com/grame-cncm/faust.git.
Cette commande copiera la branche master-dev de Faust dans votre dossier. Ensuite vous pouvez procéder à la compilation à proprement parlé.cd /home/‹utilisateur›/Compile/faust
make all
make install
Vous pouvez rencontrer un blocage à la fin de la compilation, mais cela devrait être résolu rapidement.
Si vous êtes confronté à cette difficulté, alors, compilez Faust ainsi :
make developer
make install
Afin d'installer tous les fichiers nécessaire au bon fonctionnement du langage. Ensuite procédez comme ci-dessus avec:
make all
Puis recopiez manuellement :
Ceci permet de contourner le bug final au moment de la compilation.