New issue
Advanced search Search tips

Issue 639330 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Cascaded ConvolverNode's produce 0 output.

Project Member Reported by rtoy@chromium.org, Aug 19 2016

Issue description

OS: All

What steps will reproduce the problem?
(1) Run http://jsbin.com/haqibe/edit?html,js,output
(2)
(3)

What is the expected output?
Audio should heard

What do you see instead?
No audio.

Each of the convolver nodes consists of a single impulse. This should pass through the original signal unchanged.  Cascading two should not change anything.  But the output is still zero.

Replacing c2 with another node like a biquad allows audio to be heard.
Removing c2 from the graph and connecting c1 to the destination allows audio to be heard.

This is truly bizarre.  Happens in Chrome beta and chromium ToT. Only tested on linux but I doubt it's linux-specific.

Curiously, Firefox has the same issue. 

I must be missing something, but I don't see it.

 

Comment 1 by rtoy@chromium.org, Aug 24 2016

This is because the first convolver with a mono input and mono response produces a stereo output (!!!). The second convolver has a stereo input but a mono response and just gives up because it's not defined.  Setting the channelCount=1 on the second convolver makes it work.

But also see https://github.com/WebAudio/web-audio-api/issues/942

Comment 2 by rtoy@chromium.org, Sep 26 2016

The proposal in https://github.com/WebAudio/web-audio-api/issues/942#issuecomment-248970420 was accepted.  This should solve this issue.

Comment 3 by rtoy@chromium.org, Mar 17 2017

Owner: rtoy@chromium.org
Status: Started (was: Available)
But see also https://github.com/WebAudio/web-audio-api/issues/1159 which will changes things a bit.
Project Member

Comment 4 by bugdroid1@chromium.org, Mar 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/44c111b0f7bd9a9bb044c527162bb5bc7e6c0250

commit 44c111b0f7bd9a9bb044c527162bb5bc7e6c0250
Author: rtoy <rtoy@chromium.org>
Date: Fri Mar 31 16:20:17 2017

Make ConvolverNode conform to spec

Update ConvolverNode to handle inputs and responses according to the
spec. This basically means mono source with mono response produces a
mono output.  All other supported configurations produce a stereo output.

Spec: https://webaudio.github.io/web-audio-api/#Convolution-channel-configurations
and https://github.com/WebAudio/web-audio-api/pull/1176

BUG= 639330 
TEST=convolver-channel-modes.html

Review-Url: https://codereview.chromium.org/2732523003
Cr-Commit-Position: refs/heads/master@{#461140}

[add] https://crrev.com/44c111b0f7bd9a9bb044c527162bb5bc7e6c0250/third_party/WebKit/LayoutTests/webaudio/Convolver/convolver-cascade.html
[add] https://crrev.com/44c111b0f7bd9a9bb044c527162bb5bc7e6c0250/third_party/WebKit/LayoutTests/webaudio/Convolver/convolver-response-1-chan.html
[add] https://crrev.com/44c111b0f7bd9a9bb044c527162bb5bc7e6c0250/third_party/WebKit/LayoutTests/webaudio/Convolver/convolver-response-2-chan.html
[add] https://crrev.com/44c111b0f7bd9a9bb044c527162bb5bc7e6c0250/third_party/WebKit/LayoutTests/webaudio/Convolver/convolver-response-4-chan.html
[modify] https://crrev.com/44c111b0f7bd9a9bb044c527162bb5bc7e6c0250/third_party/WebKit/LayoutTests/webaudio/constructor/convolver.html
[modify] https://crrev.com/44c111b0f7bd9a9bb044c527162bb5bc7e6c0250/third_party/WebKit/Source/modules/webaudio/ConvolverNode.cpp
[modify] https://crrev.com/44c111b0f7bd9a9bb044c527162bb5bc7e6c0250/third_party/WebKit/Source/modules/webaudio/ConvolverNode.h
[modify] https://crrev.com/44c111b0f7bd9a9bb044c527162bb5bc7e6c0250/third_party/WebKit/Source/platform/audio/Reverb.cpp
[modify] https://crrev.com/44c111b0f7bd9a9bb044c527162bb5bc7e6c0250/third_party/WebKit/Source/platform/audio/Reverb.h

Comment 5 by rtoy@chromium.org, Apr 4 2017

Status: Fixed (was: Started)

Sign in to add a comment