Viele von euch kennen sicher Dolby Headphone, CMSS-3D und andere Virtualisierer für Headsets, die über Kopfhörer den Eindruck von Surround Sound vermitteln sollen. Ich möchte euch hier OpenAL Soft vorstellen, das in diesem Zusammenhang wesentlich besser ist.
OpenAL Soft ist eine Open Source Alternative zu OpenAL (das seit längerem nicht mehr weiterentwickelt wird). OpenAL Soft ist unabhängig von der Soundkarte (alles wird in Software berechnet) und erweitert OpenAL um einige neue Features, bleibt dabei aber vollständig abwärtskompatibel ("drop-in replacement").
Für uns am interessantesten dürfte die Unterstützung von HRTF sein, das die Ortung in Spielen merklich verbessert. Während die anfangs erwähnten Virtualisierer HRTF-ähnliche Funktionen auf bspw. einen 7.1 Mix anwenden und die 8 Kanäle so platzieren, wie ein 7.1 System um den Hörer stehen würde, bezieht OpenAL Soft die Soundposition direkt aus der Engine und platziert den Soundeffekt exakt da, wo er auftritt. Das bedeutet, dass OpenAL Soft HRTF den Virtualisierern überlegen ist und bspw. in Shootern für echte Vorteile sorgt.
Das beste daran ist, dass OpenAL Soft das "normale" OpenAL einfach ersetzen kann und das Spiel für HRTF nicht speziell programmiert werden muss. Unterstützt ein Spiel OpenAL, läuft es auch mit OpenAL Soft und HRTF.
Ich rate jedem mit Kopfhörer, OpenAL Soft HRTF mal auszuprobieren, denn der Unterschied ist gewaltig.
Ein paar Spiele, die mit OpenAL laufen:
- Minecraft, Bioshock, Amnesia, Stalker, SWAT4, Unreal Tournament 2004
- Spiele, die DirectSound3D nutzen, mittels Directsound3D->OpenAL wrapper DSOAL (dieser ermöglicht nebenbei auch das Aktivieren von EAX Effekten ohne Creative Soundkarte)
- Viele Open Source Spiele (Bsp: 0 A. D., The Dark Mod, OpenArena, Rigs of Rods, FlightGear, Minetest, Spiele für die Spring RTS Engine)
- Ältere Spiele per Community Patch/Engine (NewDark für Thief 1,2/System Shock 2, OMP für Unreal Engine 1 basierte Spiele, FreeSpace 2 Open, OpenMW für Morrowind, OpenRA für Command&Conquer)
- Liste mit weiteren Spielen
Achtung: Die Nutzung von DSOAL und möglicherweise auch OpenAL Soft könnte bei Multiplayerspielen mit Anti-Cheat Software vielleicht zu Bans führen.
Installation:
Windows 32 Bit:
Windows 64 Bit:
- Vorweg: Von den 32/64 Bit Zahlen nicht verwirren lassen, das liegt an der Architektur von Windows, ich habe hier keinen Fehler gemacht
- Aktuelles Build von OpenAL Soft laden und soft_oal.dll aus bin\Win32 einmal als "OpenAL32.dll" und einmal als "wrap_oal.dll" nach C:\Windows\SysWOW64 verschieben (für 32 bit Spiele)
- soft_oal.dll aus bin\Win64 einmal als "OpenAL32.dll" und einmal als "wrap_oal.dll" nach C:\Windows\system32 verschieben (für 64 bit Spiele)
- Standard HRTF Tabellen (default*.mhr) aus hrtf in %appdata%\openal\hrtf ablegen
- Inhalt von alsoftrc.sample kopieren, in selbst erstellte alsoft.ini in %appdata% einfügen und mit Editor Zeile "#hrtf = auto" zu "hrtf = true" ändern (Raute entfernen!)
- Einige Spiele liefern eigene OpenAL32.dll/wrap_oal.dll in ihrem Verzeichnis mit. Diese müssen gelöscht werden, damit auf die OpenAL Soft dlls im Systemordner zugegriffen wird.
- Wer sicher sein will, dass OpenAL Soft und HRTF fehlerfrei funktionieren, schreibt dies in eine .bat Datei und führt sie aus, anschließend schaut er in openallog.txt:
Linux:
- Bei aktuellen Distributionen sollte HRTF automatisch aktiviert werden, wenn das Betriebssystem erkennt, dass ein Kopfhörer verwendet wird
- Wird der Kopfhörer nicht erkannt, kann HRTF durch Setzen von "hrtf = true" in ~/.alsoftrc erzwungen werden (Datei ggf. erstellen)
- Ob HRTF aktiv ist, kann durch Setzen der Umgebungsvariablen geprüft werden:
Für Fortgeschrittene:
Das HRTF Modell hängt von der Kopfform ab, weswegen die Ortung bei dem einen besser sein könnte als bei dem anderen. Die mitgelieferte HRTF Tabelle bezieht sich auf einen "Durchschnittskopf" und sollte bei jedem für akzeptable Ergebnisse sorgen. Es gibt bei OpenAL Soft aber die Möglichkeit, aus einer größeren Auswahl an HRTF Tabellen zu wählen und die beste für die eigene Kopfform zu finden. Für Interessierte gibt es hier eine gute (englische) Anleitung dafür:
HathNoro comments on [PSA] For games using OpenAL (including Minecraft and anything that runs on Linux) turn on HRTF audio processing!
Noch ein paar Hinweise:
- OpenAL Soft und speziell HRTF sind unabhängig von der Soundkarte
- EAX/EFX Effekte funktionieren weiterhin
- Nicht alle OpenAL unterstützenden Spiele nutzen OpenAL standardmäßig, bei einigen muss es in der Config aktiviert werden
- Andere Virtualisierer/Effekte sollten deaktiviert sein
- HRTF sollte nur für Kopfhörer aktiviert werden. Theoretisch könnte HRTF auch über Lautsprecher funktionieren, aber dafür gibt es meines Wissens nach zur Zeit keine passenden HRTF Tabellen, außerdem müssten die Lautsprecher dann an bestimmten Positionen stehen.
OpenAL Soft ist eine Open Source Alternative zu OpenAL (das seit längerem nicht mehr weiterentwickelt wird). OpenAL Soft ist unabhängig von der Soundkarte (alles wird in Software berechnet) und erweitert OpenAL um einige neue Features, bleibt dabei aber vollständig abwärtskompatibel ("drop-in replacement").
Für uns am interessantesten dürfte die Unterstützung von HRTF sein, das die Ortung in Spielen merklich verbessert. Während die anfangs erwähnten Virtualisierer HRTF-ähnliche Funktionen auf bspw. einen 7.1 Mix anwenden und die 8 Kanäle so platzieren, wie ein 7.1 System um den Hörer stehen würde, bezieht OpenAL Soft die Soundposition direkt aus der Engine und platziert den Soundeffekt exakt da, wo er auftritt. Das bedeutet, dass OpenAL Soft HRTF den Virtualisierern überlegen ist und bspw. in Shootern für echte Vorteile sorgt.
Das beste daran ist, dass OpenAL Soft das "normale" OpenAL einfach ersetzen kann und das Spiel für HRTF nicht speziell programmiert werden muss. Unterstützt ein Spiel OpenAL, läuft es auch mit OpenAL Soft und HRTF.
Ich rate jedem mit Kopfhörer, OpenAL Soft HRTF mal auszuprobieren, denn der Unterschied ist gewaltig.
Ein paar Spiele, die mit OpenAL laufen:
- Minecraft, Bioshock, Amnesia, Stalker, SWAT4, Unreal Tournament 2004
- Spiele, die DirectSound3D nutzen, mittels Directsound3D->OpenAL wrapper DSOAL (dieser ermöglicht nebenbei auch das Aktivieren von EAX Effekten ohne Creative Soundkarte)
- Viele Open Source Spiele (Bsp: 0 A. D., The Dark Mod, OpenArena, Rigs of Rods, FlightGear, Minetest, Spiele für die Spring RTS Engine)
- Ältere Spiele per Community Patch/Engine (NewDark für Thief 1,2/System Shock 2, OMP für Unreal Engine 1 basierte Spiele, FreeSpace 2 Open, OpenMW für Morrowind, OpenRA für Command&Conquer)
- Liste mit weiteren Spielen
Achtung: Die Nutzung von DSOAL und möglicherweise auch OpenAL Soft könnte bei Multiplayerspielen mit Anti-Cheat Software vielleicht zu Bans führen.
Installation:
Windows 32 Bit:
- Aktuelles Build von OpenAL Soft laden und soft_oal.dll aus bin\Win32 einmal als "OpenAL32.dll" und einmal als "wrap_oal.dll" nach C:\Windows\system32 verschieben
- Standard HRTF Tabellen (default*.mhr) aus hrtf in %appdata%\openal\hrtf ablegen
- Inhalt von alsoftrc.sample kopieren, in selbst erstellte alsoft.ini in %appdata% einfügen und mit Editor Zeile "#hrtf = auto" zu "hrtf = true" ändern (Raute entfernen!)
- Einige Spiele liefern eigene OpenAL32.dll/wrap_oal.dll in ihrem Verzeichnis mit. Diese müssen gelöscht werden, damit auf die OpenAL Soft dlls im Systemordner zugegriffen wird.
- Standard HRTF Tabellen (default*.mhr) aus hrtf in %appdata%\openal\hrtf ablegen
- Inhalt von alsoftrc.sample kopieren, in selbst erstellte alsoft.ini in %appdata% einfügen und mit Editor Zeile "#hrtf = auto" zu "hrtf = true" ändern (Raute entfernen!)
- Einige Spiele liefern eigene OpenAL32.dll/wrap_oal.dll in ihrem Verzeichnis mit. Diese müssen gelöscht werden, damit auf die OpenAL Soft dlls im Systemordner zugegriffen wird.
Windows 64 Bit:
- Vorweg: Von den 32/64 Bit Zahlen nicht verwirren lassen, das liegt an der Architektur von Windows, ich habe hier keinen Fehler gemacht
- Aktuelles Build von OpenAL Soft laden und soft_oal.dll aus bin\Win32 einmal als "OpenAL32.dll" und einmal als "wrap_oal.dll" nach C:\Windows\SysWOW64 verschieben (für 32 bit Spiele)
- soft_oal.dll aus bin\Win64 einmal als "OpenAL32.dll" und einmal als "wrap_oal.dll" nach C:\Windows\system32 verschieben (für 64 bit Spiele)
- Standard HRTF Tabellen (default*.mhr) aus hrtf in %appdata%\openal\hrtf ablegen
- Inhalt von alsoftrc.sample kopieren, in selbst erstellte alsoft.ini in %appdata% einfügen und mit Editor Zeile "#hrtf = auto" zu "hrtf = true" ändern (Raute entfernen!)
- Einige Spiele liefern eigene OpenAL32.dll/wrap_oal.dll in ihrem Verzeichnis mit. Diese müssen gelöscht werden, damit auf die OpenAL Soft dlls im Systemordner zugegriffen wird.
- Wer sicher sein will, dass OpenAL Soft und HRTF fehlerfrei funktionieren, schreibt dies in eine .bat Datei und führt sie aus, anschließend schaut er in openallog.txt:
Code:
set ALSOFT_LOGLEVEL=3
set ALSOFT_LOGFILE=openallog.txt
<Software/Spiel mit OpenAL Unterstützung>.EXE
Linux:
- Bei aktuellen Distributionen sollte HRTF automatisch aktiviert werden, wenn das Betriebssystem erkennt, dass ein Kopfhörer verwendet wird
- Wird der Kopfhörer nicht erkannt, kann HRTF durch Setzen von "hrtf = true" in ~/.alsoftrc erzwungen werden (Datei ggf. erstellen)
- Ob HRTF aktiv ist, kann durch Setzen der Umgebungsvariablen geprüft werden:
Code:
export ALSOFT_LOGLEVEL=3
export ALSOFT_LOGFILE=openallog.txt
# <Spiel von Konsole aus aufrufen>
cat openallog.txt # Logdatei anzeigen
Für Fortgeschrittene:
Das HRTF Modell hängt von der Kopfform ab, weswegen die Ortung bei dem einen besser sein könnte als bei dem anderen. Die mitgelieferte HRTF Tabelle bezieht sich auf einen "Durchschnittskopf" und sollte bei jedem für akzeptable Ergebnisse sorgen. Es gibt bei OpenAL Soft aber die Möglichkeit, aus einer größeren Auswahl an HRTF Tabellen zu wählen und die beste für die eigene Kopfform zu finden. Für Interessierte gibt es hier eine gute (englische) Anleitung dafür:
HathNoro comments on [PSA] For games using OpenAL (including Minecraft and anything that runs on Linux) turn on HRTF audio processing!
Noch ein paar Hinweise:
- OpenAL Soft und speziell HRTF sind unabhängig von der Soundkarte
- EAX/EFX Effekte funktionieren weiterhin
- Nicht alle OpenAL unterstützenden Spiele nutzen OpenAL standardmäßig, bei einigen muss es in der Config aktiviert werden
- Andere Virtualisierer/Effekte sollten deaktiviert sein
- HRTF sollte nur für Kopfhörer aktiviert werden. Theoretisch könnte HRTF auch über Lautsprecher funktionieren, aber dafür gibt es meines Wissens nach zur Zeit keine passenden HRTF Tabellen, außerdem müssten die Lautsprecher dann an bestimmten Positionen stehen.
Zuletzt bearbeitet: