Audio Working Group Charter

This charter has been replaced by a newer version.

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

Join the Audio Working Group.

This charter is available on GitHub. Feel free to raise issues.

Start date 4 March 2020
End date 4 March 2022
Charter extension See Change History.
Chairs Raymond Toy (Google)
Matt Paradis (BBC)
Team Contacts Chris Lilley (0.1 FTE)
Meeting Schedule Teleconferences: 1-hour calls will be held weekly
Face-to-face: we will meet during the W3C's annual Technical Plenary week; additional face-to-face meetings may be scheduled by consent of the participants, no more than 3 per year.

Scope

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 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:

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.

Out of Scope

The following features are out of scope, and will not be addressed by this Working Group.

  • This group will not work on audio representation markup during this charter period; discussions of music notation formats happens in the Music Notation 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.

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

  • Audio codec selection and support is out of scope.

Success Criteria

In order to advance to Proposed Recommendation, each specification is expected to have at least two independent implementations of each of feature defined in the specification.

Each specification should contain a section detailing all known security and privacy implications for implementers, Web authors, and end users.

Each specification should contain a section on accessibility that describes the benefits and impacts, including ways specification features can be used to address them, and recommendations for maximising accessibility in implementations.

There should be testing plans for each specification, starting from the earliest drafts.

Deliverables

More detailed milestones and updated publication schedules are available on the group publication status page.

Draft state indicates the state of the deliverable at the time of the charter approval. Expected completion indicates when the deliverable is projected to become a Recommendation, or otherwise reach a stable state.

Normative Specifications

The Working Group will deliver the following W3C normative specifications:

Web Audio API 1.0

This specification describes a high-level JavaScript API for processing and synthesizing audio in web applications. The primary paradigm is of an audio routing graph, where a number of AudioNode objects are connected together to define the overall audio rendering. The actual processing will primarily take place in the underlying implementation (typically optimized Assembly / C / C++ code), but direct JavaScript processing and synthesis is also supported.

Draft state: Candidate Recommendation

Expected completion: Q3 2020

Web Audio API
Latest publication: 18 September 2018
Reference Draft: https://www.w3.org/TR/2018/CR-webaudio-20180918/
associated Call for Exclusion on 19 September 2018 ended on 17 November 2018
Produced under Working Group Charter: https://www.w3.org/2011/audio/charter/audio-2016.html
Web Audio API 2.0

This specification builds on Web Audio API 1.0, adding features which were requested by users or implementors but which were deferred to the next version of Web Audio API. Incubation is happening in the Audio CG.

Expected completion: Q1 2022

Draft state: No draft, see issues list

Web MIDI API

This specification defines an API supporting the MIDI protocol, enabling web applications to enumerate and select MIDI input and output devices on the client system and send and receive MIDI messages. It is intended to enable non-music MIDI applications as well as music ones, by providing low-level access to the MIDI devices available on the users' systems.

Draft state: Working Draft

Web MIDI API
Latest publication: 17 March 2015
Reference Draft: https://www.w3.org/TR/2012/WD-webmidi-20121025/
associated Call for Exclusion on 01 November 2012 ended on 24 March 2013
Produced under Working Group Charter: https://www.w3.org/2011/audio/charter/2011/
A specification for efficient low-level audio hardware device access

Examine solutions to provide efficient, low-level audio processing and device access. This will aid the porting of existing audio code bases, free developers from the constraints of a fixed audio quantum size, and give access to properties of the audio system such as I/O device selection, multi-channel I/O support, and configurable sample rates.

Draft state: No draft

Other Deliverables

Other non-normative documents may be created such as:

  • Use case and requirement documents;
  • Test suite and implementation report for the specification;
  • Primer or Best Practice documents to support web developers when designing applications.

Timeline

  • Q3 2020: Web Audio API 1.0 completed
  • Q1 2022: Web Audio API 2.0 completed

Coordination

For all specifications, this Working Group will seek horizontal review for accessibility, internationalization, performance, privacy, and security with the relevant Working and Interest Groups, and with the TAG. Invitation for review must be issued during each major standards-track document transition, including FPWD. The Working Group is encouraged to engage collaboratively with the horizontal review groups throughout development of each specification. The Working Group is advised to seek a review at least 3 months before first entering CR and is encouraged to proactively notify the horizontal review groups when major changes occur in a specification following a review.

