Atelier «Smartphones comme instruments de musique, avec le langage de programmation Faust»
Workshop: Smartphones as musical instruments with Faust
The goal of this two-day workshop is to learn how to build audio applications, in particular smartphone’s audio instruments, using Faust. The participants should be familiar with computers, but no pre-existing knowledge of Faust or computer programming is required. The attendee will learn to program with Faust during the workshop.
Faust (Functional Audio Stream) is a functional programming language specifically designed for real-time signal processing and synthesis. Faust targets high-performance signal processing applications and audio plug-ins for a variety of platforms and standards. A distinctive feature of Faust is that it is not an interpreted, but a compiled language. The Faust compiler translates Faust programs into optimized C++ code for : iOS, Android, MaxMSP, VST, LV2, Puredata, SuperCollider, Csound, etc.
Objectives of the workshop
At the end of the workshop the participants will:
- have acquire basic programming skills in Faust,
- have acquire basic knowledge of signal processing,
- understand how simple digital audio effects work,
- be able to develop their own audio applications for Android.
Program of the Workshop
- Introduction to Faust and related tools
- Introduction to audio synthesis
- noise generators
- simple oscillators
- frequency modulation
- Introduction to audio processing (1/2)
- delays and echos
- Introduction to audio processing (2/2)
- granular synthesis
- Building an audio applications for smartphones
- Mapping accelerometers
- Organizing and structuring Faust code
- Designing user interfaces
- Deploying Faust code on multiple targets
Equipments and softwares
We recommend one android phone and one computer with headphones per participant. Additionally one computer for the teacher with a video projector and a stereophonic sound system will be needed. A wifi network with Internet connection is for all computers and Android phones.
Concerning software, all developments will be done via a Web browser using online tools like the Faust online compile (faust.grame.fr/onlinecompiler) and the Faust playground (faust.grame.fr/faustplayground).
To work with these online tools we recommend to install a recent version of Google Chrome or Mozilla Firefox, or a modern browser with a good support of the Web Audio API and asm.js.
About Yann Orlarey
Yann Orlarey (1959) is a French composer and researcher. He is currently scientific director at GRAME.
His repertoire includes sound installations, realtime interactive pieces, and instrumental pieces for soloists, small groups and orchestras. Works by him have been performed in Europe, North America and Asia.
His research work focuses on real-time architectures of music systems, and programming languages for music composition and audio processing. He authored or co-authored more than 50 scientific papers and several music-oriented softwares.
He is the designer of FAUST (Functional Audio Stream), a functional programming language specifically designed for real-time signal processing and synthesis.
His current research interests include efficient compilation and parallelization of signal processing programs and preservation of signal processing programs using formal mathematical techniques.