Opens in a new tab

AES E-Library

← Back to search

Journal Article

Using Faust DSL to Develop Custom, Sample Accurate DSP Code and Audio Plugins for the Web Browser

Authors: Ren, Shihong; Letz, Stéphane; Orlarey, Yann; Michon, Romain; Fober, Dominique; Buffa, Michel; Lebrun, Jerome

Journal of the Audio Engineering Society · Volume 68 · Issue 10 · pp. 703–716 · October 2020

Abstract

The development and porting of virtual instruments or audio effects on the Web is a hot topic. Several initiatives are emerging, from industry-driven ones (e.g., Propellerhead Rack Extension running on the Web1) to more community-based open-source projects [1]. Most of them aim at adapting existing code bases (usually developed in native languages like C/C++) as well as facilitating the use of existing audio Digital Signal Processing (DSP) languages and platforms. Our two teams previously presented an open format for WebAudio Plugins coined WAP [2]. It aims at (i) improving the interoperability of audio/MIDI plugins developed using pure Web APIs, (ii) porting existing native code bases, or (iii) using Domain Specific Languages (DSL). In this paper, we present a solution based around FAUST DSL, its Web-based editor, and the integration of a plugin GUI editor allowing us to directly test, generate, and deploy WAP plugins. We also evoke our collaborative work: one team hatching and improving FAUST, the other working on the recreation of tube guitar amplifiers and pedalboards within Web browsers. So as to fully illustrate the FAUST online framework, a case study is detailed with complete workflow, from the FAUST DSP source code written and tested in a fully functional online editor to a self-contained plugin running in a separate host application.

Details

Publication
Journal of the Audio Engineering Society
Volume
68
Issue
10
Pages
703–716
Publication date
October 6, 2020
Affiliation
GRAME, 11 cours de Verdun LYON, FRANCE; Université Côte d’Azur, CNRS, INRIA, FRANCE (See document for exact affiliation information.)
Type
Journal Article