AudiokineticのコミュニティQ&AはWwiseやStrataのコミュニティ内でユーザ同士が質問・回答をし合うことができるフォーラムです。Audiokineticテクニカルサポートチームからの回答をご希望の場合は、必ず サポートチケットページ をご利用ください。

Wwise causes stutter and voice starvation with bluetooth headset

0 支持

Hi guys.

I'm working on connecting a new 3D audio headset with Unity 5.2.2f1 and Wwise 5.1.2. So far everyone goes right except when the headset is connected via wireless Bluetooth and when I use Wwise. I get voice starvations in the profiler when running the app on Android, and the audio is stuttering. If I circumvent Wwise and just play audio from an audio source in Unity and profile this in Wwise, I still get messages of voice starvation, but the sound is without stutters, so really it's working fine. In short this is the outcome of my experience with and without audio cable between the headset and the Android phone:

Cable + Unity audio = No Voice Starvation messages, No Stutters

Bluetooth wireless + Unity audio = Voice Starvation messages, No Stutters

Cable + Wwise audio = No Voice Starvation messages, No Stutters

Bluetooth wireless + Wwise audio = Voice Starvation messages + Stutters

I have a log snippet of the voice starvation messages in Wwise here: https://dl.dropboxusercontent.com/u/9959158/AWE/Wwise-Profiler-Log-BluetoothHeadsetVoiceStarvationIssue.prof

 

On this page https://www.audiokinetic.com/library/2015.1_5418/?source=Help&id=setting_output_buffer_latency you can set the buffer latency for Wwise authoring tool itself. 

Is it possible to adjust something similar like this for the various devices Wwise eventually will be deployed to? I want to be able to use a BT device without Wwise + Unity creating voice starvations.

In Unity I have tried setting DSP Buffer Size in AudioManager to Default, Best Latency and Best Performance without better results. I tried changing sample rate lower without better results. I use Vorbis format but tried packing the soundbank with Wav PCM files instead in Wwise to no succes either. I even tried removing all Wwise audio sources in Unity, started profiling the app, and it still gives me voice starvations despite no audio is playing! The Audio CPU usage has never been over 8%, and usually hovers around 3-5%, with about 0.8% without any audio sources.

All in all it seems like Wwise doesn't like bluetooth wireless connections? Can someone please help me figuring out what's wrong with this?

 

Egil S. (1,100 ポイント) 2015 10/27 質問 General Discussion
Egil S. 2015 11/2 編集
Still very much looking for an answer!
There's clearly still voice starvation going on if I change Wwise from Profile to Release, so it isn't due to profiling. Anyone?
Unfortunately, there is not much that can be done.  The only solution is adding more latency buffers to avoid the glitches (change AkPlatformInitSettings.uNumRefillBuffers to 5 or 6).  This is a common problem on Android and iOS with bluetooth, altough some hardware models are more affected than others.  Bluetooth is not a protocol made for interactivity, it was made for streaming low-bandwidth data (compressed voice band-limited at 8khz).   You can read the bug reports at Google:
https://code.google.com/p/android/issues/detail?id=31556
https://code.google.com/p/android/issues/detail?id=58265
https://code.google.com/p/android/issues/detail?id=187917

Sorry to say, but there is no solution.
Great answer which led me to solving the issue. I did not find any uNumRefillBuffers, but I changed uNumRefillsInVoice = 5 which worked!! Woohoo :)
I guess this will increase latency a bit, but that's a compromise I'm willing to accept.

Thanks again for responding :)

Please sign-in or register to answer this question.

...