- From: Olivier Thereaux <Olivier.Thereaux@bbc.co.uk>
- Date: Wed, 3 Apr 2013 13:45:50 +0000
- To: "public-audio@w3.org" <public-audio@w3.org>
Dear all, The raw minutes of our recent face-to-face meeting are available online at: http://www.w3.org/2013/03/26-audio-minutes.html http://www.w3.org/2013/03/27-audio-minutes.html Many thanks to all the participants, especially those who travelled a long way to attend. I can honestly say this was one of the most intense and effective face-to-face meetings I've ever attended. I hope you found it useful too. Also, many thanks to Google for hosting us again. The location was fantastic, and logistics near perfect. I have written up a summary (plain text, below) of the meeting. It is also on the wiki at: http://www.w3.org/2011/audio/wiki/F2F_Mar_2013 Feel free to make small amendments if you notice anything wrongly minuted. Discussions on issues should happen on individual issues pages in bugzilla, or in separate threads on the mailing-list. ------ ## Web Audio API V1 / Feature freeze First meaty agenda of the day was to discuss whether/how we could split the web audio API spec, in order to make it easier to implement. We looked at a strawman split worked on by people at Mozilla from features known to be useful to game developers (one of our primary constituencies, see Use Cases & Requirements document) The strawman list was (Version 1) - AudioContext - OfflineAudioContext (at risk) - GainNode - AudioBuffer - AudioBufferSourceNode - MediaElementAudioSourceNode - MediaStreamAudioSourceNode - ScriptProcessorNode - PannerNode - DynamicCompressorNode - BiquadFilterNode - DelayNode (Not sure) - ConvolverNode - WaveShaperNode - OscillatorNode (Post v1) - AnalyserNode - ChannelSplitterNode - ChannelMergerNode The group could not reach consensus on whether this would be a valuable split. There was however consensus on three things: - all the features currently in the spec are valuable and would be useful to have sooner or later - removing one or two types of node will not increase the ease of implementation dramatically - we should put our effort into better specifying all the types of nodes and implementation will be much easier ## Web Audio API walk through and live edit Resolutions: - Resolution: WebIDL should be construed as normative - Resolution: Implementations are to omit functions from DOM bindings that are not implemented (e.g. createXXXNode where XXX isn't supported) Issues generated/modified : - Remove empty AudioSourceNode interface https://www.w3.org/Bugs/Public/show_bug.cgi?id=21511 - Introduction: link "use cases" to the stable Use Cases document https://www.w3.org/Bugs/Public/show_bug.cgi?id=21512 - Features list need updating to reflect current contents of spec https://www.w3.org/Bugs/Public/show_bug.cgi?id=21513 - API Overview is missing some interfaces https://www.w3.org/Bugs/Public/show_bug.cgi?id=21514 - Conformance section: need to note use of MUST that is "RFC-legal" [...] https://www.w3.org/Bugs/Public/show_bug.cgi?id=21515 - Remove "Terminology and Algorithms" section https://www.w3.org/Bugs/Public/show_bug.cgi?id=21516 - Remove AudioContext constructor code example https://www.w3.org/Bugs/Public/show_bug.cgi?id=21517 - Need way to determine "performance.now()" time of current audio output https://www.w3.org/Bugs/Public/show_bug.cgi?id=20698 - Deprecate AudioContext.createBuffer https://www.w3.org/Bugs/Public/show_bug.cgi?id=21518 - decodeAudioData: optional 4th argument https://www.w3.org/Bugs/Public/show_bug.cgi?id=21519 - decodeAudioData Prose: avoid video containers that have an audio track https://www.w3.org/Bugs/Public/show_bug.cgi?id=21520 - Specify all exception types https://www.w3.org/Bugs/Public/show_bug.cgi?id=21521 - Make AudioContext and AudioNode Lifetime sections informative https://www.w3.org/Bugs/Public/show_bug.cgi?id=21523 - AudioDestinationNode does not always talk to audio hardware https://www.w3.org/Bugs/Public/show_bug.cgi?id=21525 - Mandate a useful accepted sampling rate ranges for buffers created through AudioContext.createBuffer (mentioned, TBD) https://www.w3.org/Bugs/Public/show_bug.cgi?id=21223 - Remove sentence: "The decodeAudioData() method is preferred over the createBuffer()" https://www.w3.org/Bugs/Public/show_bug.cgi?id=21526 - Add normative reference to XHR spec https://www.w3.org/Bugs/Public/show_bug.cgi?id=21527 - Modifying the ArrayBuffer passed to decodeAudioData https://www.w3.org/Bugs/Public/show_bug.cgi?id=21528 - OfflineAudioContext should be event target https://www.w3.org/Bugs/Public/show_bug.cgi?id=21529 - how do multiple offline/online contexts interact https://www.w3.org/Bugs/Public/show_bug.cgi?id=21530 - Allow Shared audio buffers between contexts https://www.w3.org/Bugs/Public/show_bug.cgi?id=21531 - OfflineAudioContext renders as quickly as possible (not real time) https://www.w3.org/Bugs/Public/show_bug.cgi?id=21532 - Proposed: recorderNode https://www.w3.org/Bugs/Public/show_bug.cgi?id=21533 - AudioNode Interface - text for Fan-In is out of date https://www.w3.org/Bugs/Public/show_bug.cgi?id=21534 - AudioNode - block size limits https://www.w3.org/Bugs/Public/show_bug.cgi?id=21535 - AudioNode Attributes - remove mention of AudioSourceNode https://www.w3.org/Bugs/Public/show_bug.cgi?id=21537 - Add detail of connecting audio node to non audio node https://www.w3.org/Bugs/Public/show_bug.cgi?id=21538 - Define the behaviour when disconnect called on an audio node connected to an audio param https://www.w3.org/Bugs/Public/show_bug.cgi?id=21539 - Channel count missing in IDL for AudioNode https://www.w3.org/Bugs/Public/show_bug.cgi?id=21540 - Move information on multi channel to audio node definition https://www.w3.org/Bugs/Public/show_bug.cgi?id=21541 - Review 32 channel limitation on scriptProcessor, buffer and destination node https://www.w3.org/Bugs/Public/show_bug.cgi?id=21542 - Specify how DelayNode deals with changes of inputs and buffers while live https://www.w3.org/Bugs/Public/show_bug.cgi?id=21543 - AudioParam - min/maxValue, intrinsic value, computedValue https://www.w3.org/Bugs/Public/show_bug.cgi?id=21545 - Clarify "dezippering" for AudioParam https://www.w3.org/Bugs/Public/show_bug.cgi?id=21546 - AudioParam - add explanation of a/k rate to cross reference in node definition https://www.w3.org/Bugs/Public/show_bug.cgi?id=21547 - Record all documentation that is considered developer documentation https://www.w3.org/Bugs/Public/show_bug.cgi?id=21548 - AudioProcessingEvent - remove node attribute https://www.w3.org/Bugs/Public/show_bug.cgi?id=21549 - PannerNode - include informative note on HRTF, point to reference/open examples https://www.w3.org/Bugs/Public/show_bug.cgi?id=21550 - PannerNode - add information on why the panner is hard coded to 2 channel only https://www.w3.org/Bugs/Public/show_bug.cgi?id=21551 - BiquadFilterNode is underdefined https://www.w3.org/Bugs/Public/show_bug.cgi?id=17363 - BiquadFilterNode - Missing default values https://www.w3.org/Bugs/Public/show_bug.cgi?id=21562 ## Web Midi Chris Wilson walked us through the history of this spec, how he realised that our work on web audio would be a great opportunity to connect controllers (cheap and plenty) and build synthethisers, music apps on the web. There are concerns that the API will not be high on implementation lists but in the meantime, there is a shim (working with the Jazz midi plugin - Jazz MIDI plugin - https://github.com/cwilso/WebMIDIAPIShim ). ## Testing We established that our goal for the time being was to focus on testing the quality (and testability) of the spec and interoperability of implementations. Testing "quality of implementation" (which is a very hard question for audio) or testing how our APIs integrate with the rest of the web platform is somewhat out of scope at the moment. A short discussion was followed by demos: - Chris Rogers gave a tour of the webkit tests and how they are organised - Chris Lowis showed his current effort to create interface tests from IDL - Ehsan showed the Mozilla test framework It was noted that the Mozilla and Webkit test harnesses are somewhat similar, and that it should be reasonably easy to translate these tests into the w3c harness. The fact that some of the webkit tests require OfflineAudioContext (a feature which Moz considers potentially at risk) was raised but not solved. ## Guest session We split our guest session in two: - Jory from the html5audio blog/twitter came to talk about interactions with the games dev community, and talked about games dev engines - libraries which support web audio. Something similar to http://threejs.org/ would be valuable. - Erik and Neil from Khronos also came to talk about the relationship between OpenSL and Web Audio API. The group working on OpenSL has been listening to interest for a web port. They also worked on use cases, which largely overlapped with the ones our group built. There was rapid agreement that it would be a bad thing to have a "webSL" and "web audio API" compete in this space, but it could be a good thing if a web version of OpenSL ES built upon the web audio API, abstracting away the node/graph model. ## vendor prefixes & "deprecated" interface Back to discussion of "big issues" with the web audio API, we tackled the question of vendor prefixed and "deprecated" interfaces (such as noteOn and noteOff). The group first leaned towards changing the deprecation text to remove the recommendation to implement the deprecated methods but after further discussion and looking into more details about the current state of implementation and usage, we reached the following resolution: RESOLUTION: We'll support the two interfaces in the spec, have the noteOn etc in a separate section. Change the deprecation methods to "alternate names" and explain that they exist in the spec for historical reasons. There was also general consensus that vendor prefixing should be taken away from documentation and articles as soon as implementations catch up. Ditto for "new names" and interfaces, which will be prioritised in all documentation. ## Web workers We looked at the part of MSP dealing with processing in workers ( http://www.w3.org/TR/streamproc/#stream-mixing-and-processing ) and agreed to add a way to use ScriptProcessorNode with workers, in a similar fashion. The discussion continues on bugzilla: https://www.w3.org/Bugs/Public/show_bug.cgi?id=17415#c94 ## Next call date Given the time it will take to address and follow up all the issues raised during the meeting, as well as a few other calendar considerations, we agreed our next teleconference will be on April 25th, same time as usual. ## TPAC Before adjourning, we had a short discussion about the upcoming TPAC in Shenzen, China. The group did not yet decide whether it will meet there, but there was general agreement that whether or not we meet, some presence at the event for developer advocacy would be a good thing. -- Olivier ----------------------------- http://www.bbc.co.uk This e-mail (and any attachments) is confidential and may contain personal views which are not the views of the BBC unless specifically stated. If you have received it in error, please delete it from your system. Do not use, copy or disclose the information in any way nor act in reliance on it and notify the sender immediately. Please note that the BBC monitors e-mails sent or received. Further communication will signify your consent to this. -----------------------------
Received on Wednesday, 3 April 2013 13:46:29 UTC