The Khronos Group has presented the OpenSL ES 1.0 specification at the Game Developers Conference in San Francisco, this specification promises high-performance, low-latency audio for mobile and embedded devices.
The OpenSL ES standard simplifies deployment of hardware and software audio capabilities across any platform or operating system and provides broad audio portability for application developers. The specifications are immediately available for download at http://www.khronos.org/opensles/ and may be used royalty-free by implementers and developers. An Adopters Program for OpenSL ES including extensive conformance tests to ensure cross-implementation consistency and trademark usage by conformant implementations will be released by Khronos during April 2009.
The audio API space is highly fragmented and developers are forced to constantly port their audio code across proprietary or platform-specific APIs as even just playing a simple sound requires different code on different platforms. OpenSL ES fills a void in the audio API arena by enabling standardized, cross-platform access to a native platform’s audio capabilities – not something that APIs such as OpenAL or ALSA were designed to do. OpenSL ES defines standardized access to both basic and advanced features such as MIDI playback and 3D positional audio on any device and operating system and is extensible by implementers to take advantage of emerging audio capabilities. OpenSL ES also provides a portable foundation for implementing the audio portions of higher-level APIs such as JSR 135 and JSR 234.
“As strong proponents of open standards, we expect that OpenSL ES will drive the evolution of enhanced audio in embedded devices with the same impact that the Khronos graphics APIs have driven advanced video and imaging,” said Jörgen Lantto, CTO of ST-Ericsson. “OpenSL ES will open up the handheld market for game developers, and consumers will benefit from a broader and richer gaming experience in their mobile devices.”
“As a founding member of Khronos we have been at the forefront of media API development and have long recognized the importance of open APIs for developers,” said Tim Lewis, director of marketing, ZiiLABS. “OpenSL ES provides a cross-platform foundation to rationalize the wide variety of closed audio development libraries in embedded markets, providing developers and hardware vendors a stable standard to build the market for audio applications and accelerators.”
About OpenSL ES
OpenSL ES is a fully-featured audio API that enables application developers take full control of advanced audio functionality in a device while being isolated from platform specifics, enabling applications to run on a multitude of hardware accelerated and software-based audio solutions. OpenSL ES has been designed by many of the leading industry audio experts to provide access to a broad range of audio functionality:
Playback of PCM and encoded content, MIDI ringtones and UI sounds, as well as extraction of content metadata;
General audio controls such as volume, rate, and pitch; music player effects such as equalizer, bass boost, preset reverberation and stereo widening; as well as advanced 3D effects such as Doppler, environmental reverberation, and virtualization;
Advanced MIDI including SP-MIDI, mobile DLS, mobile XMF, MIDI messages, and the ability to use the output of the MIDI engine as a 3D sound source;
Full 3D positional audio including grouping of 3D sound sources;
Audio recording in PCM as well as non-PCM formats from a microphone, line-in jack;
Optional support for LED and vibrator control, 3D macroscopic control, and audio recording.
Due to the broad range of audio functionality, OpenSL ES defines three overlapping profiles allowing implementers to select the features required by a particular device while preserving application portability by implementing one or more profiles on a device:
The Phone profile provides playback controls and volume controls, sound prioritization and MIDI as well as the ability to direct sound to multiple simultaneous outputs;
The Music profile provides balance and pan controls, sound prioritization and audio effects such as virtualization, preset reverberation and equalizer controls;
The Game profile provides buffer queues, pitch and playback rate control, environmental reverberation and extensive positional 3D audio controls that complements the use of OpenGL ES for 3D graphics in sophisticated mobile applications.