OpenSL ES Overview

OpenSL ES - The Standard for Enhanced Audio

OpenSL ESOpenSL ES™ is a royalty-free, cross-platform, hardware-accelerated audio API tuned for embedded systems. It provides a standardized, high-performance, low-latency method to access audio functionality for developers of native applications on embedded mobile multimedia devices, enabling straightforward cross-platform deployment of hardware and software audio capabilities, reducing implementation effort, and promoting the market for advanced audio.

OpenSL ES 1.0 at a glance

Khronos has issued OpenSL ES 1.0 as a provisional specification to provide the opportunity to incorporate feedback from the developer community before the specification is finalized. We are not expecting to make any changes to the specification other than those requested by the industry - so if you have feedback - please fill in the questionnaire (.doc) / (.txt) and email or alternatively go to the OpenSL ES forums! We plan to finalize the specification towards the end of 2007 and we don't expect there to be any major changes - so any source changes to OpenSL ES applications using the provisional specification should be minimal.

OpenSL ES 1.0 Provisional Specification (.PDF updated September 2007)
OpenSL ES 1.0 Provisional Header files (.zip Updated September 2007)

The need for OpenSL ES

Currently the market offers a diversified range of multimedia devices and fragmentation in the developer space is high. Application developers are constantly porting their audio source code across several proprietary APIs. Just playing a simple sound on different platforms requires different code. OpenSL ES addresses the limitations of platform and provides additional tangible benefits:

features

Features of OpenSL ES

  • Royalty-free, open audio application API for embedded mobile multimedia devices
  • Suitable for both hardware and software implementations
  • Application-oriented "developer" API that standardizes access to advanced audio functionality:
    • Mandated audio format across platforms providing consistency for developers, with support for optional formats
    • Interactive music and ringtones using SP-MIDI, Mobile DLS, Mobile XMF
    • 3D positional audio provided for gaming using OpenGL ES
  • Cross-platform foundation for a wide range of higher-level audio APIs including: Mobile Media API (JSR-135); Advanced Multimedia Supplements (JSR-234)
  • Extensible to handle new capabilities
  • Profiles (subset of features satisfying typical use cases for a given market segment) will allow market segement targeting

Target Applications

  • Gaming
  • Multimedia interactive applications (Mixers, composers, DJ apps)
  • Interactive audio
  • 3D audio
  • Music playback, including digital audio
  • Ring-tone playback
  • Recording: access to the audio inputs (e.g. microphone input)
  • Device UI audio support

Target Devices

  • Mobile phones (simple phones to music and game-phones)
  • Smart-phones & PDAs
  • Portable game consoles
  • Portable multimedia players/devices (e.g. MP3 players, i/net tablets etc...)

Target devices minimum requirements: 8MB of RAM; 100MHz embedded processor(s) ; Handheld form factor, supports applications; Audio output via speaker(s), headset/headphone; Networking support for streaming: wireless, Bluetooth;

where OpenSL ES fits in the developer world

Profiles

OpenSL ES will be deployed on a wide range of devices catering to different market segments. The profiles are: Phone, Music and Game.

Game Profile
Targeted at the game-centric mobile device market : Advanced MIDI functionality, sophisticated audio capabilities such as 3D audio, audio effects, ability to handle buffers of audio, etc

Music Profile
Targeted at the music-centric mobile device market - High quality audio, ability to support multiple music audio codecs, audio streaming support

Phone Profile
Targeted at the basic mobile phone market - Includes ringtone and alert tone playback (i.e. basic MIDI functionality), basic audio playback and record functionality, and simple 2D audio games.

profiles

Related Information

All product names are trademarks or registered trademarks of their respective holders.