TehnoBlog.org

Android Low Latency Audio: Are we there yet?

Google Chrome Android Logo

Android is running slow behind iOS and iPhone for years when it comes to professional audio applications and low-latency (time delay) touch-screen and analog input processing features. Are we at the end of a very dark tunnel with first light rays finally passing through the narrow opening at its’ end? Read to find out…

article last updated: July, 2017

Google Android

ANDROID AUDIO LATENCY: ISSUE 3434

Professional Audio Users and Musicians all over the world are screaming in unison over Google’s little Android pet when it comes to professional audio applications and usability. The reason is so primal and simple: high audio latency issues. Explained in layman terms, the time that passes from the very moment you touch the device’s screen to the moment you see the feedback reaction (e.g. sound on the device’s speaker, or virtual touch controls start to move) is called latency (or delay).

Since the dawn of Gingerbread (check Android Development History here), via Ice Cream Sandwich, to Jelly Bean and KitKat, there were endless promises that the problem will be fixed once and for good.

However, only improvements were presented instead, and nice presentations such as this video, featuring Glenn Kasten, Ian Ni-Lewis, and Raph Levien:

Google I/O 2013 – High Performance Audio

As it appeared, the issue is a combination of Android OS, audio drivers and application layers, when all that gets combined, the problem is not so trivial to solve.

However, this not-so-well-known company Sonoma Wire Works earlier that year presented a low-latency audio driver which promised to bring down latency on contracted audio devices down to 20 milli-seconds, from the usual 100-200 milli-seconds range. I haven’t heard much about it since the press release.

Android Jelly Bean 4.1 brought new multimedia improvements, such as effects processing during audio recording and so on, but this was still far from the ultimate issue: audio latency problem on Android.

GLIMPS OF LIGHT AT THE END OF A TUNNEL: ANDROID LOLLIPOP

In June 2014 Google started to raise some dust and noise about Android L, new secretive version of next generation Android Operating System, which promises to bring low-latency audio, USB Audio Device support (something that iOS and iPhones own for ages thanks to CoreAudio drivers and excellent OS level support), 24 bit/96 kHz sampling rate, and better overall audio/video synchronization.

Google Android Lollipop

Updated article: The most prominent changes to “Lollipop” include a redesigned UI and responsive design language called ‘material design‘. Internal changes were also made to the Android platform, with Android Runtime (ART) officially replacing Dalvik for improved application performance, and changes intended to improve and optimize battery usage.

Unlike Dalvik, which uses just-in-time compilation (JIT), ART compiles apps upon installation which are run from the compiled version afterwards. This technique promises to remove processing overhead associated with JIT, improving Android performance.

However, all above changes are not directly related in any way with audio issue, and in fact, does not explicitly mentions anything about  Android L low latency audio.

SAMSUNG REAL TIME AUDIO AND MIDI SOLUTION FOR ANDROID

Samsung published a new Samsung Professional Audio SDK 2.0.0 on September 15th, which seems to implements JACK AUDIO connection kit, as well.

Samsung Professional Audio SDK for Android Explained

In essence, Samsung SDK bypasses the long pipe of audio processing from INPUT (microphone or display screen) all the way through the device speaker. And all this is accomplished by something Samsung calls ‘Soundcamp’ architecture. Theoretical minimum latency with current hardware technology (audio chipsets) and Samsung SDK is around 17 milliseconds. Of course, you need a fast CPU to compensate for such a low latency and minimal buffering, but still this is very impressive!

Samsung Professional Audio SDK Explained
(click to enlarge)

If we focus our attention to the last block in the above illustration and forget about Hardware (chipset) and ALSA layer for a moment, what is so great about Soundcamp in the end? You can add as many apps and effects inside it with no additional latency cost! Next slide will better illustrate this feature:

Samsung Professional Audio SDK Explained
(click to enlarge)

And this last part is thanks to JACK AUDIO implementation borrowed from Linux OS.

Samsung Professional Audio SDK Explained
(click to enlarge)

But, wait, there’s much more! Samsung Soundcamp is essentially an example Audio DAW Production environment built by Samsung.

Samsung Soundcamp DAW MultiTrack View

Samsung Soundcamp DAW Add App View

However, it is not only a DAW with all the essential features such as multi-track audio recorder and sequencer with built-in virtual effects and instruments. It is also a ‘host’ application that can be used to power other 3rd party apps and effects!

Samsung Soundcamp DAW MIDI Editor

Samsung Soundcamp DAW Mixer View

If you have time, you can watch the entire keynote from Samsung Developer Conference (December 2014) featuring Taemin Cho and Haeseok Oh, with special guest Jordan Rudess:

I have to admit that this is a great news, because, although I am not such a big fan of Samsung phones (hard to admit), if Samsung does push this thing forward, and it seems they are all ready to actually bring it to the very end, I will not hesitate much to switch over to some of the supported Samsung Phones with low-latency audio!

I wonder now how much of this work is actually related to Android L, or did they pull it off completely on their own? I guess time will tell. Update: from the Soundcamp presentation, it has become clear that Samsung pushed this on its own and will use the low latency audio to drive own Galaxy App Market.

But what about Google Market? With so many different device manufacturers and models, let alone Android versions, how soon will developers need to take off and start developing interesting PRO audio apps for the rest of devices? Remember, after all the tech talk pass, applications and market will take time to grow. There are already some apps out there, but Android really needs some big players to get into the arena. We will have to listen wait & see track for a little longer…

ANDROID O – Low Latency Audio

As of July 2017 and Android O, we are still not there yet! However, high performance audio is in beta testing phase, and this version of Android may finally bring long awaited high performance audio features.

Google I/O 2017 – Best Practices for Android Audio Session

New AAudio API is promising, both for developers (less code complexity and simplicity) and users (improved low latency performance).

AAudio will also work with older Android versions (6.0, 7.0) via wrapper, so it remains to be seen how it will perform in practice.