Better Faust on the Web
- Mentors
- sletz, Jason Freeman
- Organization
- GRAME
- Technologies
- javascript, c++, typescript, webassembly, Faust, Web Audio
- Topics
- web, music, audio, compiler, digital signal processing, Collaborative Repository
Faust is a functional programming language that enables people to express sound synthesis and audio processing algorithms concisely, efficiently, and portably. It is known for targeting a wide variety of environments: Faust code compiles to C, C++, LLVM IR and more, and for many different audio APIs and environments. In recent years, following the development of asm.js, Emscripten, Audio Worklets, and WebAssembly, the web has become an increasingly viable platform for DSP and audio programming. Prior work has enabled the generation of Audio Worklets (and older Script Processor Nodes) from Faust code. Furthermore, Faust has web-based tools such as an editor, IDE, and playground that allow people to easily try the language and hear the results without installing a compiler toolchain. I propose to improve Faust's support for the web platform by 1) updating and extending the Faust web tools and 2) building on Faust's ability to target WebAssembly in order to make Faust documentation more usable and to make it easier to find and share Faust code on the web.