OpenAL
Encyclopedia
OpenAL is a cross-platform audio API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

. It is designed for efficient rendering of multichannel three dimensional positional audio. Its API style and conventions deliberately resemble those of OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

.

History

OpenAL was originally developed in 2000 by Loki Software
Loki Software
Loki Software, Inc. was a software firm based in Tustin, California, United States, that ported several video games from Microsoft Windows to Linux...

 to help them in their business of porting Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 games to Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

. After the demise of Loki, the project was maintained for a time by the free software
Free software community
The free-software community is an informal term that refers to the users and developers of free software as well as supporters of the free-software movement. The movement is sometimes referred to as the open-source software community or a subset thereof...

/open source community, and implemented on NVIDIA
NVIDIA
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...

 nForce sound cards and motherboards. It is now hosted (and largely developed) by Creative Technology
Creative Technology
Creative Technology Ltd. is a Singapore-based global company headquartered in Jurong East, Singapore. The principal activities of the company and its subsidiaries consist of the design, manufacture and distribution of digitized sound and video boards, computers and related multimedia, and personal...

 with on-going support from Apple
Apple Computer
Apple Inc. is an American multinational corporation that designs and markets consumer electronics, computer software, and personal computers. The company's best-known hardware products include the Macintosh line of computers, the iPod, the iPhone and the iPad...

, Blue Ripple Sound, and free software, open-source enthusiasts.

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
Pulse-code modulation
Pulse-code modulation is a method used to digitally represent sampled analog signals. It is the standard form for digital audio in computers and various Blu-ray, Compact Disc and DVD formats, as well as other uses such as digital telephone systems...

 format, either 8- or 16-bit, in either monaural
Monaural
Monaural or monophonic sound reproduction is single-channel. Typically there is only one microphone, one loudspeaker, or channels are fed from a common signal path...

 or stereo
STEREO
STEREO is a solar observation mission. Two nearly identical spacecraft were launched into orbits that cause them to respectively pull farther ahead of and fall gradually behind the Earth...

 format. The rendering engine performs all necessary calculations as far as distance attenuation, Doppler effect
Doppler effect
The Doppler effect , named after Austrian physicist Christian Doppler who proposed it in 1842 in Prague, is the change in frequency of a wave for an observer moving relative to the source of the wave. It is commonly heard when a vehicle sounding a siren or horn approaches, passes, and recedes from...

, 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
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

: 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
OpenGL Utility Toolkit
The OpenGL Utility Toolkit is a library of utilities for OpenGL programs, which primarily perform system-level I/O with the host operating system. Functions performed include window definition, window control, and monitoring of keyboard and mouse input...

