OpenAL

OpenAL
OpenAL
OpenAL Logo
Original author(s) Loki Software
Developer(s) Creative Technology
Stable release 2.1.0.0[1] / February 2010; 20 months ago (2010-02)
Operating system Cross-platform
Type API
License LGPL before v1.1, Proprietary since v1.1
Website connect.creativelabs.com/openal

OpenAL (Open Audio Library) is a cross-platform audio API. It is designed for efficient rendering of multichannel three dimensional positional audio. Its API style and conventions deliberately resemble those of OpenGL.

Contents

History

OpenAL was originally developed in 2000 by Loki Software to help them in their business of porting Windows games to Linux. After the demise of Loki, the project was maintained for a time by the free software/open source community, and implemented on NVIDIA nForce sound cards and motherboards. It is now hosted (and largely developed) by Creative Technology with on-going support from Apple, Blue Ripple Sound, and free software, open-source enthusiasts.[1]

While the OpenAL charter says that there will be an "Architecture Review Board" (ARB) modeled on the OpenGL ARB, no such organization has ever been formed and the OpenAL specification is generally handled and discussed via email on its public mailing list.

Since 1.1, the implementation by Creative has turned proprietary, with the last releases in free licenses still accessible through the project's subversion. However, OpenAL Soft is a widespread open source alternative.

API structure and functionality

The general functionality of OpenAL is encoded in source objects, audio buffers and a single listener. A source object contains a pointer to a buffer, the velocity, position and direction of the sound, and the intensity of the sound. The listener object contains the velocity, position and direction of the listener, and the general gain applied to all sound. Buffers contain audio data in PCM format, either 8- or 16-bit, in either monaural or stereo format. The rendering engine performs all necessary calculations as far as distance attenuation, Doppler effect, etc.

The net result of all of this for the end user is that in a properly written OpenAL application, sounds behave quite naturally as the user moves through the three-dimensional space of the virtual world. From a programmer's perspective, very little additional work is required to make this happen in an existing OpenGL-based 3D graphical application.

Unlike the OpenGL specification, the OpenAL specification includes two subsections of the API: the core consisting of the actual OpenAL function calls, and the ALC (Audio Library Context) API which is used to manage rendering contexts, resource usage and locking in a cross platform manner. There is also an 'ALUT' library that provides higher level 'convenience' functions — exactly analogous to OpenGL's 'GLUT'.

In order to provide additional functionality in the future, OpenAL utilizes an extension mechanism. Individual vendors are thereby able to include their own extensions into distributions of OpenAL, commonly for the purpose of exposing additional functionality on their proprietary hardware. Extensions can be promoted to ARB (Architecture Review Board) status, indicating a standard extension which will be maintained for backwards compatibility. ARB extensions have the prospect of being added to the core API after a period of time.

For advanced digital signal processing and hardware-accelerated sound effects, the EFX (Effects Extension) or environmental audio extensions (EAX) can be used.

Disadvantages

The single listener model in OpenAL is tailored to a human user and is not fit for artificial intelligence or robotic simulations. In that case entities other than the user need to hear the sounds and a multiple listener model is required. OpenAL also fails to take into account sound propagation delays (the Speed of sound is used for the Doppler effect only). The distance to a sound source only translates into an amplitude effect (attenuation) and not a delay. OpenAL can hence not been used for Time difference of arrival calculations.

Portability

The API is available on the following platforms:

Operating systems[2]:

Video game consoles:

Handheld game consoles:

Applications

Games

Other applications

  • Blender - 3D modelling and rendering tool uses OpenAL for its built in game engine.
  • 3DMark06 - Gamer's benchmarking tool.
  • Dolphin (emulator) - Gamecube and Wii emulator

A more exhaustive list can be found at the OpenAL website.

Implementations

OpenAL SI

The OpenAL Sample Implementation is the original implementation, from Loki, and is not currently maintained.

OpenAL Soft

OpenAL Soft is an LGPL-licensed, cross-platform, software implementation. The library is meant as a compatible update/replacement to the deprecated OpenAL Sample Implementation, as well as a free alternative to the now-proprietary OpenAL. OpenAL Soft supports mono, stereo, 4-channel, 5.1, 6.1, and 7.1 output.

Rapture3D OpenAL Driver

The Rapture3D OpenAL Driver is a non-free, commercial, Windows only, software implementation made by Blue Ripple Sound. The library is intended as a high performance drop-in replacement for other implementations. It features:[4]

  • 32bit floating point audio path.
  • High quality sample rate conversion (used for various purposes including Doppler shift).
  • High quality effects and filters.
  • Directional sound sources.
  • Support for multi-channel sound sources (including assets encoded using Ambisonics).
  • The only limit on the number of sources or effects is CPU power, can render hundreds of sound sources and multiple effects on relatively old hardware.
  • Higher-order Ambisonics (HOA) bus running at up to fourth order.

See also

External links

References

  1. ^ Press release with regards to OpenAL
  2. ^ OpenAL - Platforms
  3. ^ OpenAL for OpenBSD
  4. ^ "Developers". Blue Ripple Sound Limited. 2009. http://www.blueripplesound.com/index.php?target=developers. Retrieved 2010-06-01. 

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • OpenAL — Entwickler Creative Technology Aktuelle Version 2.0.7.0 (Sommer 2009) Betriebssystem …   Deutsch Wikipedia

  • OpenAL — Тип API Автор Loki Software Разработчик …   Википедия

  • OpenAL — Développeur Creative Technology Dernière version 2.0.7 ( …   Wikipédia en Français

  • OpenAL — OpenAL(Open Audio Library) es una API de audio multiplataforma desarrollada por Creative Labs para el renderizado eficiente de audio posicional y multicanal en tres dimensiones. Está ideada para su uso en videojuegos y el estilo y convenciones… …   Wikipedia Español

  • OpenAL — significa Open Audio Library, lo que en castellano significa: Biblioteca Abierta de Audio. Pretende ser un extensión de OpenGL que provea herramientas para el manejo de audio …   Enciclopedia Universal

  • Java OpenAL — (JOAL) is one of several wrapper libraries that allows Java programmers to access OpenAL. This allows Java programmers to use 3D sound in applications. JOAL is one of the libraries developed by the Game Technology Group at Sun Microsystems. JOAL… …   Wikipedia

  • Environmental audio extensions — The environmental audio extensions (or EAX) are a number of digital signal processing presets for audio, present in Creative Labs later Sound Blaster sound cards and the Creative NOMAD/Creative Zen product lines. EAX displaced the alternative A3D …   Wikipedia

  • DirectSound — is a software component of the Microsoft DirectX library for the Windows operating system. DirectSound provides a low latency interface to the sound card driver and can handle the mixing and recording of multiple audio streams. Besides providing… …   Wikipedia

  • Environmental Audio Extensions — (EAX)  технология Creative Labs для создания звуковых эффектов окружающей среды, используемая в звуковых картах Sound Blaster и Creative NOMAD/Creative Zen. На данный момент последняя версия EAX 5.0 представлена в семействе звуковых карт X… …   Википедия

  • Environmental Audio Extensions — (EAX) ist ein von Creative Labs entwickeltes proprietäres System, das dazu dient, Umgebungsgeräusche in Computerspielen so real wie möglich erscheinen zu lassen. Da jedes Geräusch in verschiedenen Räumen durch Reflexionen an den Wänden etc.… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”