OpenAL

Aus DGL Wiki
Wechseln zu: Navigation, Suche

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.

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 Microsoft's 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 - 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)

Siehe auch