W3C

Audio Working Group Charter draft

The mission of the Audio Working Group is to add advanced sound and music capabilities to the Open Web Platform.

Building upon and expanding the basic functionalities brought by HTML5's <audio> and <video> 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, controllers and DAWs through a bridge with existing system-level MIDI APIs.

The Web Audio API is now widely deployed in desktop and mobile browsers, and has been the subject of two sucessful international conferences in 2015 and 2016.

This charter adds one new deliverable compared to the previous charter; the Web Audio API is split into a stable first version and an evolving second version. This charter also establishes new timeline estimates for its deliverables, updates to the most recent Process document, updates to current Working Group names, and extends the end date by two years.

Join the Audio Working Group.

tr>
Start date DATE (The start date is the date of the "Call for Participation", when the charter is approved.)
End date 01 September 2018
Confidentiality Proceedings are public
Initial Chairs Joe Berkovitz (Noteflight / Hal Leonard Corporation)
Matt Paradis (BBC)
Initial Team Contacts
(FTE %: 25)
Chris Lilley
Usual Meeting Schedule Teleconferences: weekly coordination calls will be held, with additional calls as needed
Face-to-face: we will meet during the W3C's annual Technical Plenary week; an additional face-to-face meeting may be scheduled by consent of the participants

Scope

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 keep in mind.

The group has integrated the best features from two existing proposal for audio APIs: the Web Audio API, describing the WebKit implementation in Google Chrome and Apple Safari, which provides an additional higher-level graph-based API to perform common functions natively; and the MediaStream Processing API which extends HTML Streams to provide audio mixing and effects processing, which has been published as a Working Group Note.

This working group is guided by the use cases and requirements it has developed in collaboration with other groups and the wider community.

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 will also develop 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:

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.

This working group is expected to collaborate with other groups, such as the HTML Working Group, Sensors and Devices Working Group, Web Real-Time Communications Working Group, or their successors, to define an API for accessing system devices such as microphones, speakers, and audio processors and channels. If work does not proceed elsewhere in a timely fashion, this group may define an API for audio device access.

Real-time communication is an important and related topic, so this group will work closely with the Web Real-Time Communications Working Group to ensure interoperability of the deliverables.

Because the specifications defined by this group carry potential security, privacy, and accessibility concerns, this group will seek guidance from the appropriate groups to ensure technical review. In particular, these APIs are intended to be executed in a browser context, and access to system resources or I/O devices must be defined in a manner consistent with user awareness and control.

Success Criteria

In order to advance beyond Candidate Recommendation, each specification is expected to have at least three independent implementations of each of feature defined in the specification (two desktop browsers, and at least one mobile browser).

Out of Scope

This group will not work on audio representation markup during this charter period; discussions of music notation formats may happen in a Community Group.

The audio API is intended to operate on local and remote sources including synthesis, files, and sound-capture sources. APIs for implementing interactive audio streaming directly between users is not in scope. This group will coordinate with the other groups working in this area, such as the Web Real-Time Communications WG, to discuss the interactive streaming use case and its interaction with the Audio WG APIs.

Specific functionality for speech synthesis is out of the direct scope of this group, though discussions and collaborations may occur with groups chartered to do such work, to ensure broad compatibility.

Audio codec selection and support is out of scope.

Deliverables

The working group will deliver the following W3C Recommendations:

Web Audio API

This specification defines a client-side script interface to allow web applications to read and write raw audio data, to modify audio streams, and to synthesize sound. This specification may be a single API, or a set of modular APIs with increasing levels of capability.

Web MIDI API

Some user agents have connected music devices, such as synthesizers, keyboard controllers and drum machines. The widely adopted MIDI protocol enables electronic musical instruments, controllers and computers to communicate and synchronize with each other. MIDI does not transmit audio signals: instead, it sends event messages about musical notes, controller signals for parameters such as volume, vibrato and panning, cues and clock signals to set the tempo, and system-specific MIDI communications (e.g. to remotely store synthesizer-specific patch data). Additionally, MIDI has become a standard for show control, lighting and special effects control.

This deliverable defines an API supporting the MIDI protocol and MIDI device input and output selection. This API should be defined at such a level as to enable non-music MIDI applications as well as music ones.

Other Deliverables

This group may define audio device access APIs (e.g. microphone and speaker access), in coordination with other groups working on related deliverables.

