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.



Specification link

Specification being incubated in a Community Group

Status in Chromium


Enabled by default (tracking bug)

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 signals



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.

Last updated on 2021-05-05