Adventures in scheduling, buffers and parameters: Porting a dynamic audio engine to Web Audio
At Sonoport, we ported our Dynamic Sound Engine from Adobe's Flash technology to Web Audio. The difference in approaches to threading, scheduling and parameters between Flash and Web Audio created a few challenges for us. These differences and some peculiarities of Web Audio required workarounds to be able to implement our Dynamic Sound Engine in Web Audio. In this paper we discuss three of these workarounds dealing with creating Parameters, scheduling operations and playback position of buffers, and explain how these work-arounds, although not optimal solutions, allowed us to support our use cases. Finally we consider how the upcoming AudioWorker change in the Web Audio specification, is expected to impact these workarounds.
@inproceedings{2015_12,
abstract = {At Sonoport, we ported our Dynamic Sound Engine from Adobe's Flash technology to Web Audio. The difference in approaches to threading, scheduling and parameters between Flash and Web Audio created a few challenges for us. These differences and some peculiarities of Web Audio required workarounds to be able to implement our Dynamic Sound Engine in Web Audio. In this paper we discuss three of these workarounds dealing with creating Parameters, scheduling operations and playback position of buffers, and explain how these work-arounds, although not optimal solutions, allowed us to support our use cases. Finally we consider how the upcoming AudioWorker change in the Web Audio specification, is expected to impact these workarounds.},
address = {Paris, France},
author = {Pendharkar, Chinmay and Bäck, Peter and Wyse, Lonce},
booktitle = {Proceedings of the International Web Audio Conference},
editor = {Goldszmidt, Samuel and Schnell, Norbert and Saiz, Victor and Matuszewski, Benjamin},
month = {January},
pages = {},
publisher = {IRCAM},
series = {WAC '15},
title = {Adventures in scheduling, buffers and parameters: Porting a dynamic audio engine to Web Audio},
year = {2015},
ISSN = {2663-5844}
}