Web Audio Processing: Use Cases and Requirements
This Note introduces a series of scenarios and a list of requirements guiding the work of the W3C Audio Working Group in its development of a Web API for processing and synthesis of audio on the web.
MediaStream Processing API Note
This Note describes an alternate set of existing or proposed features for the Web platform that deal with continuous real-time media, which would make HTML Streams the foundation for integrated Web media processing by creating a mixing and effects processing API for HTML Streams. The features and architecture described in this document are being integrated into the Web Audio API.

Other non-normative documents may be created such as:

  • Test suites and implementation report for each specification;
  • Primer or Best Practice documents to support web developers.

Milestones

Milestones
Note: The group will document significant changes from this initial schedule on the group wiki.
Specification FPWD CR PR Rec
Web Audio API, v1.0 Dec 2011 Q4 2016 Q3 2017 Q4 2017
Web Audio API, v2.0 Q4 2016 Q4 2017 Q3 2018 Q4 2018
Web MIDI API Oct 2012 Q4 2016 Q3 2017 Q4 2017

Dependencies and Liaisons

W3C Groups

HTML Working Group
Ensure that the audio APIs are compatible with the relevant HTML elements
Accessible Platform Architectures (APA) Working Group
Ensure that use cases, requirements, and specifications include and meet accessibility needs.
User Agent Accessibility Guidelines Working Group (UAWG)
Ensure that user agent accessibility requirements for audio features and controls are supported
Device and Sensors Working Group
Supply use cases, requirements, and review of specifications related to audio, including microphone access and speaker output
Web Real-Time Communications Working Group
Supply use cases, requirements, and review of specifications related to audio, including real-time communications
Web Applications Working Group
Seek guidance and review on API design, and ensure that this group's use of the Web IDL specification, developed in the WebApps WG, follows best practices.
Web Applications Security Working Group
Privacy Interest Group
Ensure that APIs produced by this group do not introduce security or privacy issues.

External Groups

MIDI Manufacturers Association
Coordinate on the relationship between the audio API and the Musical Instrument Digital Interface protocol
Khronos Group
Coordinate with on the relationship between the Web Audio API and the OpenSL ES API
Creative Labs
Coordinate with on the relationship between the Web Audio API and the OpenAL API specification.

Participation

To be successful, the Audio Working Group is expected to have 10 or more active participants for its duration. The Chairs and specification Editors are expected to contribute one day per week towards the Working Group. There is no minimum requirement for other Participants.

The Audio Working Group will also allocate the necessary resources for building Test Suites for each specification.

The group encourages questions and comments on its public mailing lists, as described in Communication.

The group also welcomes non-Members to contribute technical submissions for consideration, with the agreement from each participant to Royalty-Free licensing of those submissions under the W3C Patent Policy.

Communication

Most Audio Working Group teleconferences will focus on discussion of particular specifications, and will be conducted on an as-needed basis.

This group conducts its work on the public mailing list public-audio@w3.org (archive). The public is invited to post messages to this list.

Technical specifications and issue tracking in on GitHub. The public is invited to comment on issues there and to raise pull requests.

Information about the group (deliverables, participants, teleconferences, etc.) is available from the Audio Working Group home page.

The group will use a Member-confidential mailing list for administrative purposes and, at the discretion of the Chairs and members of the group, for member-only discussions in special cases when a participant requests such a discussion.

Information about the group (for example, details about deliverables, issues, actions, status, participants) will be available from the Audio Working Group home page.

Decision Policy

As explained in the Process Document (section 3.3), this group will seek to make decisions when there is consensus. When the Chair puts a question and observes dissent, after due consideration of different opinions, the Chair should record a decision (possibly after a formal vote) and any objections, and move on.

This charter is written in accordance with Section 3.4, Votes of the W3C Process Document and includes no voting procedures beyond what the Process Document requires.

Patent Policy

This Working Group operates under the W3C Patent Policy (5 February 2004 Version). To promote the widest adoption of Web standards, W3C seeks to issue Recommendations that can be implemented, according to this policy, on a Royalty-Free basis.

For more information about disclosure obligations for this group, please see the W3C Patent Policy Implementation.

About this Charter

This charter for the Audio Working Group has been created according to section 5.2 of the Process Document. In the event of a conflict between this document or the provisions of any charter and the W3C Process, the W3C Process shall take precedence.

This charter does not yet replace the previous Audio Working Group charter.


Chris Lilley

$Date: 2016/04/20 22:10:09 $