Newbie question concerning the audio latency

Hi all,

I’m a mobile developper. I work on two applications where the audio latency is very important. I use Superpowered since 1year now to reduce the latency on IOS and Android.
I discover Juce recently and I would love to know if Juce can replace all the audio Superpowered plugin ?
I only need the audio plugin with extra low latency.

Thanks for your help

JUCE uses the same underlying drivers as everyone else - i.e. CoreAudio on iOS and Oboe on Android.

Android is the only platform where you’ll run into latency problems, but there’s nothing that Superpowered can do which we don’t already do in JUCE (and which every other audio library also does now that Oboe is available). We’ve worked with the Android audio team at Google to make sure we’re using all the right APIs to get maximum performance.

IIRC Superpowered used to offer some kind of custom Android audio driver which required a jailbroken phone…? That’s really the only way to beat JUCE/Oboe’s performance, but isn’t exactly practical if you’re shipping an app to end-users.

If it’s important to you, check out some of the Google talks about this at ADC last year, as they explain it all in some detail.

Thanks for your quick reply !
So could you please confirm to me that I can use only the Juce audio drivers into my native apps ? (Kotlin and Swift) ?
Without superpowered on my IOS app the latency is not so good, so I guess that with Juce I will have the same latency than with superpowered ?

I don’t understand your question… we don’t do “drivers”, just a library that wraps the underlying OS APIs.

I don’t know much about superpowered, but there certainly aren’t any magic system API calls that they know about and we don’t!

Yes I mean the library

Cool !

I gonna test !

Not a JUCE expert, but it’s not like you can go bare metal to get rid of the other layers to eliminate all overheat. I mean it’s not like JUCE it’s “OpenGL” and there’s another API that it’s “Vulkan” that allows lower latencies. It just relies on platform audio drivers.

Two “easy” methods of having lowest latency possible: work with low buffer sizes and with high sample rates. The first one: easy if your app doesn’t do anything fancy, otherwise you’ll have to optimize the fuck out of your code. Uness I’m missing smth, the second one can give you more headaches depending on your platform, SR of the audio input/output you are dealing with (i.e having to upsample incoming audio), etc.