r-audio: Declarative, reactive and flexible Web Audio graphs in React Dependency on React
Web Audio is by design an object-oriented, imperative API offering low-level control over audio graphs. There have been a number of efforts to provide a more intuitive wrapper API. Designing such wrapper libraries poses challenges in addressing graph configuration, dynamic mutation and data flow. Syntax of creating directed graphs in imperative code is not representative of the complex graph shapes, making the code difficult to understand without external visualisation tools. In this paper I describe r-audio1, a Web Audio wrapper library which attempts to solve the issues of imperative graph representations by leveraging the component system of React. I compare approaches of existing wrapper libraries and discuss solutions to specific issues of declarative and reactive representations of Web Audio graphs. I evaluate r-audio in terms of the ability to create arbitrary directed graphs and mutate them in real time.
@inproceedings{2018_20,
abstract = {Web Audio is by design an object-oriented, imperative API offering low-level control over audio graphs. There have been a number of efforts to provide a more intuitive wrapper API. Designing such wrapper libraries poses challenges in addressing graph configuration, dynamic mutation and data flow. Syntax of creating directed graphs in imperative code is not representative of the complex graph shapes, making the code difficult to understand without external visualisation tools. In this paper I describe r-audio1, a Web Audio wrapper library which attempts to solve the issues of imperative graph representations by leveraging the component system of React. I compare approaches of existing wrapper libraries and discuss solutions to specific issues of declarative and reactive representations of Web Audio graphs. I evaluate r-audio in terms of the ability to create arbitrary directed graphs and mutate them in real time.},
address = {Berlin, Germany},
author = {Fiala, Jakub},
booktitle = {Proceedings of the International Web Audio Conference},
editor = {Monschke, Jan and Guttandin, Christoph and Schnell, Norbert and Jenkinson, Thomas and Schaedler, Jack},
month = {September},
pages = {},
publisher = {TU Berlin},
series = {WAC '18},
title = {r-audio: Declarative, reactive and flexible Web Audio graphs in React Dependency on React},
year = {2018},
ISSN = {2663-5844}
}