Constructing AudioUnit Plugins on the Web using Csound
This paper describes a web-based application which can be used to construct AudioUnit plugins. Using this application the audio DSP component of an AudioUnit plugin can be created using the Csound audio programming language, and the user interface (UI) composed using HTML5. This is made possible using the combination of a Csound binary compiled for Google's portable native client API (PNaCl) which runs Csound code inside of the web application, and the Csound AudioUnit API which allows Csound compiled code to run inside of native AudioUnit plugins. The application allows users to live-code an AudioUnit plugin using on-the-fly Csound code and HTML5 evaluation within the browser which allows rapid testing of the plugin audio DSP and UI components. A common Javascript interface allows the plugin UI to communicate with both the web-based PNaCl Csound and the native AudioUnit encapsulated Csound instances. This common interface uses a JSON representation of the plugin control parameters and presets allowing users to control the plugin and create presets that function inside of both the web application and the AudioUnit.
@inproceedings{2016_37,
abstract = {This paper describes a web-based application which can be used to construct AudioUnit plugins. Using this application the audio DSP component of an AudioUnit plugin can be created using the Csound audio programming language, and the user interface (UI) composed using HTML5. This is made possible using the combination of a Csound binary compiled for Google's portable native client API (PNaCl) which runs Csound code inside of the web application, and the Csound AudioUnit API which allows Csound compiled code to run inside of native AudioUnit plugins. The application allows users to live-code an AudioUnit plugin using on-the-fly Csound code and HTML5 evaluation within the browser which allows rapid testing of the plugin audio DSP and UI components. A common Javascript interface allows the plugin UI to communicate with both the web-based PNaCl Csound and the native AudioUnit encapsulated Csound instances. This common interface uses a JSON representation of the plugin control parameters and presets allowing users to control the plugin and create presets that function inside of both the web application and the AudioUnit.},
address = {Atlanta, GA, USA},
author = {Costello, Edward and Lazzarini, Victor and Timoney, Joseph},
booktitle = {Proceedings of the International Web Audio Conference},
editor = {Freeman, Jason and Lerch, Alexander and Paradis, Matthew},
month = {April},
pages = {},
publisher = {Georgia Tech},
series = {WAC '16},
title = {Constructing AudioUnit Plugins on the Web using Csound},
year = {2016},
ISSN = {2663-5844}
}