OpenAL
OpenAL (Open Audio Library) ist eine plattformunabhängige 3D Audio-API. Sie ist das Sound-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 Audioquellen im 3D-Raum vor. Implementierungen sind zudem in der Lage Lautstärke und Tonhöhe jeder Audioquelle zu verändern und zudem den Dopplereffekt zu simulieren.
Die OpenAL-Spezifikation wurde von Creative herausgegeben und ist als direkter Konkurent zu Microsoft's Direct Sound zu sehen. Ähnlich OpenGL ist eine Schnittstelle zum Einfügen von Erweiterungen vorgesehen.
Neben Hardwarebeschleunigten implementierungen der Bibliothek finden sich auch zahlreiche Softwarerenderer, zum Beispiel OpenAL-Soft. OpenAL ist leicht auf verschiedene Plattformen zu portieren 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 hardwarebeschleunigtes 3D-Audio auszugeben, jedoch ist nur für bestimmte, teure Soundkarten eine entsprechende Hardwareunterstützung vorhanden. Für die meisten (OnBoard-)Soundkarten bildet OpenAL lediglich eine weitere Abstrahierungsschicht vor weiteren Audiobibliotheken wie WaveOut, DirectSound, ALSA, PulseAudio, OSS etc. Dies ist nicht unbedingt der Latenzzeit zuträglich.
Alternativen
- DirectSound - von Microsoft entwickelte Schnittstelle für die Ausgabe von (3D-)Audio, nur unter Windows lauffähig
- SDL beinhaltet ebenfalls eine Bibliothek zur Audioausgabe
- Audorra - eine Plattformübergreifende Audiobibliothek für Pascal (noch in der Entwicklung)