The WebAudioAPI spec says that AudioParams should clamp the values to the nominal range.
See https://github.com/WebAudio/web-audio-api/issues/766
This basically means AudioParams are computed normally but at the final step they are clamped to the nominal range before being applied to the data. This way, the slopes of the audio params are preserved.
Comment 1 by rtoy@chromium.org
, Apr 27 2016