Multiple ConvolverNodes stop sound on Chrome for Android if played simultaneously
Reported by
alexan...@inkin.ru,
Sep 30 2016
|
||
Issue descriptionChrome Version : 53.0.2785.124 (32 bit) URLs (if applicable) : http://codepen.io/waterplea/pen/GjvYdJ Other browsers tested: Add OK or FAIL, along with the version, after other browsers where you have tested this issue: Safari: OK Firefox: OK IE: N/A Chrome on Desktop: OK What steps will reproduce the problem? (1) Create multiple sources for AudioContext. (2) Chain them to destination through individual ConvolverNodes. (3) Play multiple sources simultaneously. What is the expected result? Multiple sources play fine, ConvolverNode produces reverberation effect. What happens instead? Sound almost immediately stops. Please provide any additional information below. Attach a screenshot if possible. This issue seems to only be reproducible on Chrome on Android (and native Android browser), on Chrome on iOS or desktop it is not reproducible.
,
Sep 30 2016
I reproduced it on 2 phones that I have around - Motorola Moto G and Highscreen Power Rage, both Android 5 something.
,
Sep 30 2016
If I'm reading the code right, you're creating a stereo convolver with an impulse response of length 4 sec. At a sample rate of 44100 kHz (fairly typical for an Android phone). That's a huge convolver, and doubly complex because there are two impulse responses. It's possible the Moto G and Power Rage are not powerful enough to perform the necessary convolutions. You can easily test by making the impulse response shorter.
,
Sep 30 2016
An ancient Galaxy Nexus plays sounds but is very glitchy. Drop outs throughout the clip, but audio is heard for more than 3 sec.
,
Sep 30 2016
Made it shorter and the sound did not end that quick but still fairly quick. So that's a performance issue? How come it works on iPhone 4s from 5 years ago with 512MB RAM and dual-core 800MHz and not on 2GM RAM quad-core 1300MHz Android 5 device?
,
Sep 30 2016
Did some more testings and yes, seems like performance issue. That's too bad, seems that convolution effects are not yet within the reach of mid-range handhelds, will have to cut those effects out of my app. The bug could probably be closed.
,
Sep 30 2016
The bulk of the processing is in computing FFTs. Chrome has NEON SIMD optimized FFT routines, but only for devices that have NEON. I don't know if your test phones have NEON. It's very possible iPhone 4s has NEON and that the proprietary Apple FFT performs much better than the one used in Chrome on Android. There are some further optimizations that can be done on Android that haven't been yet, but the FFT in this case is the biggest issue. Thanks for testing. I'll close this for now, but if you find some new information or tests, feel free to reopen this or file a new issue.
,
Sep 30 2016
Closing (WAI). |
||
►
Sign in to add a comment |
||
Comment 1 by rtoy@chromium.org
, Sep 30 2016