High-Performance Audio

High performance audio apps typically require more functionality than the simple ability to play or record sound. They demand responsive realtime system behavior. Some typical use cases include:

  • Digital audio workstations
  • Synthesizers
  • Drum machines
  • Music learning apps
  • Karaoke apps
  • DJ mixing
  • Audio effects
  • Video/audio conferencing

This section explains the general principles of minimizing audio latency. It also provides advice about audio sampling, to help you choose the optimal sample rate and consider the pros and cons of using floating-point numbers to represent your audio data.

The rest of the section describes the two libraries that are available for writing high-performance audio applications:

  • OpenSL ES is an Android-specific implementation of the OpenSL ES™ API specification from the Khronos Group.
  • AAudio was developed as a lightweight, native Android alternative to the OpenSL ES library. The AAudio API is smaller and easier to use than OpenSL ES.

You may also want to view the I/O 2017 Best practices for Android audio session which covers technical and business best practices for developing high-performance audio apps.