PannerNode's sound glitches when setting the position of listener
Reported by
dima...@gmail.com,
Dec 25
|
|||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 Steps to reproduce the problem: JS: 1. Create audio context, set up PannerNode with linear distance model and position/maxDistance away of the listener 2. Change the position of the listener towards the PannerNode's position 3. You will hear initial sound with noise Test case: 1. Click the Play button, wait until it will be renamed to Stop 2. Move ListenerX slider towards and away of PannerX value. 3. You will hear initial sound with noise What is the expected behavior? With change of the listener's position, a PannerNode's sound should change its volume smoothly without glitches. What went wrong? PannerNode's sound is played with noise while setting the listener's position toward or backward from the PannerNode's position. Did this work before? N/A Does this work in other browsers? N/A Chrome version: 71.0.3578.98 Channel: stable OS Version: 10.0 Flash Version: When changing only the PannerNode's position, the sound works well.
,
Dec 27
Tried testing the issue on chrome reported version# 71.0.3578.98 using Windows-10 with steps mentioned below: 1) Launched chrome reported version and unzipped the file provided in comment# 0 2) Dragged and dropped the file provided in comment# 0 and clicked on 'PLAY' button 3) Waited until the 'Play' changed to 'Stop', then dragged the listener of PannerNode's towards and away from it, didn't heard any noise on changing the position of listener @Reporter: Please find the attached screencast for your reference and let us know if we missed anything in reproducing the issue. Provide your feedback on it which help in further triaging it in better way. Thanks!
,
Dec 29
Thanks for feedback. Please find the attached screencast with recorded sound to hear the noise. The Chrome version is 71.0.3578.98 and Windows-10. 1. To hear only noise you should change only Listener X position. 2. To hear normal sound you should change only Panner X position. 3. To hear normal sound with noise you should change Panner X position one time and then change Listener X position. All these steps are in attached screencast.
,
Dec 29
Thank you for providing more feedback. Adding the requester to the cc list. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jan 9
Tried testing the issue on reported chrome version #71.0.3578.98 using Windows 10 by following below steps. Steps: ===== 1.Launched chrome. 2.Opened "test.html". 3.Clicked "Play" button. 4.Moved the position of Listener X, Panner X and both simultaneously. 5.Observed that in all cases neither the noise nor sound can be heard. Attached screencast for reference. @reporter: Could you please review the attached screencast and let us know if anything is missed from our end. Thanks.!
,
Jan 9
Please open "test.html" from local server, because the sound is loaded from "menu.ogg" in the same directory as "test.html".
,
Jan 9
Thank you for providing more feedback. Adding the requester to the cc list. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jan 14
I can confirm that moving the Listener X produces glitches as shown in c#5 (Linux, Chrome ToT today, 73.0.3672.0). Not sure what's causing this....
,
Jan 18
(4 days ago)
This is really weird. Paste the following snippet (based on the code from test.zip) at hoch.github.io/canopy:
// @sampleRate 48000
// @duration 1
// @channels 2
var panner = context.createPanner();
panner.distanceModel = 'linear';
panner.refDistance = 1;
panner.maxDistance = 3000;
panner.rolloffFactor = 1;
panner.coneInnerAngle = 360;
panner.coneOuterAngle = 0;
panner.coneOuterGain = 0;
panner.positionX.value = 2000;
panner.positionY.value = 0;
panner.positionZ.value = 0;
var listener = context.listener;
listener.positionX.value = 0;
listener.positionY.value = 0;
listener.positionZ.value = 0;
let src = new OscillatorNode(context);
src.connect(panner).connect(context.destination);
//src.connect(context.destination);
context.suspend(0.25)
.then(() => {
listener.positionX.value = 2000;
})
.then(() => context.resume());
src.start();
You can see that at time 0.248, both channels suddenly have a sine wave. This is ok because we suspend at the render quantum just before 0.25. But the sine wave goes away after about .005 sec later.
That's totally unexpected and wrong.
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by swarnasree.mukkala@chromium.org
, Dec 25