This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Audio-ISSUE-69 (LinearConvolution): Linear convolution effect is defined by Wikipedia [Web Audio API] http://www.w3.org/2011/audio/track/issues/69 Raised by: Philip Jägenstedt On product: Web Audio API https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#ConvolverNode links to https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#Convolution-section links to http://en.wikipedia.org/wiki/Convolution The definition should be in the specification itself. A problem that is not addressed at all is how phase/latency depends on the length of the convolution buffer. In other words, it must be defined exactly how each sample value is calculated from the the input signal and the impulse response buffer.
[admin] Assigning items currently being worked on by editor.
I believe the operation "linear convolution" is a sufficiently well-known and well-defined operation in mathematics that no further explanation is required, anymore than the definition of a cos() function. It is defined in many texts on math/DSP. I will add an "informative" link to a page which can help guide implementors to practically implement this well-defined mathematical operation. I am happy also to point to working, cross-platform, well-optimized code having a non-restrictive license. I can also point to an alternate implementation "Freeverb": http://freeverb3.sourceforge.net/ FIXED: https://dvcs.w3.org/hg/audio/rev/7865f8b76f19
I think this mail-comment from the original issue was overlooked: " The new document [1] contains valuable information, but isn't what this issue was about. If linear convolution need not be defined, then the issue should be closed as invalid. Not everyone reading the spec will have a background in signal processing, e.g. we want our QA to be able to write tests with little effort. We suggest to define the output y in terms of the input x and the [possibly normalized] impulse response g as a summation formula or pseudo-code such as: y[n] = 0 for i in 0...N-1: y[n] += x[n-i] * g[i] This leaves no room for ambiguity about the phase of the output signal. ISSUE-70 will need to be resolved for the above formula to make sense, though, as the input and impulse response may have different numbers of channels. [1] https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/convolution.html "
Web Audio API issues have been migrated to Github. See https://github.com/WebAudio/web-audio-api/issues
Closing. See https://github.com/WebAudio/web-audio-api/issues for up to date list of issues for the Web Audio API.