Latest Unity and Oculus integration can't spatialize more than 2 audioSources ? — Oculus
Welcome to the Oculus Developer Forums!

Your participation on the forum is subject to the Oculus Code of Conduct.

In general, please be respectful and kind. If you violate the Oculus Code of Conduct, your access to the developer forums may be revoked at the discretion of Oculus staff.

Latest Unity and Oculus integration can't spatialize more than 2 audioSources ?

Unity 5.4.0b9 also tested in 5.3.4f1
Latest Oculus Unity integration
I am an experience audio professional having worked in production for broadcast and interactive for almost 20 years now.


Playing the 'RedBallGreenBall' test scene provided (which is great thanks for doing this) I don't hear artifacts (pops and clicks) with just the two objects in the scene. Runs smooth so it's great to confirm that the plugin is working. However I don't think 'RedBallGreenBall' is a good practical example considering many desktop projects would expect to have many more objects using the spatial plugin path say 16 objects. I would also expect that enabling both Early reflections and Reverb on the Oculus Spatializer Plugin channel should 'just work'. This isn't the case at all.

Both on my local system and another test system that is 'VR Ready' running a version of RedBallGreenBall with 8 objects total (4 green balls and 4 red balls) AND the  Oculus Spatializer Plugin Early reflections and Reverb bools set true (on) the audio system falls apart. It's totally unusable with obvious buffer gulping and all the artefacts you'd expect. I have set my Unity audio manager to both best performance and best latency. Same results audio system is un-usable.

Reading the forums here I can see a lot of un-documented work arounds and practical tips on how to manage performance.

Heres' my first question --> Is there a practical number of simultaneous audio sources we can expect 'VR ready' to playback using both early reflections and reverb ? Even if it's 8 or 4 I'd like to know. Right now it seems totally broken.

Second question ----> My work around has been to disable early reflections, reverb and NOT use the inverse square bool on the ONSP script. Does this mean I am essentially turning off all features of the SDK ? or even with all those features off does the Oculus plugin still handle panning for example ?

Thanks for all the hard work and great community support so far. Really looking forward to future developments of the Oculus SDK. 

Comments

  • petergiokarispetergiokaris Posts: 170 Oculus Staff
    Hi there, and thanks for the message. Sorry to hear that you are having these issues with the spatializer. Could you give us some more detail on how you are setting up each audio source in your test scene? For example, are you copying both the red and green ball 4 times, or are you changing the settings on each one?

    If you could give us the exact settings that you are using for each sound and what you are using on the main channel (room dimensions, reflection values etc.) that would be great.

    Peter
    Peter Giokaris
    Senior Software Engineer
  • petergiokarispetergiokaris Posts: 170 Oculus Staff
    UPDATE: I tried a simple test with RedBallGreenBall using V1.0.2 Unity native integration. I set both to enable reflections, then I duplicated both 4 times (for a total of 10 audio sources). I also maxed out the room size in the channel plug-in and turned on reverb.

    The amount of audio CPU usage was well below an acceptable amount when DSP buffer size was set to anything but best latency (under 20% on average). When setting to best latency, the CPU would bump up to around 60%. However, there was no distortion present, everything sounded fine.

    Keep in mind that this case is excessive since I am assuming that the room size is at max (which will tend to eat up more CPU as we describe in the documentation). The above setting with room size set to 60x60x60 (roughly) hovers around 10%.

    I'm eager to know more about how you are setting up the project. Perhaps you could send us a link to your project so we can test it directly here?
    Peter Giokaris
    Senior Software Engineer
  • galaxys602galaxys602 Posts: 3
    edited April 2016
    Hey Peter

    Thanks for testing this on your side and writing a detailed response. Really great to have your support on this.

    Getting back to this issue now, the project has moved to Unity 5.3.4p1 so I opened RedBallGreenBall using that Unity version. I also re-read your reply and experimented with the project settings / audio. I can see on my system (slightly under 'VR Ready' specifications) that when I use 'Default' DSP buffer size I get acceptable performance using RedBallGreenBall. Here's my screen capture.


    So it looks like between my unity version upgrade and getting the DSP buffer settings right (Default) I can get 8 specialized audio sources working, I do occasionally hear small clicks and glitches, I'm ok with this.

    Stilt would be great to have you respond to my original questions

    1) Is there a practical number of simultaneous audio sources we can expect 'VR ready' to playback using both early reflections and reverb ? Even if it's 8 or 4 I'd like to know. 

    2) My work around (for when I exceed a workable limit of specialized sources) has been to disable early reflections, reverb and NOT use the inverse square bool on the ONSP script. Does this mean I am essentially turning off all features of the SDK ? Or even with all those features off does the Oculus plugin still handle panning for example ?

    Thanks Peter !!
  • edited the post above to include the right screen shot .. !
Sign In or Register to comment.