Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The initiative seems to have been abandoned. The results they managed to achieve were nowhere near adequate for live performance. The best results they got on the best possible hardware was about 14ms, which -- as you know -- isn't adequate for real-time audio performance.

My guess, based on experience with Rasberry Pi's: to do better than that, you need all drivers on the phone to have PREEMPT_RT patches, and contention with GPUs may be a deal-killer.

You might be interested in this approach:

    https://play.google.com/store/apps/details?id=com.twoplay.pipedal

    https://rerdavies.github.io/pipedal/
PiPedal delivers sub-4ms latency (measured using loopback) without dropouts using a Raspberry PI that's accessed from a phone using Wi-Fi direct. (disclosure: I'm the author).

A few observations:

- An SMP_PREEMPT or SMP_RT Linux kernel is mandatory. Audio threads need to run with high real-time priority.

- Real-time and audio and GPUs don't seem to play well together. PiPedal delivers stable low-latency audio -- I think -- primarily because it runs headless.

- On Raspberry pi, GPUs have a dire effect on low-latency audio. Using non-GPU graphics drivers helps.

- SD card i/o has a moderately dire effect on low-latency audio. Ethernet and Wi-Fi i/o seems to have little to no effect on low-latency audio. Drive i/o to USB-connected storage devices is less of a problem with the caveat that the USB 2.0 ports share a bus, and USB 3.0 ports share a separate bus. The storage device should be on a USB 3.0 port, and the UBS audio device should be on a USB 2.0 port.

- All of this requires a Linux kernel later than ~5.15. Round about that time, the kernel ingested a significant portion of the PREEMPT_RT patches; and USB audio is essentially unusable prior to 5.10. This disqualifies a lot of ARM SOCs which still have 4.x kernels!

Contention with SD card i/o may just reflect the fact that full PREEMPT_RT patches haven't yet been propagated into mainline device drivers for that i/o path. Or that the patch set doesn't exist at all. A PREEMPT_RT kernel doesn't fix the problem.

Significantly, the Linux 5.1x audio and SMP_PREEMPT improvements post-date the Android real-time audio initiative. It might be time for Google to take another kick at the can. But in the meantime, real-time audio on Android remains borked.



the initiative was spearheaded by some internal eng who had a side interest in live music / DJing and really hated how iOS had lower latency audio and a better music production app ecosystem vs. Android. I left Google before this initiative was finally killed so no idea what happened to it


Very interesting, thank you.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: