• Aucun résultat trouvé

ATELIER : INTRODUCTION AU LANGAGE DE PROGRAMMATION FAUST

N/A
N/A
Protected

Academic year: 2021

Partager "ATELIER : INTRODUCTION AU LANGAGE DE PROGRAMMATION FAUST"

Copied!
2
0
0

Texte intégral

(1)

HAL Id: hal-03041795

https://hal.archives-ouvertes.fr/hal-03041795

Submitted on 5 Dec 2020

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of

sci-entific research documents, whether they are

pub-lished or not. The documents may come from

teaching and research institutions in France or

abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est

destinée au dépôt et à la diffusion de documents

scientifiques de niveau recherche, publiés ou non,

émanant des établissements d’enseignement et de

recherche français ou étrangers, des laboratoires

publics ou privés.

ATELIER : INTRODUCTION AU LANGAGE DE

PROGRAMMATION FAUST

Yann Orlarey

To cite this version:

Yann Orlarey. ATELIER : INTRODUCTION AU LANGAGE DE PROGRAMMATION FAUST.

Journées d’Informatique Musicale, 2012, Mons, France. �hal-03041795�

(2)

ATELIER : INTRODUCTION AU LANGAGE DE PROGRAMMATION

F

AUST

Yann ORLAREY

GRAME, Centre national de création musicale

9 rue du Garet

69202 Lyon,

France,

orlarey@grame.fr

RÉSUMÉ

FAUSTest un langage de programmation fonctionnel syn-chrone spécialement conçu pour le traitement du signal et la synthèse de sons en temps réel. L’objectif de l’atelier est de proposer une introduction simple au langage et à ses possibilités, notamment en relation avec les autres en-vironnements musicaux. Les participants qui le souhaitent peuvent venir avec leur machine.

1. PRÉSENTATION

FAUST[1] est un langage de programmation spécialisé, conçu pour décrire de manière concise des algorithmes de synthèse et de traitement du son. Un programme FAUST

décrit un processeur de signaux, c’est à dire une fonction, au sens mathématique du terme, qui prend des signaux en entrée et produit des signaux en sortie.

L’une des caractéristiques de FAUST, contrairement aux autres langages musicaux, est d’être entièrement compilé. On peut donc tout à fait utiliser FAUSTà la place de C pour écrire par exemple des plugins audio. Les techniques de compilation mise en oeuvre sont très optimisées et per-mettent de générer du code de qualité, dont l’efficacité est généralement comparable à du code C écrit à la main.

Le système d’architecture de FAUST[2] facilite le dé-ploiement des programmes et permet de générer, à par-tir d’un même source, du code pour les principales plate-formes audio : MaxMSP, VST, Puradata, Csound, Super-collider, etc.

FAUSTest un langage textuel. Sa syntaxe est basée sur l’idée de composition de processeurs de signaux. Ainsi par exemple siAetBsont deux processeurs de signaux,(A:B )représente le processeur de signaux obtenu en branchant les sorties deAsur les entrées correspondantes deB. Tan-dis que(A,B)représente la mise en parallèle deAetB.

Un programme FAUSTest constitué d’un ensemble de définitions dont celle du mot clefprocess, l’équivalent demain()en C.

Par exemple le programme suivant comporte 3 défini-tions et décrit un générateur de bruit blanc dont le niveau est contrôlé par un réglage de volume dont la valeur par

défaut est 0, qui prend des valeurs entre 0 et 1 avec un pas de variation de 0.01.

noise = random / 2147483647.0; random = +(12345) ~ *(1103515245); process = noise * hslider("volume", 0, 0,

1, 0.01);

Il est possible d’associer, en parallèle de l’interface gra-phique, d’autres interfaces de contrôles comme OSC ou HTTP. L’exemple qui suit est une variante du précédent où l’on indique que le slider de volume est contrôlé éga-lement par la réception du message OSC/accxyzce qui permet de piloter ce slider à distance via un smartphone et l’application TouchOSC.

noise = random / 2147483647.0; random = +(12345) ~ *(1103515245); process = noise * hslider("volume[osc:/

accxyz/0 -10 10]", 0, 0, 1, 0.01);

La façon la plus simple de tester FAUSTest d’utiliser le compilateur en ligne http://Faust.grame.fr. De-puis la page d’accueil cliquez sur Online Examples. Après avoir fermé la fenêtre de bienvenue choisissez dans la ru-brique Effects le programme freeverb. Cliquez ensuite sur l’onglet C++ code pour choisir l’architecture souhaitée, par exemple VST. Enfin allez sur l’onglet Exec File pour déclencher la compilation et récupérer le plugin VST prêt à l’emploi.

Le site contient également toutes les informations ne-cessaires pour téléchargez FAUSTet l’installer sur une ma-chine Linux ou MacOSX.

2. REFERENCES

[1] Orlarey, Y., Fober, D. et Letz, S. “An algebra for block diagram languages”, Proceedings of the Inter-national Computer Music Conference (ICMA), Go-thenburg, Suède, 2002.

[2] Fober, D., Orlarey, Y. et Letz, S. “FAUSTarchitecture design and OSC support”, Proceedings of the Confe-rence on Digital Audio Effects (DAFx-11), IRCAM, Paris, France, 2011.

Actes des Journées d’Informatique Musicale (JIM 2012), Mons, Belgique, 9-11 mai 2012

Références

Documents relatifs

• le modèle d’une structure décrit le type des variables membres d’une structure  c’est un type. • une instance d’une structure a une existence réelle

) Structure d’un programme ... ) Variables et constantes... ) Les chaines de caractères ... ) Affichage et saisie... ) Codes de contrôle... ) L’opérateur d’affectation ... )

Dans un terminal, taper python (interpréteur classique) ou ipython (interpréteur plus évolué) pour accéder à un interpréteur Python.. Vous pouvez maintenant taper dans ce terminal

Les informations de base concernant le mode d'emploi d'une fonction sont résumées dans l'en-tête de la fonction (une description qui peut se trouver dans l'aide

Ce document archive l’ensemble des notes du cours de langage C donné en première année de la licence MMIA.... 1.4 Le Langage

• Ecrire une fonction permettant le calcul de la factorielle d’un nombre naturel en utilisant un algorithme itératif, puis en utilisant un algorithme récursif et décrire

• les valeurs des paramètres formels peuvent être modifiées dans le corps de la fonction,.  sans influencer les valeurs des

Dans cet exercice on va gérer les nombres complexes qui sont des couples de réels, une partie réelle et une partie imaginaire. - Déclarer le TYPE complexe. - Ecrire une procédure