- From: Hongchan Choi <hongchan@google.com>
- Date: Thu, 09 Nov 2017 17:53:51 +0000
- To: Joe Berkovitz <joe@noteflight.com>
- Cc: Audio Working Group <public-audio@w3.org>
- Message-ID: <CAGJqXNsC5J1ggiupEmXpeJ+-ZW2HE0OO+MvR2F+HahdCU5fbAQ@mail.gmail.com>
Thanks so much for the nice write-up, Joe! On Wed, Nov 8, 2017 at 8:03 AM Joe Berkovitz <joe@noteflight.com> wrote: > Hi all, > > It's been a great meeting this year at TPAC. Here is a rough summary of > the ground we covered (at least, the part for which I was able to be > present). > > - Our CR transition request is in progress and a final review has been > requested from the TAG. > > - Further work on populating the test suite was planned. > > - All v.next milestone issues have been reviewed. A rough cut at a set of > high priority issues was identified by the group. Also, some issues were > clarified and/or closed during this review. > > - We have three remaining issues with the spec language for AudioWorklet > and its friends which we expect to close within the week: > > -- #1435 is the most substantive of the three issues. It relates to the > initialization sequence for AudioWorkletGlobalScopes and the question of > the relationship of such scopes to their owning AudioContexts. We conferred > with Ian Kilpatrick and after much discussion arrived at the conclusion > that global scopes must be created in a way that unambiguously identifies > the owning context. In this way, each addModule() call is specific to a > context, and results in a promise that resolves only after all processor > classes have been registered for that context. This requires that we move > the audioWorklet attribute out of Window and into BaseAudioContext. > > -- #1441 is a minor typo. > > -- #1442 is an omission of the serialization/passthrough of a new > AudioWorkletNode's options dictionary, which was supposed to be > communicated to the associated AudioWorkletProcessor. It is easy to add the > missing language. > > - We met with the WebAssembly CG to discuss how to best support > AudioWorkletProcessor with WASM code. The discussion had several facets: > > -- Both groups affirmed that WebAssembly and AudioWorklet together have > a very strong set of combined use cases. > > -- A demo of FM synthesis using WASM and the current Chrome Canary > AudioWorklet implementation was shown. The integration wasn't an example of > best practices but it showed feasibility. > > -- We discussed the need for a clean way to load WASM modules directly > into AudioWorklets via addModule(). Perhaps these could register their own > processors through Web Audio APIs exported for visibility within WASM. > However the JS-class-based approach in the current AudioWorkletProcessor > may be a poor fit. > > -- A shorter-term approach to surfacing WASM in AudioWorklets is to > construct a Module on the main thread and serialize it through the > AudioWorkletNode at construction time, instantiating it on the audio thread > side if it doesn't already exist there. The serialization and instantiation > of modules are expected to be lightweight operations. > > -- The current approach in which the audio thread owns the array > buffers used to communicate with an AudioWorkletProcessor imposes the need > for unnecessary copying of data, since those buffers can't be directly seen > by WASM. We talked about an alternative approach in which WASM (or perhaps, > even JS processors) provisions the buffers to the engine itself. This > requires an alternative protocol in which the engine states its needs and > the processor fulfills them, so it will require a fair bit of thinking > together. > > -- We would like to follow up with further joint Web Audio / > WebAssembly meetings preceded by a call for concrete proposals on the above > points. > > Let me know if I omitted anything. And thanks again everyone for a great > TPAC. > > Best, > > . . . . . ...Joe > > Joe Berkovitz > Founder > Noteflight LLC > > 49R Day Street > <https://maps.google.com/?q=49R+Day+Street+Somerville+MA+02144+USA&entry=gmail&source=g> > Somerville MA 02144 > <https://maps.google.com/?q=49R+Day+Street+Somerville+MA+02144+USA&entry=gmail&source=g> > USA > <https://maps.google.com/?q=49R+Day+Street+Somerville+MA+02144+USA&entry=gmail&source=g> > > "Bring music to life" > www.noteflight.com >
Received on Thursday, 9 November 2017 17:54:26 UTC