Bug 78937

Summary: Implement static compression curve parameters for DynamicsCompressorNode
Product: WebKit Reporter: Chris Rogers <crogers>
Component: New BugsAssignee: Chris Rogers <crogers>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, kbr, ojan, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch kbr: review+

Chris Rogers
Reported 2012-02-17 14:45:45 PST
Implement static compression curve parameters for DynamicsCompressorNode
Attachments
Patch (20.26 KB, patch)
2012-02-17 15:15 PST, Chris Rogers
no flags
Patch (19.95 KB, patch)
2012-02-24 17:12 PST, Chris Rogers
kbr: review+
Chris Rogers
Comment 1 2012-02-17 15:15:36 PST
Chris Rogers
Comment 2 2012-02-17 15:21:53 PST
Dynamic range compression has parametric control of the static compression curve: threshold: the dB value above which the compression will start taking effect knee: historically this has often been simply "hard" or "soft" knee, but this is a value (in dB) representing the range above the threshold where the curve smoothly transitions to the "ratio" portion ratio: this value represents the amount of dB change in input for a 1 dB change in output The "reduction" parameter is a read-only value for metering purposes, representing the current amount of gain reduction that the compressor is applying to the signal
Chris Rogers
Comment 3 2012-02-17 15:54:13 PST
Here's an interactive graphing app to show the parametric curve: http://chromium.googlecode.com/svn/trunk/samples/audio/compression-curve2.html
Chris Rogers
Comment 4 2012-02-24 17:12:49 PST
Kenneth Russell
Comment 5 2012-02-24 18:32:21 PST
Comment on attachment 128832 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=128832&action=review This looks fine per your walking through the algorithm with me offline. A couple of minor nits. r=me > Source/WebCore/platform/audio/DynamicsCompressor.cpp:58 > + if (parameterID < ParamLast) Is this worth an ASSERT? > Source/WebCore/platform/audio/DynamicsCompressorKernel.cpp:174 > + k = sqrt(minK * maxK); sqrtf? > Source/WebCore/webaudio/DynamicsCompressorNode.idl:33 > + readonly attribute AudioParam reduction; // in Decibels I assume these changes are being specified?
Chris Rogers
Comment 6 2012-02-27 14:15:22 PST
Note You need to log in before you can comment on or make changes to this bug.