Peinture Poesie Musique

Alètheia ( ἀλήθεια )

Espace logitiels

Première page Page précédente Page suivante Dernière page

Le Langage Faust

Présentation

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.

Installation - Compilation

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.

La procédure est très simple sous Linux :

  • Placez vous dans un dossier personnel destiné à la compilation, par exemple :

    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.

Pour windows :

Vous devrez d'abord installer Msys2 puis ensuite procéder comme sous Linux

  • Ouvrez le terminal Msys64 en cliquant sur l'icone Msys64 correspondant dans le dossier d'installation de Msys2.
  • Comme sous Linux, placez vous dans un dossier personnel destiné à la compilation, par exemple :

    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

    La commande sudo ne doit pas être utilisée dans ce contexte.

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 :

  • faust.exe dans le dossier /usr/local/bin
  • toutes les librairies du dossier /home/‹utilisateur›/Compile/faust/build/lib dans /usr/local/lib

Ceci permet de contourner le bug final au moment de la compilation.

Première page Page précédente Page suivante Dernière page