'.

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
Environmental audio extensions
The environmental audio extensions are a number of digital signal processing presets for audio, present in Creative Technology's later Sound Blaster sound cards and the Creative NOMAD/Creative ZEN product lines...

 (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
Speed of sound
The speed of sound is the distance travelled during a unit of time by a sound wave propagating through an elastic medium. In dry air at , the speed of sound is . This is , or about one kilometer in three seconds or approximately one mile in five seconds....

 is used for the Doppler effect
Doppler effect
The Doppler effect , named after Austrian physicist Christian Doppler who proposed it in 1842 in Prague, is the change in frequency of a wave for an observer moving relative to the source of the wave. It is commonly heard when a vehicle sounding a siren or horn approaches, passes, and recedes from...

 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
Platform (computing)
A computing platform includes some sort of hardware architecture and a software framework , where the combination allows software, particularly application software, to run...

:

Operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s:
  • AmigaOS
    AmigaOS
    AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000...

     3.x
  • BSD
  • GNU
    GNU
    GNU is a Unix-like computer operating system developed by the GNU project, ultimately aiming to be a "complete Unix-compatible software system"...

    /Linux
    Linux
    Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

    , for OSS
    Open Sound System
    The Open Sound System is an interface for making and capturing sound in Unix or Unix-like operating systems. It is based on standard Unix devices...

     and ALSA
    ALSA (Linux)
    Advanced Linux Sound Architecture is a software framework providing an API for device drivers for sound cards. As such, it is a Linux kernel component. Some of the goals of the ALSA project at its inception were automatic configuration of sound-card hardware, and graceful handling of multiple...

     backends
  • iOS
  • IRIX
    IRIX
    IRIX is a computer operating system developed by Silicon Graphics, Inc. to run natively on their 32- and 64-bit MIPS architecture workstations and servers. It was based on UNIX System V with BSD extensions. IRIX was the first operating system to include the XFS file system.The last major version...

  • Mac OS
    Mac OS
    Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...

     8
    Mac OS 8
    Mac OS 8 is an operating system that was released by Apple Computer on July 26, 1997. It represented the largest overhaul of the Mac OS since the release of System 7, some six years previously. It puts more emphasis on color than previous operating systems...

    /9
    Mac OS 9
    Mac OS 9 is the final major release of Apple's Mac OS before the launch of Mac OS X. Introduced on October 23, 1999, Apple positioned it as "The Best Internet Operating System Ever," highlighting Sherlock 2's Internet search capabilities, integration with Apple's free online services known as...

  • Mac OS X
    Mac OS X
    Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

  • Microsoft Windows
    Microsoft Windows
    Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

  • MorphOS
    MorphOS
    MorphOS is an Amiga-compatible computer operating system. It is a mixed proprietary and open source OS produced for the Pegasos PowerPC processor based computer, PowerUP accelerator equipped Amiga computers, and a series of Freescale development boards that use the Genesi firmware, including the...

  • OpenBSD
    OpenBSD
    OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...

  • Solaris


Video game console
Video game console
A video game console is an interactive entertainment computer or customized computer system that produces a video display signal which can be used with a display device to display a video game...

s:
  • Xbox
    Xbox
    The Xbox is a sixth-generation video game console manufactured by Microsoft. It was released on November 15, 2001 in North America, February 22, 2002 in Japan, and March 14, 2002 in Australia and Europe and is the predecessor to the Xbox 360. It was Microsoft's first foray into the gaming console...

  • Xbox 360
    Xbox 360
    The Xbox 360 is the second video game console produced by Microsoft and the successor to the Xbox. The Xbox 360 competes with Sony's PlayStation 3 and Nintendo's Wii as part of the seventh generation of video game consoles...



Handheld game console
Handheld game console
A handheld game console is a lightweight, portable electronic device with a built-in screen, game controls and speakers. Handheld game consoles are run on machines of small size allowing people to carry them and play them at any time or place...

s:
  • PlayStation Portable
    PlayStation Portable
    The is a handheld game console manufactured and marketed by Sony Corporation Development of the console was announced during E3 2003, and it was unveiled on , 2004, at a Sony press conference before E3 2004...


Games

  • Armed Assault
    Armed Assault
    ArmA: Armed Assault , also known as ARMA: Combat Operations in North America, is a tactical military first- and third-person shooter which was developed by a 40 member team at Bohemia Interactive , an independent game developer based in the Czech Republic.ARMA is the spiritual successor to...

     by Bohemia Interactive Studio
    Bohemia Interactive Studio
    Bohemia Interactive , also referred to as Bohemia Interactive Studio , is an independent computer and console game developer based in Prague, Czech Republic...

  • Regnum Online
    Regnum Online
    Regnum Online is a fantasy massively multiplayer online role-playing game developed by NGD Studios, a game development studio located in Argentina. This game is also known as "Realms Online" in America...

     by NGD Studios
    NGD Studios
    NGD Studios is a game development company located in Buenos Aires, Argentina. They started as a three group fusion and were the creators of an acclaimed game for a construction kit toy called Mis Ladrillos, which is similar to Lego toys....

  • Some third party id Tech 3 engine-based games such as Jedi Knight 2 and Jedi Knight 3; also, ioquake3-based games can optionally use OpenAL when available, such as Tremulous
    Tremulous
    Tremulous is a free and open source team-based first-person shooter with real-time strategy elements.The game features two opposing teams: humans and aliens. Each team must attack the enemy's base and team members, while defending their own base...

    and OpenArena
    OpenArena
    OpenArena is a free and open source first-person shooter computer game based heavily on the Quake III Arena style deathmatch. The OpenArena project was established on August 19, 2005, the day after the id Tech 3 GPL source code release...

  • id Tech 4 engine-based games such as Doom 3
    Doom 3
    Doom 3 is a science fiction horror video game developed by id Software and published by Activision. An example of the first-person shooter genre, Doom 3 was first released for Microsoft Windows on August 3, 2004. The game was later adapted for Linux, as well as being ported by Aspyr Media for Mac...

    , Enemy Territory: Quake Wars
    Enemy Territory: Quake Wars
    Enemy Territory: Quake Wars is a first-person shooter video game, and is the follow-up to the 2005 title Quake 4. It is also the first game in the series to be rated T by the ESRB...

    , Wolfenstein, Quake 4
    Quake 4
    Quake 4 is the fourth title in the series of Quake first-person shooter computer games. The game was developed by Raven Software and published by Activision. Raven Software has collaborated with id Software, the creators and historical developers of preceding Quake games...

    , Prey
    Prey (video game)
    Prey is a first-person shooter video game developed by Human Head Studios , and published by 2K Games. The Xbox 360 version was ported by Venom Games. The game was initially released in North America and Europe on 11 July 2006...

  • Unreal Engine 2 and Unreal Engine 3
    Unreal Engine 3
    Unreal Engine 3 is a computer game engine developed by Epic Games. It is the third generation of Unreal Engine, designed for DirectX 9/10/11 personal computers , the Xbox 360, the PlayStation 3, the PlayStation Vita, the Wii U, Android and OpenGL-based operating systems such as iOS and Mac OS X...

    -based games such as Unreal II: The Awakening
    Unreal II: The Awakening
    Unreal II: The Awakening is a first-person shooter video game, designed initially only for a single-player campaign. The game is part of the Unreal series. It was developed by the now defunct Legend Entertainment, published by Atari and released on February 4, 2003 for Microsoft Windows...

    , Unreal Tournament 2003
    Unreal Tournament 2003
    Unreal Tournament 2003 or UT2003 is a first-person shooter video game designed mainly for multiplayer gaming. The game is part of the Unreal franchise's series of games, and is a sequel to Unreal Tournament ....

    , Unreal Tournament 2004
    Unreal Tournament 2004
    Unreal Tournament 2004, also known as UT2K4 and UT2004, is a futuristic first-person shooter computer game developed by Epic Games and Digital Extremes...

    , Unreal Tournament 3, Postal²
    Postal 2
    Postal 2 is a first-person shooter video game by Running with Scissors, and it is the sequel to the 1997 game Postal. Both are intentionally highly controversial due to high levels of violence and stereotyping. Unlike its predecessor, Postal 2 is played completely in first-person based on the...

    , Bioshock
    Bioshock
    BioShock is a first-person shooter video game developed by 2K Boston and designed by Ken Levine. It was released for Microsoft Windows and Xbox 360 on August 21, 2007 in North America, and three days later in Europe and Australia. It became available on Steam on August 21, 2007...

    , and America's Army
    America's Army
    America's Army is a series of video games and other media developed by the United States Army and released as a global public relations initiative to help with recruitment. America's Army was conceived by Colonel Casey Wardynski and is managed by the U.S...

  • Battlefield 2
    Battlefield 2
    Battlefield 2 is a computer game by the Swedish developer Digital Illusions CE . During development, Trauma Studios contributed to the development of the game after it was acquired by DICE...

    , Battlefield 2142
    Battlefield 2142
    Battlefield 2142 is a first-person shooter video game developed by Digital Illusions CE and produced by Electronic Arts . It is the fourth game in the Battlefield series...

    , Freedom Fighters
    Freedom Fighters (video game)
    Freedom Fighters, originally titled Freedom: The Battle For Liberty Island, is a 2003 third-person shooter video game available for the PlayStation 2, Nintendo GameCube, Xbox and Microsoft Windows that is set in an alternate history...

    , Hitman
    Hitman (computer game series)
    Hitman is a stealth game series developed by the Danish company IO Interactive. The series is available on PC as well as several video game consoles, including the Nintendo GameCube, PlayStation 2, Xbox, and Xbox 360. The game series has since expanded into a novel, Hitman: Enemy Within written by...

    , Psychonauts
    Psychonauts
    Psychonauts is a platform video game created by Tim Schafer, developed by Double Fine Productions and published by Majesco. The game was released on April 19, 2005, for the Xbox, April 26 for Microsoft Windows and June 21 for PlayStation 2. It was released on Steam on Oct 11, 2006, as an "Xbox...

    , Colin McRae: DiRT
    Colin McRae: Dirt
    Colin McRae: Dirt has received largely positive reviews, IGN UK and U.S. awarding it a 9.0 and a 8.4, respectively. It has also received 9.0 from Official Xbox Magazine, 8.3 from GameSpot for the Xbox 360 and PC versions and 8.5 for the PlayStation 3 version, and 8 from Edge...

    , Penumbra: Black Plague
    Penumbra: Black Plague
    Penumbra: Black Plague is the second installment of the Penumbra series of episodic computer games developed by Swedish developer Frictional Games. The story continues from the previous episode, Penumbra: Overture, showing the protagonist Philip moving away from the abandoned mine setting of the...

    , Race Driver: GRID
    Race Driver: GRID
    Race Driver: Grid is the most recent addition to the TOCA Touring Car series, which is published and developed by Codemasters...

    , Colin McRae: Dirt 2
    Colin McRae: Dirt 2
    Colin McRae: Dirt 2 is a racing game released in September 2009, and is the sequel to Colin McRae: Dirt. This is the first game in the McRae series since McRae's death in 2007. It was announced on 19 November 2008 and features Ken Block, Travis Pastrana, Tanner Foust, and Dave Mirra...

    , Wurm Online
    Wurm Online
    Wurm Online is a 3D MMO produced by Code Club AB in Sweden that allows players to choose between a PvP game and a non-PvP game based on different servers. Development started in 2003 by friends Markus Persson , and Rolf Jannson.-Gameplay:...

    , Kane & Lynch: Dead Men
    Kane & Lynch: Dead Men
    Kane & Lynch: Dead Men is a cooperative third-person shooter developed by IO Interactive and published by Eidos Interactive for Microsoft Windows, PlayStation 3 and Xbox 360. The mobile phone version was developed by Kiloo and published by Eidos Mobile...

    , Kane & Lynch 2: Dog Days
    Kane & Lynch 2: Dog Days
    Kane & Lynch 2: Dog Days is a video game developed by IO Interactive, published by Eidos Interactive under Square Enix available on Microsoft Windows, PlayStation 3 and Xbox 360. It is the sequel to Kane & Lynch: Dead Men...

    , S.T.A.L.K.E.R., and Osmos
    Osmos
    Osmos is a puzzle video game developed by Canadian developer Hemisphere Games for different systems as Microsoft Windows, Mac OS X, Linux, iPad, iPhone and iPod Touch. The game was made available on Steam on 17 August 2009. The Android port was also hinted to be in development...

    .
  • Many free software, open-source games also use OpenAL. Some examples include FlightGear
    FlightGear
    FlightGear Flight Simulator is a free, open-source multi-platform flight simulator developed by the FlightGear project since 1997....

    , War§ow
    War§ow
    Warsow is a multiplayer first-person shooter computer game first publicly released on June 8, 2005. The game is in active development.Warsow’s codebase is free and open source software, distributed under the terms of the GPL; it is built upon Qfusion, an advanced modification of the Quake II engine...

    , and Warzone 2100
    Warzone 2100
    Warzone 2100 is an open source real-time strategy and real-time tactics hybrid computer game, originally developed by Pumpkin Studios and published by Eidos Interactive...


Other applications

  • Blender
    Blender (software)
    Blender is a free and open-source 3D computer graphics software product used for creating animated films, visual effects, interactive 3D applications or video games. The current release version is 2.60, and was released on October 19, 2011...

     - 3D modelling and rendering tool uses OpenAL for its built in game engine.
  • 3DMark06 - Gamer's benchmarking tool.
  • Dolphin (emulator)
    Dolphin (emulator)
    Dolphin is an open-source Nintendo GameCube, Wii, and Triforce emulator for Microsoft Windows, Linux, and Mac OS X . It is the first emulator to successfully run commercial Nintendo GameCube and Wii games and is the only emulator capable of running commercial Wii games...

     - Gamecube and Wii emulator

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

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
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...

, 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:
  • 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
    Ambisonics
    Ambisonics is a series of recording and replay techniques using multichannel mixing technology that can be used live or in the studio. By encoding and decoding sound information on a number of channels, a 2-dimensional or 3-dimensional sound field can be presented...

    ).
  • 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

  • Environmental audio extensions
    Environmental audio extensions
    The environmental audio extensions are a number of digital signal processing presets for audio, present in Creative Technology's later Sound Blaster sound cards and the Creative NOMAD/Creative ZEN product lines...

  • OpenGL
    OpenGL
    OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

  • GLUT
    OpenGL Utility Toolkit
    The OpenGL Utility Toolkit is a library of utilities for OpenGL programs, which primarily perform system-level I/O with the host operating system. Functions performed include window definition, window control, and monitoring of keyboard and mouse input...

  • OpenSL ES
    OpenSL ES
    OpenSL ES is a royalty-free,cross-platform, hardware-accelerated,C-language audio API for 2D and 3D audio.It provides access to features such as 3D positional audio and MIDI playback....

  • OpenCL
    OpenCL
    OpenCL is a framework for writing programs that execute across heterogeneous platforms consisting of CPUs, GPUs, and other processors. OpenCL includes a language for writing kernels , plus APIs that are used to define and then control the platforms...

  • OpenML
    OpenML
    Open Media Library is a free, cross-platform programming environment designed by the Khronos Group for capturing, transporting, processing, displaying, and synchronizing digital media .-See also:* SDL* Allegro* ClanLib* OpenGL* OpenAL* PLIB-External links:* *...

  • FMOD
    FMOD
    FMOD is a proprietary audio library made by Firelight Technologies that plays music files of diverse formats on many different operating system platforms, used in games and software applications to provide audio functionality....

  • irrKlang

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK