Building Desktop Apps using Web Audio
Loading...
Author(s)
McKegg, Matt
Advisor(s)
Editor(s)
Collections
Supplementary to:
Permanent Link
Abstract
Building a full featured desktop audio application is a difficult and time consuming task. There are many decisions to make, such as the
amount of dependency on existing frameworks, and a cross-platform strategy. The level of detail required to produce a good user
experience normally involves a large team of developers and designers.
I have been using computers to make music for the last 10 years. More recently, I started making the transition from bedroom composition
to live performance. Becoming increasingly frustrated with existing tools for live electronic music performance, I started to embark on a
journey to create my own application.
In my day job, I am a web application developer and am familiar with JavaScript, Node, HTML and CSS. I did not want to learn a new
toolset, so was very excited to discover the Web Audio API. I could use familiar tools to build a user interface, a familiar language to build
the logic of my application, and the Web Audio API to actually do the audio DSP work. However, while the web provides an excellent
developer experience and rapid prototyping, it does not provide a solid foundation for a live music performance. Software for live music
needs to be offline and have full file system access.
Electron is a runtime created by GitHub that allows developers to package up JavaScript and run it as a standalone desktop application. It
combines Chromium (the open source project behind Google Chrome) and Node.js (a tool for writing JavaScript that runs on servers) and
provides the complete desktop application development experience I was searching for.
In my talk, I will demonstrate my application Loop Drop, and show how the combination of Web and Desktop technologies creates an ideal
single developer/small team environment for building new audio applications. I will also discuss some of the challenges in doing so.
Sponsor
Date
2016-04
Extent
Resource Type
Text
Moving Image
Moving Image
Resource Subtype
Abstract
Proceedings
Presentation
Proceedings
Presentation
Rights Statement
Licensed under a Creative Commons Attribution 4.0 International License (CC BY 4.0).