0 votes
by (150 points)

I'm developing a native app (VR API is OpenXR, sound API is OpenSL ES which is standard for Android).

If I play a long sound (for example, background music) and simultaneously play another sounds, I hear the "cracking sounds" from the background music player.

On other android devices, including Oculus Quest 2, everything works fine. Same code on Pico Neo 3 causes this bug.

Note that this bug depends on volume level. On 100% volume level everything is fine. On 40-50% cracking sounds appear. (Also note that this bug is NOT related to high-volume audio clipping because my test sounds wasn't that loud.)

2 Answers

0 votes
by (25.1k points)

Dear developer,
Could you please provide a Demo project that can reproduce your problem?
Please send it to our email: pico_devanswers@bytedance.com.
We'll test it.
And please use the title of your question as the subject of your email.

Note: If the attachment size exceeds the upper limit and the email is returned, plesae send it as a download link.

0 votes
by (25.1k points)

Dear developer,
Could you please provide your PUI version? We'll try to reproduce this issue again.
Maybe try playing the music directly on the device to see if there is still a problem.
Or you can change other music in your app to see if there is still a problem.

by (150 points)

I have already answered by e-mail (topic is "[External] Cracking sound artifacts (OpenSL ES) (Pico Neo 3)").

Here is a copy:

PUI version is 4.5.30 (Neo 3 Pro).

I tried to make a video capture to show a problem, but it has no sound at all, is there a way to record a screen with a sound?

(Additional information: just noticed that "cracking" sound only appear on internal speakers. With the the headphones connected I couldn't reproduce the problem.)

Tried different background music, problem reproduces even for simple sine wave. The lower the wave amplitude, the more quiet are the cracks.

Also, problem reproduces on other apps too. Open Firefox Reality, open Boxing demo (https://webvr.soundboxing.co/) and start "Close to me" song (button at top-left corner). Start VR mode, move controllers away so you will miss any rounds and hear lots of "miss" beeping sounds. If system volume is around 60-70% you will hear the cracks on almost any miss. Other songs also cause same artifacts but, probably, on different volume levels and sometimes they are hard to catch.

by (150 points)

Also, when I tested an app with sine wave instead of music, I noticed that when a sound starts playing during another (background) sound being played, the volume of background sound immediately lowers (amplitude of sine wave become lower), as a result a 'rough step' in a wave appears which the user hears as a crack sound. After second sound stops, background sound restores its initial volume, amplitude raises back again and again I hear this 'rough step'.

I don't know exactly how the driver implements the OpenSL ES audio API, but it looks like the driver tries to automatically adjust volume levels while playing multiple sounds (multiple SLplayItf players) and it does this job by stepped adjustments which become 'cracks' in the speakers. Why it happens only on certain volume levels and why it doesn't happen when I connect the headphones I don't know.

by (25.1k points)

Dear developer,
We failed to reproduce your problem. Is it the problem found on one Pico Neo3 Pro device or multiple Pico Neo3 Pro devices?
We want to determine if it could be hardware problem.

by (150 points)

I have only one device.

Well, it could be a hardware problem, however, the nature of this particular sound cracks is more likely to be caused by software.

Anyway, it looks like at this moment only my device can reproduce this problem so let's assume that it's a particular issue which hopefully will not affect the other players.

If I get additional test results which could help to diagnose a problem, I will contact you.

Thank you.

...