Modernized Toolchains to Create JSPatcher Objects and WebAudioModules from Faust Code
Year: 2022
Type: conference-paper
Abstract: Faust, as an audio domain specific language (DSL) for DSP, has different compilation targets including WebAudio nodes. An AudioWorklet processor wrapping a WebAssembly DSP can be generated statically from native platform compilers as a JavaScript module with wasm files, or dynamically in a browser using a WebAssembly version of the compiler. The WebAssembly compiler has been used in various WebAudio projects through a JavaScript module faust2webaudio, such as the Faust IDE and JSPatcher. In the paper, we present recent work on a new version of the FaustWebAssembly compiler for the WebAssembly target and its JavaScript wrapper module: faustwasm. Using modern JavaScript tools, the module is designed to be cross platform and runnable under both Node.js and browser environment to generate, compile, and instantiate WebAssembly binary code from Faust code and wrap the binary as an AudioWorklet Processor. Based on this module, we created faust2wam, a WebAudio plugin generator for the WebAudioModule standard with an automatically generated user interface. We also created a tool as an external package for JSPatcher to generate JSPatcher DSP objects in bulk.
Source: HAL
Institutions: Shanghai University, Shanghai Conservatory of Music, Études du Contemporain en Littératures, Langues, Arts, Université Jean Monnet, Université Jean Monnet, Institut national de recherche en sciences et technologies du numérique, EMERAUDE: Systèmes Embarqués audio programmables, Center of Innovation in Telecommunications and Integration of Service, Institut National des Sciences Appliquées de Lyon, Université Côte d'Azur, Laboratoire d'Informatique, Signaux et Systèmes de Sophia Antipolis, WIMMICS: Web-Instrumented huMan-Machine Interactions, Communities and Semantics
Language: English
Subfield: Music
Field: Arts and Humanities
Domain: Social Sciences
Open Access status: green
OpenAlex ID: W4283689282
