[Webkit-unassigned] [Bug 100885] New: Automating gain AudioParam with linearRampToValueAtTime introduces buzzing distortion
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Oct 31 14:07:25 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=100885
Summary: Automating gain AudioParam with
linearRampToValueAtTime introduces buzzing distortion
Product: WebKit
Version: 528+ (Nightly build)
Platform: All
OS/Version: All
Status: UNCONFIRMED
Severity: Normal
Priority: P2
Component: Web Audio
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: matt.grounds at gmail.com
CC: crogers at google.com, rtoy at chromium.org
Created an attachment (id=171716)
--> (https://bugs.webkit.org/attachment.cgi?id=171716&action=review)
Regression HTML page with debug FFT and time output to show distortion.
There seems to be a problem with the implementation of linearRampToValueAtTime in AudioParamTimeline.cpp, which on the GainNode causes a buzzing distortion to begin when audioContext.currentTime reaches certain powers of 2. This suggests it has something to do with representing time as a floating point number during the for loop which calculates the sample accurate values.
I have confirmed the bug with the nightly build on the following platforms:
Windows XP - Intel Core 4 Quad 6600
Mac OS X Snow Leopard - Intel Core 2 Duo
The problem is significantly worse on the Windows platform. On both platforms, distortion can be seen in the FFT view after 128.0s. But on Windows, after 256.0s an extremely audible buzzing begins. I presume this is because there are differences in the floating point code generated by the Visual Studio and gcc compilers?
This makes it next to impossible to use ADSR style envelopes on parameters, since they cannot be relied upon without introducing distortion.
I have attached a regression HTML page which demonstrates the problem.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list