Historically, Chrome implemented dezippering such that when the value setter of an AudioParam was used, the value was not changed instantaneously. Instead, an exponential approach equivalent to setTargetValueAtTime was done. The actual time constant used was never specified and depended on the AudioParam. With the spec change in https://github.com/WebAudio/web-audio-api/pull/393, (Sep 2015), all dezippering was removed from the spec. Dezippering will be removed from Chrome.
Documentation
Specification
Status in Chromium
Enabled by default (tracking bug) in:
- Chrome for desktop release 66
- Chrome for Android release 66
Consensus & Standardization
After a feature ships in Chrome, the values listed here are not guaranteed to be up to date.
- Shipped/Shipping
- No signal
- No signal
- No signals
Owners
Last updated on 2020-11-09
Comments
This has the potential to break existing apps if they depended on smooth transitions using the value setter. If dezippering is still needed, the appropriate replacement is to use setTargetAtTime(value, context.currentTime, timeConstant), where timeConstant is probably around 10-20 ms, which was the typical value used in Chrome for dezippering. If dezippering is not needed, nothing needs to be done, Deprecation messages will be displayed, stating dezippering will be removed in M66.