HTML5 and its APIs have gone a long way toward making Web applications compete with native applications. HTML5's support for media technologies is one area where it's gotten a lot of attention from developers, who have used HTML5 audio and video APIs in tremendously innovative ways. However, it has not been an easy ride, with developers complaining about the lack of support for complex audio and video functions.
A case in point is HTML5 audio support. The HTML5 audio tag makes it dead simple for any developer to play a sound or an audio stream in a web page, but it falls short if you want to process and synthesize audio. The Web Audio API was crafted with that in mind. In the words of the HTML5Rocks.com tutorial on the Web Audio API, "The goal of this API is to include capabilities found in modern game audio engines and some of the mixing, processing, and filtering tasks that are found in modern desktop audio production applications."
But what about support for the API? A glance at Can I use Web Audio API? indicates the current support that the Web Audio API has in desktop browsers. Opera recently announced support for the Web Audio API, joining Firefox, Chrome and Safari on the desktop browser front. The only major player missing from this puzzle is Internet Explorer. Given that Microsoft is committed to the HTML5 standard, one hopes that support for the API will be there sooner or later.
Web developers are pushing the envelope with the Web Audio API, with examples in the wild demonstrating things right in the browser that were previously considered impossible to do with existing Web standards (including just using HTML5 audio tags) and which needed external plugins. Check out the following links:
- Drum Box Controller, that uses the Web Audio API.
- A list of demo projects using the Web Audio API.
- For fun, try out "Find the Invisible Cow"
These projects indicate that the Web Audio API and applications based on it have gained some traction, but developers must tread with caution because Microsoft is not yet supporting the standard. Developers were optimistic that Microsoft would support Web Audio in IE 11, but that did not happen. An IE Feedback link indicates that Microsoft in fact didn't plan for support in IE 11 and has only said that developer feedback will be considered when planning for future IE releases. So there is no clear commitment from Microsoft for supporting Web Audio API. Although IE market share on the desktop has fallen, it is still significant enough for developers to weigh their options before jumping into Web Audio API.
The Web Audio API has come a long way in a relatively short time, and it's interesting to note the rapid pace at which browser vendors are adopting it and giving it to developers. These are still early days, and while there are not many developers who can claim to have mastery over the Web Audio API, the possibilities are limitless. In the days ahead, the Web Audio API is sure to bring music to Web developers.