The mission of the Audio Working Group is to add advanced sound and music synthesis capabilities to the Open Web Platform.
Building upon and expanding the basic functionalities brought by HTML5's and media elements and MediaStream object, the Audio Working Group defines client-side script APIs which support the features required by rich interactive applications including the ability to process and synthesize audio streams directly in script, as well as giving access to musical instruments through a bridge with existing system-level MIDI APIs.
The audio API provides methods to read audio samples, write audio data, create sounds, and perform client-side audio processing and synthesis with minimal latency. It also adds programmatic access to the PCM audio stream for low-level manipulation directly in script. This API can be used for interactive applications, games, 3D environments, musical applications, educational applications, and for the purposes of accessibility. It includes the ability to synchronize, visualize, or enhance sound information when used in conjunction with graphics APIs. Sound synthesis can be used to enhance user interfaces, or produce music. The addition of advanced audio capabilities to user agents presents new options to Web developers and designers, and has many accessibility opportunities and challenges that this working group will continue to keep in mind.
In addition to an audio processing API, this group has received feedback from the audio and music community and industry, who wish to Web-enable their MIDI-capable devices. MIDI is an electronic device interface, developed by the musical instrument industry, that includes communication protocols for two-way connection and control of a wide variety of devices, including digital musical instruments, digital audio workstations, lighting sytems, game controllers, and many other systems. The MIDI specification has wide adoption and interoperable deployment across devices and computer operating systems, and to extend this existing infrastructure, the Audio Working Group is also developing a specification to create a bridge between the browser and existing system-level MIDI APIs, to make musical instruments first-class citizens of the Web.
The scope of this working group includes:
- Developing a client-side script API for processing and synthesizing PCM audio streams, including direct scripted solutions.
- Access to audio devices, such as for microphones or other audio inputs, and multi-channel speakers or other audio outputs.
- APIs and advanced functionality regarding audio cache management and audio capability information.
- Defining a client-side script API for accessing and manipulating MIDI-capable devices available on the users' systems.
This working group will take into account common work-flows for sound creators, including considerations for common audio formats. This group will also liaise with other groups for direct connection to audio inputs, such as microphones and speakers.
The HTML5 specification introduces the