Host and Plugins : Parameter Automation Without Crossing the Audio Thread Barrier

Autor: Dylann Batisse, Cousson, Antoine, Mazuy, Antoine Vidal, Jean-Philippe Carlens, Buffa, Michel
Přispěvatelé: Université Côte d'Azur (UCA), Laboratoire d'Informatique, Signaux, et Systèmes de Sophia Antipolis (I3S), Université Nice Sophia Antipolis (1965 - 2019) (UNS), COMUE Université Côte d'Azur (2015-2019) (COMUE UCA)-COMUE Université Côte d'Azur (2015-2019) (COMUE UCA)-Centre National de la Recherche Scientifique (CNRS)-Université Côte d'Azur (UCA), Web-Instrumented Man-Machine Interactions, Communities and Semantics (WIMMICS), Inria Sophia Antipolis - Méditerranée (CRISAM), Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Scalable and Pervasive softwARe and Knowledge Systems (Laboratoire I3S - SPARKS), COMUE Université Côte d'Azur (2015-2019) (COMUE UCA)-COMUE Université Côte d'Azur (2015-2019) (COMUE UCA)-Centre National de la Recherche Scientifique (CNRS)-Université Côte d'Azur (UCA)-Université Nice Sophia Antipolis (1965 - 2019) (UNS), COMUE Université Côte d'Azur (2015-2019) (COMUE UCA)-COMUE Université Côte d'Azur (2015-2019) (COMUE UCA)-Centre National de la Recherche Scientifique (CNRS)-Université Côte d'Azur (UCA)-Laboratoire d'Informatique, Signaux, et Systèmes de Sophia Antipolis (I3S)
Jazyk: angličtina
Rok vydání: 2022
Předmět:
Zdroj: WAC 2022-Web Audio Conference 2022
WAC 2022-Web Audio Conference 2022, Jul 2022, Cannes, France
Popis: WebAudio Modules 2.0 (aka WAM) is a standard for developing interoperable host and plugins that can be written using different development approaches (JavaScript, build systems, TypeScript, FAUST, Csound, front-end frameworks, etc.). The WAM standard has been designed with high performance host-plugin communication in mind when both the host and plugins are running in the audio thread. This is the case when the host is written as an Audio Worklet (AW) and when plugins are also AW based. We have developed for the WAM standard an example of such a host: a very simple DAW using Audio Worklets to manage the audio buffers for each track. In a typical way, each track is associated to a chain of plugins, to bring for example real time effects on the signal. This DAW is an interesting example to study for developers who would like to write this type of program: not only does it show how to manage audio buffers with sample accuracy (in order to have very precise loops), but it also shows how, thanks to the tools offered by the WAM standard, you can automate a large number of plugin parameters at the sample rate in a very efficient way (using Shared Array Buffers and Ring Buffers), much more than what is possible with the management of the parameters offered by the WebAudio API.
Demo paper
Databáze: OpenAIRE