Additional technical coordination with the following Groups will be made, per the W3C Process Document:

W3C Groups

Web Real-Time Communications Working Group
Supply use cases, requirements, and review of specifications related to audio, including microphone access and speaker output
Media and Entertainment Interest Group
This Group may review existing work and identify requirements and potential solutions to with a view to improving media related features on the web across all devices.
Accessible Platform Architectures (APA) Working Group
Ensure that audio streams from speech synthesis are not adversely impacted by audio streams from Web Audio.
Publishing Working Group
Coordinate on use of Web Audio API in AudioBooks and Publication Manifest

External Organizations

WHATWG
Ensure that the audio APIs are compatible with the relevant HTML elements
MIDI Manufacturers Association
Coordinate on the relationship between the audio API and the Musical Instrument Digital Interface protocol

Participation

To be successful, this Working Group is expected to have 6 or more active participants for its duration, including representatives from the key implementors of this specification, and active Editors and Test Leads for each specification. The Chairs, specification Editors, and Test Leads are expected to contribute half of a working day per week towards the Working Group. There is no minimum requirement for other Participants.

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

The group also welcomes non-Members to contribute technical submissions for consideration upon their agreement to the terms of the W3C Patent Policy.

Participants in the group are required (by the W3C Process ) to follow the W3C Code of Ethics and Professional Conduct.

Communication

Technical discussions for this Working Group are conducted in public: the meeting minutes from teleconference and face-to-face meetings will be archived for public review, and technical discussions and issue tracking will be conducted in a manner that can be both read and written to by the general public. Working Drafts and Editor's Drafts of specifications will be developed on a public repository and may permit direct public contribution requests. The meetings themselves are not open to public participation, however.

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

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

This group primarily conducts its technical work on GitHub issues. The public is invited to review, discuss and contribute to this work.

The group may 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.

Decision Policy

This group will seek to make decisions through consensus and due process, per the W3C Process Document (section 3.3). Typically, an editor or other participant makes an initial proposal, which is then refined in discussion with members of the group and other reviewers, and consensus emerges with little formal voting being required.

However, if a decision is necessary for timely progress and consensus is not achieved after careful consideration of the range of views presented, the Chairs may call for a group vote and record a decision along with any objections.

To afford asynchronous decisions and organizational deliberation, any resolution (including publication decisions) taken in a face-to-face meeting or teleconference will be considered provisional. A call for consensus (CfC) will be issued for all resolutions (for example, via email and/or web-based survey), with a response period from one week to 10 working days, depending on the chair's evaluation of the group consensus on the issue. If no objections are raised on the mailing list by the end of the response period, the resolution will be considered to have consensus as a resolution of the Working Group.

All decisions made by the group should be considered resolved unless and until new information becomes available or unless reopened at the discretion of the Chairs or the Director.

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

Patent Policy

This Working Group operates under the W3C Patent Policy (Version of 5 February 2004 updated 1 August 2017). 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.

Licensing

This Working Group will use the W3C Software and Document license for all its deliverables.

About this Charter

This charter 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.

Charter History

The following table lists details of all changes from the initial charter, per the W3C Process Document (section 5.2.3):

Charter Period Start Date End Date Changes
Initial Charter 25 March 2011 28 February 2013 none
Rechartered 26 September 2012 01 September 2014

The charter of this Working Group included two Recommendation-track deliverables, the Web Audio API specification and the Web MIDI API specification.

Charter Extension 11 September 2014 01 September 2016 none
Rechartered 22 December 2016 22 December 2018 Split existing Web Audio deliverable into 1.0 and 2.0. Change of document license.
Chairs 23 January 2018 22 December 2018 Raymond Toy appointed; Joe Berkovitz steps down.
Charter Extension 22 December 2018 30 June 2019 none
Charter Extension 12 August 2019 31 December 2019 none
Charter Extension 20 December 2019 14 February 2020 none
Rechartered 04 March 2020 04 March 2022 Added new deliverable