Bug 182506

Summary: Implement AudioWorklet
Product: WebKit Reporter: Hongchan Choi <hongchan.choi>
Component: Web AudioAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: adrien.wurth, cdumez, chi187, chrisguttandin, conor.n.byron, fidel.tian, hello, hongchan.choi, hotaru, jeff.t.kaufman, jer.noble, joe, jwschaedler, lolwebkitbugtracker, micbuffa, omar.amin, owen.campbell, puurtuur, thomas.capogreco
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Hongchan Choi 2018-02-05 13:31:31 PST
Spec: https://webaudio.github.io/web-audio-api/#AudioWorklet

- Chrome shipped AudioWorklet in M64 via Origin Trial.
  (https://developers.google.com/web/updates/2017/12/audio-worklet)
- FireFox publicly supports the specification and started working on it.
  (https://bugzilla.mozilla.org/show_bug.cgi?id=1062849)
Comment 1 Hongchan Choi 2018-02-05 13:34:32 PST
jer.noble@ PTAL!
Comment 2 fideltian 2019-04-26 02:20:22 PDT
Any plans on implementing audioworklet?
AudioWorket has a big improvement on voice quality when applications based on webaudio
Comment 3 Omar Amin 2019-05-08 10:36:51 PDT
Additionally:

"AudioWorket has a big improvement on voice quality when applications based on webaudio, especially when the main thread is busy."
Comment 4 Jon Lee 2019-06-19 17:09:09 PDT
*** Bug 185063 has been marked as a duplicate of this bug. ***
Comment 5 Joe Hanley 2019-08-16 05:49:29 PDT
Would love to see this implemented. ScriptProcessor introduces too many audio glitches to be used in a professional capacity.
Comment 6 capogreco 2019-10-02 15:21:59 PDT
also v keen to see this implemented in webkit.  v useful / powerful tool for webdev and sound design more generally.  blink's had this working for a couple of years now - would be *awesome* to have it working on iOS.
Comment 7 Jack Schaedler 2020-05-14 06:26:44 PDT
Just chiming in to say that this would be a very welcome feature in Safari. The team at Mozilla have recently shipped a very solid implementation of AudioWorklet (https://hacks.mozilla.org/2020/05/high-performance-web-audio-with-audioworklet-in-firefox/), making Safari the one major browser that still requires the use of ScriptProcessor for custom audio processing. Given the excellent hardware on Mac and iOS devices, and the very performant visual rendering in Safari, it would be really wonderful for developers working on sound & music projects to be able to run custom audio processing DSP off the main thread with low-latency. Projects like https://learningsynths.ableton.com/ would benefit greatly.
Comment 8 Michel Buffa 2020-05-27 08:36:33 PDT
I'm adding to all the voices... My team develops WebAudio plugins and the last 70 we wrote use WebAudio worklets. We teamed with some of the DAW vendors, AW is a must have feature. 

Michel
Comment 9 Owen Campbell 2020-05-27 09:12:23 PDT
On behalf of my team at https://www.ampedstudio.com, and as a member of the broader WebAudio community, I too want to express the importance of Safari supporting AudioWorklet. The ecosystem of mature projects built around this feature is quite large but was long held back by lack of cross-browser support. As others have mentioned this is finally changing with recently added FF support and Edge's switch to Chromium, but Safari is still a big gap
Comment 10 Simon Robertson 2020-08-07 06:10:55 PDT
It would be good to see this issue starting to be resolved now, or to be provided with the reason(s) why WebKit/Safari still does not support AudioWorklet.

ScriptProcessorNode is deprecated so it would be risky to use as a fallback even if the main thread could comfortably deal with it. The only option we really have right now is to not support Safari when AudioWorklet is required in an audio-centric web application.

Support is fine in other browsers (Chrome, Edge, Firefox, Opera):
https://caniuse.com/#search=audio%20worklet
Comment 11 conor byron 2020-08-22 11:52:35 PDT
Hello, I would like to add my support to the requests that have been made here. Implementing AudioWorklet is a big step forward for web audio. However, without support in Safari on macOS and iOS, applications relying on the low-level audio processing AudioWorklet enables (in conjunction with wasm, for example) are not feasible as widely accessible web experiences. The continued lack of support for AudioWorklet in Safari discourages creative/innovative use of the web platform.
Comment 12 Adrien iWebDJ 2021-02-09 12:52:47 PST
Hello guys, I am the developer of a popular WebAudio app : https://you.dj

I recently ported the app to iOS (in WKWebView) : https://apps.apple.com/us/app/you-dj-music-mixer-no-ad/id1459666155

But there are too much audio glitches because there is no AudioWorklet in the WKWebView. This limits the use of the iOS app for now. Every browsers have AudioWorklet now, even Firefox! 

It would be amazing if this can be done one day, it is a part of the W3C standard.

Thanks! take care!
Comment 13 Jeff Kaufman 2021-02-13 17:46:33 PST
I would also like to voice my support for adding AudioWorklet to Safari.  I've developed software to let people sing together over the internet (echo.jefftk.com), but I can't get good enough performance without AudioWorklet.  This limits it to Firefox and Blink-based browsers for now.  This is especially a problem for educational situations where students have iPads, and can't install a different rendering engine.
Comment 14 Arthur Langereis 2021-02-14 06:22:44 PST
Sorry for added noise, but since people have been commenting here waiting for progress and the bug status is still "new": Safari Tech Preview has had an implementation of AudioWorklet for a while now.

Enable it in the Develop > Experimental Features menu (named WebAudio AudioWorklet API). Also check in the same list that "Modern WebAudio API" is enabled.
Both are enabled by default since at least STP 116 but verify regardless.

This will not help you on iOS right away but you please test your web apps on macOS and file any issues you find against the current implementation.
Comment 15 Chris Dumez 2021-03-15 11:30:48 PDT
That's implemented already.

*** This bug has been marked as a duplicate of bug 217708 ***
Comment 16 Chris Dumez 2021-03-15 11:31:28 PDT
Feel free to try on Safari Technology Preview on macOS. I don't think this has shipped in a customer build (on either macOS or iOS yet), only STP.