OpenAL
OpenAL (Open Audio Library) ist eine plattformunabhängige 3D Audio-API. Sie ist das Audio-Pendant zu OpenGL und somit die offene Konkurrenz zu DirectSound.
Dieses Wiki verfügt über eine deutschsprachige Übersetzung der OpenAL-Spezifikation. Diese ist unter OpenAL-Funktionsübersicht zu finden.
Inhaltsverzeichnis
Spezifikation
Ähnlich OpenGL, handelt es sich bei OpenAL lediglich um die Spezifikation einer Schnittstelle. Diese sieht unter anderem das Positionieren von Soundquellen im 3D-Raum vor. OpenAL ist zudem in der Lage, Lautstärke und Tonhöhe jeder Soundquelle zu verändern und zudem den Dopplereffekt zu simulieren.
Die OpenAL-Spezifikation wurde von Creative herausgegeben und ist als direkter Konkurrent zu Microsofts Direct Sound zu sehen. Ähnlich OpenGL ist eine Schnittstelle zur Benutzung von Erweiterungen vorhanden.
Neben hardwarebeschleunigten Implementierungen der Schnittstelle finden sich auch zahlreiche Softwarerenderer, zum Beispiel OpenAL Soft. OpenAL ist plattformunabhängig und es existieren Bindings für verschiedene Programmiersprachen.
OpenAL wird bereits in zahlreichen Spieletiteln verwendet.
Vor- und Nachteile
Zwar bietet OpenAL meist (unter Windows >= Vista) die einzige Möglichkeit, hardwarebeschleunigten 3D-Sound auszugeben, jedoch ist noch bei weitem nicht für jede Soundkarte eine direkte hardwarebeschleunigte Ausgabe verfügbar. Für die meisten (OnBoard-)Soundkarten bildet OpenAL eine weitere Abstraktionsschicht über weiteren Audioschnittstellen wie WaveOut, DirectSound, ALSA, PulseAudio, OSS etc. Dies ist nicht unbedingt der Latenzzeit zuträglich, in der Praxis jedoch vernachlässigbar.
Ein wichtiger Vorteil ist die Portabilität von OpenAL, denn im Gegensatz zu Microsofts DirectSound ist OpenAL nicht nur unter Windows, sondern auch auf zahlreichen anderen Betriebssystemen und Plattformen vertreten.
Alternativen
- DirectSound ist eine von Microsoft entwickelte Schnittstelle für die Ausgabe von (3D-)Audio, aber nur unter Windows lauffähig.
- SDL beinhaltet ebenfalls eine Bibliothek zur Audioausgabe.
- Audorra - eine plattformübergreifende Audiobibliothek für Pascal (noch in der Entwicklung)