You are on page 1of 5

OAW

Online Audio Workstation

Erik Garnes

Dr. Justin Burton (advisor), Dr. Stephen Allen, Dr. Jerry Rife

Expected Graduation: May, 2016

legarne@gmail.com

Date: Oct 15th, 2015

OAW is an online digital audio workstation. The service will provide a user-friendly interface,
powerful online audio editing capabilities with new WebAudio technology, a user database for
saving projects and uploading audio samples, and a collaboration interface for team projects.
OAW will allow users to quickly and simply work online to produce music, from the recording
stage to the finishing mix.
Erik Garnes

Page 2

Goal:
As of 2015, there are several audio workstations that allow users to create, produce, and master
their own music. There are many different options for a user to pick from; there are professional, high-end
solutions, such as Protools, Logic Pro, and Ableton, or a cheaper alternative like Audacity. Having
personally used most of these options, there is a steep learning curve required. Additionally, there is often
a large cost factor involved. Most high-end audio software can cost upwards of several hundred dollars,
and some may even require additional licensing hardware to function properly; for example, Protools
requires an iLok usb, an authenticating agent.
There is an evolution in software development that prioritizes some new advances in technology.
“Real-time”, “multi-platform”, “across all devices”, “user-friendly” are all buzz phrases used by new
services. And indeed, a program that can run across all devices in real-time is appealing for most users.
My goal with the OAW is to create an audio workstation that encompasses all of these factors. The
current audio workstations have been in development for many years, and some have a decade or more
under their title. These programs were not designed for the modern scope of user activity. An online
workstation, however, would allow a user to be mobile with their projects. Simplicity in mind, a user
would quickly be able to log in, scan through their projects or start a new piece without the hassle of
having to buy expensive software.
There are other online audio workstations currently1, though they have the same problems as
digital audio workstations, a high learning curve and often confusing user interfaces. OAW will provide a
powerful interface for users, while remaining simple to use. The bridge between power and
user-friendless is often a challenge for design because giving users the most power instantly may cause
confusion. And likewise, removing all options may give a program lackluster ability. The significance of
OAW is reaching out to musicians who otherwise have little or no options. Even if they are able to
purchase music production software, they still need to learn and master it. In a band setting, this may all
fall upon one person, adding stress that takes away from making music. OAW will allow musicians to
forget about cost and learning, and get to the heart of producing music in a world connected by the
internet.

Method:
As a program, I plan to code OAW myself. Specifically, as a web technology, I will mostly be
working with the following languages: HTML5, CSS, JavaScript, PHP, and Java. These do not all share
the same purpose however. Detailed below are the precise uses of each language:
❏ HTML5 is a markup language. This will primarily be used to format the webpage(s) of OAW,
including the website, user page, and application itself.
❏ CSS is a style sheet language. This will be used to style the website and application and create the
user-interface.

1
Top results on search engines reveal AudioSauna, Soundation, and Audiotool as leading online audio
workstations. However, these services are lackluster in execution, offering little power for cumbersome
user interfaces.
Erik Garnes

Page 3

❏ JavaScript is a programming language. The bulk of operation will stem from JavaScript. Along
with JavaScript, I will be using these additional application interfaces to extend functionality:
❏ WebAudio
❏ WebAudio is the built-in audio engine for HTML5. WebAudio is capable of
simple audio playback and more advanced operations such as real-time audio
signal processing. WebAudio is still a relatively new technology as more
functionality is added with each day.
❏ WebMIDI
❏ WebMIDI is similar to WebAudio, though instead of audio, the interface
processes MIDI commands. WebMIDI can generate midi data dynamically or
process data fed through an external midi interface, a keyboard for example.
WebMIDI is also a relatively new technology.
❏ Miscellaneous open-sourced libraries, including, but not limited to:
❏ mudcube.js
❏ tones.js
❏ PHP is a server-side programming language. Java is a strongly-typed programming language.
These both will communicate together to provide server functionality, such as hosting the user
database, uploading files, and encrypting file formats.

Outcomes and Evaluation:


I expect to have a proof of concept, at least, and it is my hope to have a functioning demo of
OAW. The proof of concept will be an interactive program that shows what the functionality of OAW will
be, though not complete functional. Additionally, I’ll have a short description of what the OAW is
currently capable of and what I’ve achieved and learned in essay format. The demo will be able to execute
basic operations expected of an audio workstation: producing tracks, audio and midi, various output and
input controls, audio playback, audio organization (visually organizing tracks), saving a project, and
exporting a song locally.
I will submit this all to Rider to be archived. The demo will be available online.

OAW should be evaluated on the following:


❏ Completeness
❏ The aforementioned demo list
❏ User-Friendliness
❏ How easy it is to use OAW
❏ Functionality
❏ How much power is offered to a user
Erik Garnes

Page 4

Timeline:
I. [October 2015- November 2015] The first major step is to do planning, specifically

working out how the different programming interfaces will work together.

II. [November 2015 - December 2015] Research will be done to see the limits of what is

possible in a web application.

III. [November 2015 - December 2015] Additional research and study into proper web-app

design; what makes a interface “user-friendly”.

IV. [December 2015 - March 2016] The actual work of the project begins now, the beginning

skeleton of a web-application.

V. [January 2016 - March 2016] At this stage, it is most important that algorithms are

designed for proper future use - the aesthetics are not yet so important. This will be the

longest part of development, as an algorithm will need to be designed, debugged, and

refactored until another can start.

VI. [April 2016] After the core application is functional, it is time to work on the

user-interface.

VII. [April 2016 - May 2016] After the user-interface is completely, the final step is bug fixing

and ensuring that the program works across all platforms and all web browsers.

VIII. [April 2016 - May 2016] Lastly, I would like for there to be a live-demo for students,

professors, and any other walk-in. At the end, I would like for there to be some feedback

into the program; what I can do for improvement and what are some key successes of the

application.
Erik Garnes

Page 5

Resources:
As mentioned, there are several programming languages, application interfaces, and libraries that I will
need to use. These are as following:
❏ HTML5
❏ CSS
❏ JavaScript
❏ WebAudio
❏ WebMIDI
❏ mudcube.js
❏ tones.js
❏ PHP
❏ Java

Additionally, I will need web hosting for this project, as it is an online application. I currently have plans
to use DreamHost hosting for my application. With a starting account, DreamHost offers shared unlimited
storage and bandwidth, which is perfectly acceptable for a demo project. Moving forward, I would like
for a dedicated server for a faster user experience. Ultimately, the final cost will be $10, the minimum
required fee for hosting a domain.

You might also like