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

Title:
Host and Plugins : Parameter Automation Without Crossing the Audio Thread Barrier
Contributors:
Université Côte d'Azur (UniCA), Laboratoire d'Informatique, Signaux, et Systèmes de Sophia Antipolis (I3S), Université Nice Sophia Antipolis (1965 - 2019) (UNS)-Centre National de la Recherche Scientifique (CNRS)-Université Côte d'Azur (UniCA), Web-Instrumented Man-Machine Interactions, Communities and Semantics (WIMMICS), Centre Inria d'Université Côte d'Azur, 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), Université Nice Sophia Antipolis (1965 - 2019) (UNS)-Centre National de la Recherche Scientifique (CNRS)-Université Côte d'Azur (UniCA)-Université Nice Sophia Antipolis (1965 - 2019) (UNS)-Centre National de la Recherche Scientifique (CNRS)-Université Côte d'Azur (UniCA)-Laboratoire d'Informatique, Signaux, et Systèmes de Sophia Antipolis (I3S), Université Nice Sophia Antipolis (1965 - 2019) (UNS)-Centre National de la Recherche Scientifique (CNRS)-Université Côte d'Azur (UniCA)-Université Nice Sophia Antipolis (1965 - 2019) (UNS)-Centre National de la Recherche Scientifique (CNRS)-Université Côte d'Azur (UniCA)
Source:
WAC 2022 - Web Audio Conference 2022, Jul 2022, Cannes, France
Publisher Information:
CCSD, 2022.
Publication Year:
2022
Collection:
collection:UNICE
collection:CNRS
collection:INRIA
collection:INRIA-SOPHIA
collection:I3S
collection:INRIASO
collection:INRIA_TEST
collection:TESTALAIN1
collection:WIMMICS
collection:INRIA2
collection:UNIV-COTEDAZUR
collection:TEST-NICE
Subject Geographic:
Original Identifier:
HAL: hal-03812916
Document Type:
Konferenz conferenceObject<br />Conference papers
Language:
English
Rights:
info:eu-repo/semantics/OpenAccess
Accession Number:
edshal.hal.03812916v1
Database:
HAL

Weitere Informationen

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. Licensed under a Creative Commons Attribution 4.0 International License (CC BY 4.0). Attribution: owner/author(s).