Content deleted Content added
No edit summary Tags: Reverted Visual edit Mobile edit Mobile web edit |
Mindmatrix (talk | contribs) m Reverted edit by 2409:4051:2E19:71B7:E100:B428:61B3:2B5D (talk) to last version by Comp.arch |
||
(28 intermediate revisions by 8 users not shown) | |||
Line 1:
{{Short description|API for rendering audio}}
{{
{{more citations needed|date=September 2015}}
{{Infobox software
|name = OpenAL
Line 13 ⟶ 11:
|author = [[Loki Software]]
|developer = [[Creative Technology]]
|latest release version = 1.1 (installer 2.1.0.0)<ref>{{cite web |title=
|latest release date = {{Start date and age|2009|11}}
|programming language = [[C (programming language)|C]]
|operating system = {{No wrap|15 operating systems<br />See: [[#Supported platforms|Supported platforms]]}}
|genre = [[Application programming interface]]
|license =
* "OpenAL" trademark: unclear, held by Creative Labs, Inc.
}}
'''OpenAL''' ('''Open Audio Library''') is a [[cross-platform]] audio [[application programming interface]] (API). It is designed for efficient rendering of multichannel three-dimensional positional audio. Its API style and conventions deliberately resemble those of [[OpenGL]]. OpenAL is an environmental [[3D audio effect|3D audio]] library, which can add realism to a game by simulating [[Acoustic attenuation|attenuation]] (degradation of sound over distance), the [[Doppler effect]] (change in frequency as a result of motion), and material densities
OpenAL aimed to originally be an [[open standard]] and [[open-source software|open-source]] replacement for [[proprietary software|proprietary]] (and generally incompatible with one another) 3D audio APIs such as [[DirectSound]] and [[Core Audio]], though in practice has largely been implemented on various platforms as a [[Wrapper library|wrapper]] around said proprietary APIs or as a proprietary and vendor-specific fork. While the [[reference implementation]] later became proprietary and unmaintained, there are open source implementations such as [[#Implementations|OpenAL Soft]] available.
OpenAL was originally developed in 2000 by [[Loki Software]] to help them in their business of [[porting]] [[Microsoft Windows|Windows]] games to [[Linux]].<ref>{{cite press release|url=http://linux.omnipotent.net/article.php?article_id=7626 |title=Press release with regards to OpenAL}}</ref> After the demise of Loki, the project was maintained for a time by the [[free software community|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 Computer|Apple]],<ref>{{Cite web|url=https://opensource.apple.com/tarballs/OpenAL/|title=Source Browser}}</ref> Blue Ripple Sound via their Rapture3D OpenAL Driver,<ref>{{Cite web|url=http://www.blueripplesound.com/gaming|title = Gaming and VR}}</ref> and individual open-source developers.▼
==History==
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.▼
▲OpenAL was originally developed in 2000 by [[Loki Software]] to help them in their business of [[porting]] [[Microsoft Windows|Windows]] games to [[Linux]].<ref>{{cite press release |url=http://linux.omnipotent.net/article.php?article_id=7626 |title=Press release with regards to OpenAL |access-date=2011-07-18 |archive-date=2016-03-06 |archive-url=https://web.archive.org/web/20160306095132/http://linux.omnipotent.net/article.php?article_id=7626 |url-status=dead }}</ref> After the demise of Loki, the project was maintained for a time by the [[free software community|free software]]/[[open source community]], and implemented on [[NVIDIA]] nForce sound cards and motherboards. It
Since 1.1 (2009), the sample implementation by Creative has turned proprietary
▲While the OpenAL charter says that there will be an "Architecture Review Board" (ARB) modeled on the OpenGL ARB,{{cn|date=April 2023}} no such organization has ever been formed and the OpenAL specification is generally handled and discussed via email on its public mailing list.
The original mailing list, openal-devel hosted by Creative, ran from March 2003 to circa August 2012.<ref>{{cite web |title=Wayback Machine prefix query: openal-devel archive |url=https://web.archive.org/web/*/http://opensource.creative.com/pipermail/openal-devel/* |access-date=25 April 2023}}</ref> Ryan C. Gordon, a Loki veteran who went on to develop [[Simple DirectMedia Layer]], started a new mailing list and website at OpenAL.org in January 2014.<ref>{{cite web |title=The openal January 2014 Archive by thread |url=https://openal.org/pipermail/openal/2014-January/thread.html |website=openal.org}}</ref> As of February 2023, the list remains in use.
==API structure and functionality==
Line 47 ⟶ 51:
==Supported platforms==
The API is available on the following [[computing platform
Supported gaming devices are for instance: [[GameCube]], [[PlayStation 2]], [[PlayStation 3]], [[Xbox (console)|Xbox]], [[Xbox 360]], [[Wii]], and [[PlayStation Portable]].
Line 58 ⟶ 62:
* ''[[0 A.D. (video game)|0 A.D.]]''<ref>{{cite web|title=Overview |url=http://www.play0ad.com/page.php?c=46 |work=0 A.D. Game Info |publisher=Wildfire Games |access-date=December 5, 2012 |archive-url=https://web.archive.org/web/20130926184253/http://play0ad.com/2012/12/ |archive-date=September 26, 2013 |url-status=dead }}</ref>
* ''[[Alpha Protocol]]''
* ''[[America's Army: Operations]]''<ref name="openalwiki">{{cite web|title=Games |website=OpenAL
*''[[American Truck Simulator]]''<ref name="scsforum">{{cite web|url=https://forum.scssoft.com/viewtopic.php?t=273087#p1160746|title=SCS Software forum|access-date=June 5, 2019|archive-url=https://web.archive.org/web/20190605144436/https://forum.scssoft.com/viewtopic.php?t=273087|archive-date=June 5, 2019|url-status=live}}</ref>
*''[[Amnesia: The Dark Descent]]''<ref>{{cite web|url=http://www.moddb.com/engines/hpl|title=HPL Engine – Mod DB|access-date=November 20, 2012}}</ref>
Line 76 ⟶ 80:
*''[[Mari0]]''{{r|openalwiki}}
*''[[Mass Effect (video game)]]''<ref>{{cite web|url=http://www.blueripplesound.com/compatible-games |title=Blue Ripple Sound | access-date=September 23, 2017}}</ref>
*''[[Minecraft]]'' (through [[LWJGL]])
*''[[OpenArena]]''{{r|openalwiki}}
*''[[Orbz]]''{{r|openalwiki}}
Line 108 ⟶ 112:
==Implementations==
;OpenAL SI
;OpenAL Soft
;AeonWave-OpenAL
;Rapture3D OpenAL Driver
:* 32bit floating point audio path.
:* High quality sample rate conversion (used for various purposes including Doppler shift).
:* High quality effects and filters.
:* 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.
:* [[Ambisonics#Higher-order Ambisonics|Higher-order Ambisonics]] (HOA) bus running at up to fourth order.
;Apple OpenAL<ref name=apple-oss>{{Cite web|url=https://opensource.apple.com/tarballs/OpenAL/|title=Source Browser}}</ref>
:Apple ships an implementation of OpenAL in macOS and iOS. It is a very thin layer over the 3D Mixer (kAudioUnitSubType_3DMixer) feature in the operating system. This implementation was originally written by Ryan C. Gordon for Altivec Mac OS X systems.<ref>{{cite web |title=An OpenAL implementation for MacOS X |url=https://icculus.org/al_osx/ |website=icculus.org}}</ref>
;MojoAL
:Tiny (single-file), full OpenAL 1.1 implementation built on top of [[Simple DirectMedia Layer|SDL2]] by Ryan C. Gordon.<ref>{{cite web |title=MojoAL |url=https://icculus.org/mojoAL/ |website=icculus.org}}</ref>
==See also==
{{Portal|Free and open-source software}}
* [[OpenCL]]
* [[Khronos Group|OpenML]]
* [[OpenMAX AL]]
* [[FMOD]]
* [[Java OpenAL]]
* [[Irrlicht engine extensions#irrKlang|irrKlang]]
* [[Lightweight Java Game Library]]
* [[Web Audio]] – defines an API similar in some ways to OpenAL
==References==
Line 137 ⟶ 146:
==External links==
* [https://openal.org
* [http://www.openal-soft.org/ OpenAL Soft]▼
Implementations:
* [https://web.archive.org/web/20040803034419/http://www.devmaster.net/articles.php?catID=6 DevMaster.net OpenAL Tutorials] (Note: these tutorials are showing their age slightly by, for instance, using deprecated functions such as alutLoadWAVFile) {{Dead link|date=January 2016}}▼
* [
* [https://www.blueripplesound.com/index.php?target=technology Rapture3D] advanced OpenAL 1.1 driver
* [https://conan.io/center/openal/1.19.1/ OpenAL package for C++]▼
Developer resources:
▲* [https://web.archive.org/web/20040803034419/http://www.devmaster.net/articles.php?catID=6 DevMaster.net OpenAL Tutorials] (Note: these tutorials are showing their age slightly by, for instance, using deprecated functions such as alutLoadWAVFile)
* [https://github.com/Raulshc/OpenAL-EXT-Repository OpenAL extension repository] (maintained by Raulshc as of 2023; with table of supported extensions per implementation)
{{Creative Technology}}
Line 150 ⟶ 164:
[[Category:Computer libraries]]
[[Category:Cross-platform software]]
[[Category:Formerly open-source or free software]]
[[Category:Linux APIs]]
[[Category:Video game engines]]
|