Sounding Out the Audio APIs
The W3C Audio Working Group have been hard at work standardizing a set of advanced-audio-features for the web browser, with significant contributions in the form of implementations from Mozilla and Google. The state of audio in the web has been lagging behind for some time, but the new Audio Processing API allows JavaScript developers to bring web applications and games into the present day.
In case you have not been following the progress of the Audio Working Group, here is a very quick glance at what developers can do with the Audio Processing API:
- Loop sounds without gaps
- Control parameters such as Bass and Treble, enhancing the clarity of audio
- Panning sounds left to right
- Positioning sounds in 3D space for games
- Easily process the raw data in an audio stream for scientific research
- Adding filters and effects to audio for music creation
- Visualize audio signals for music and streaming applications
Alistair MacDonald, the initial chair of the Audio Working Group and the Audio Incubator Group, explains the focus of the group’s work:
What we are working on here is completely overhauling the way the we handle audio in the web. We are moving closer every week to a solution that goes far beyond what Flash and Java can offer us. In standardizing an advanced JavaScript audio API in the web browser, we can offer a level playing field for all developers; a solution that is a better fit for the way users engage with today’s “application-web”, not forcing users to deal with the often frustrating experience of downloading new plug-ins to get to interactive content, or excluding them from a growing mobile device market.
It has been really interesting to watch clients’ interest in these features at our web-development company SignedOn in Boston. We work with several media and music companies, as well as a Grammy award winning music producer, yet we get interest from all kinds of organizations. Streaming radio, game development studios, you name it! Everyone we talk to is extremely excited to hear about the developments in the Audio Working Group and wants to know when they can start building things with this API and roll it out cross-browser. The potential of the Audio Processing API for education, music software development, streaming services and game development is quite staggering. It is an untapped industry, and we see W3C as the place to get the work done and deployed.
The Audio Working Group recently added Olivier Thereaux from the BBC as a co-chair of the group. Having worked at the W3C for many years, Olivier brings great experience in the standardization process to the group, which greatly compliments co-chair Alistair MacDonald’s knowledge of existing audio software APIs, and experience in music and TV production studios.
Oliver explains the uniqueness of Audio WG standardization challenges:
The BBC has long been at the forefront of Research and Development in Audio —exemplified as early as the 1920s with our radio operations and as recently by the launch of the Audio Research Partnership— and we are enthusiastic that this expertise can be brought to the Open Web Platform thanks to the W3C Audio Working Group.
The group grew out of the exploratory W3C Audio Incubator group, in which the many participants, among them my colleague Chris Lowis, developed use cases and requirements to enable great experiences from games to music. Other requirements come from our collaboration with other working groups, including the WebRTC WG, the W3C effort on real-time communication, to bring great audio capabilities to future online communication channels.
And all this is not just for audio consumption, but a platform for amateur and professional audio processing applications on the web, connected and accessible, so we have to meet the needs not only of the traditional web developer, but also audio engineers and musicians.
To solve these requirements, the group was presented with two separate proposed specifications in various stages of implementation, and as co-chairs, Alistair and I are tasked with helping build consensus around a single approach going forward, taking the best from both approaches.
It's an exciting challenge, which will require the participation from many sides: as of today, we have browser vendors including Google, Mozilla, and Opera, and content and app developers like SignedOn and Noteflight and we also invite feedback and participation from other stakeholders.
Early Adopters
Even though the Audio Processing API is relatively new, early release implementations from Mozilla and Google have caused a considerable buzz, with developers everywhere already creating demos, games, music applications and all kinds of interactive web applications using these new features.
If you are using an up-to-date version of Chrome or Firefox, you can try some of these out for yourself.
Firefox Demos
If you have not had a chance to see this video by Dave Humprey at Mozilla, this is a great opportunity to get a good idea about some of the things that are possible with an Audio Processing API.
You can test the interactive slides from this demo are here for you to test in Firefox.
Additional Firefox demos and API tutorials are also available.
Chrome Demos
Here are selection of amazing demos and games using the new audio features in Chrome.
Here is a tutorial on how to get started with Audio Processing in Chrome.
Some basic examples of what users can do with an Audio Processing API.
Specifications and Feedback
If you are interested in the development of audio APIs on the web, we want to hear from you. Please try out the demos, and create content yourself; if you know of other demos, or have made a cool demo yourself, please let us know, and we will post links to them from the Audio WG page.
But most importantly, please review the specifications and give use concrete feedback. This is the stage where you can have a real influence on how these technologies are developed and deployed in browser and authoring tools. There is an introductory document, the Audio Processing API, which serves as a landing page for the technical specifications, the Web Audio API and MediaStream Processing API. Let us know what you think on the Audio WG mailing list, [email protected].
All sounds great, especially 'standardizing an advanced JavaScript audio API in the web browser'. The need to download a plugin just as you think you're about to enjoy listening to something, is more than frustrating. Usually leads to me abandoning the page.