IRCAM Ordnerstruktur:
In den HRIR Ordnern liegt jeweils eine `IRC_<number>_R_HRIR.mat` Datei. In den `IRC_<number>_R` Ordnern liegen zahlreiche wav Dateien.
Meine Erfahrung mit IRCAM-HRTFs war mittelmäßig. So habe ich dort zwar einen mehr oder weniger runden Kreis mit dem richtigen Preset hören können, aber ingame konnte ich Objekte zwischen Positionen "springen" hören. Deswegen nutze ich wieder das Standard-HRTF Set, das mit OpenAL Soft geliefert wird. Dieses scheint höher aufgelöst zu sein.
Ich behaupte einfach mal, dass die meisten Spiele mit DirectSound3D oder OpenAL Höheninformationen liefern. Was die Unreal Engine 1 angeht, so gibt es dafür einen Community Patch, der Unterstützung für OpenAL hinzufügt und meiner Erinnerung nach Höheninformationen bietet.
Man kann eigene Matrizen für Ambisonics mit der Ambisonics Decoding Toolbox erstellen. Ambisonics funktioniert unter Linux prinzipiell mit beliebig vielen Lautsprechern in beliebiger Aufstellung. Allerdings ist es technisch aufwendig, das einzurichten. In diesem Guide gibt es mehr Infos. Für die Zukunft hoffe ich darauf, dass es dank MPEG-H einfacher werden könnte.
Surround Systeme mit mehr als 7.1 Lautsprechern könnten mit OpenAL etwas anders eventuell auch unter Windows funktionieren, aber da bin ich mir nicht sicher. Wichtig ist, dass man einen Audioserver wie JACK oder Pipewire nutzen muss, damit man beliebig viele Audiokanäle routen und ausgeben kann. Prinzipiell funktioniert das so: OpenAL rendert in Ambisonics und reicht das Ergebnis an ambdec weiter. Dieses berechnet aus dem Ambisonics Signal die einzelnen Signale für die konfigurierte Anzahl an Lautsprechern. Diese Lautsprechersignale werden von ambdec an den Audioserver weitergegeben. Der Audioserver routet diese Signale dann auf Audioausgänge. So könnte man mehrere Soundkarten gleichzeitig nutzen, um z.B. mehr als die üblichen 7.1 Signale ausgeben zu können.
Unter Windows könnte es vielleicht mit ASIO funktionieren.
Die im Video gezeigte Virtualisierung von 7.1 Surround Sound für Kopfhörer ließ sich meines Wissens nach vor Pipewire (neuer Audioserver) auch schon mit Pulseaudio (Vorgänger) erreichen. Allerdings muss ich gestehen, dass ich sie nie ausprobiert habe.
Dynamischen Raumklang, d.h. mit Echtzeitberechnung gibt es leider selten abseits von ein paar Forschungsprojekten wie GSOUND. Es gibt allerdings Mods für die GZDoom Engine (LiveReverb) und Minecraft (Sound Physics Remastered), die Echtzeit-Reverb integrieren. Bei OpenArena gab es auch mal einen Versuch, das zu integrieren. Vermutlich gibt es auch noch ein paar Implementierungen in anderen Spielen. Für Hinweise wäre ich dankbar. Die Verfügbarkeit von hardwarebeschleunigtem Raytracing lässt darauf hoffen, dass sich in Zukunft mehr in diesem Bereich tun könnte. Nier:Automata scheint ebenfalls dynamischen Reverb zu haben, habe es aber selbst noch nicht gespielt.
Allerdings sind Halleffekte nicht alles, was man für authentisches Audio braucht. Viele Spiele haben Audio Occlusion implementiert (Dämpfung durch Wände), Audio Obstruction (direkter Weg durch Hindernisse versperrt) vielleicht schon weniger. Path Tracing (Geräusche aus anderen Räumen werden nicht über den direkten Weg geortet, sondern z.B. durch Türen) findet man auch ab und zu, z.B. in der Thief Reihe.
Was mir häufig fehlt, ist eine realistische Modellierung der Distanz. Bei größeren Distanzen fallen die hohen Frequenzen im Vergleich zu niedrigen Frequenzen stärker ab, was das Gehirn neben anderem zum Bestimmen der Distanz ausnutzt. Spontan fallen mir Dragon's Dogma: Dark Arisen und ET:Legacy ein, die mir eine gute Einschätzung der Distanz erlauben.
Code:
IRC
├── COMPENSATED
│ ├── MAT
│ │ └── HRIR
│ └── WAV
│ ├── IRC_<number>_C
└── RAW
├── MAT
│ └── HRIR
└── WAV
├── IRC_<number>_R
Meine Erfahrung mit IRCAM-HRTFs war mittelmäßig. So habe ich dort zwar einen mehr oder weniger runden Kreis mit dem richtigen Preset hören können, aber ingame konnte ich Objekte zwischen Positionen "springen" hören. Deswegen nutze ich wieder das Standard-HRTF Set, das mit OpenAL Soft geliefert wird. Dieses scheint höher aufgelöst zu sein.
Ich behaupte einfach mal, dass die meisten Spiele mit DirectSound3D oder OpenAL Höheninformationen liefern. Was die Unreal Engine 1 angeht, so gibt es dafür einen Community Patch, der Unterstützung für OpenAL hinzufügt und meiner Erinnerung nach Höheninformationen bietet.
Man kann eigene Matrizen für Ambisonics mit der Ambisonics Decoding Toolbox erstellen. Ambisonics funktioniert unter Linux prinzipiell mit beliebig vielen Lautsprechern in beliebiger Aufstellung. Allerdings ist es technisch aufwendig, das einzurichten. In diesem Guide gibt es mehr Infos. Für die Zukunft hoffe ich darauf, dass es dank MPEG-H einfacher werden könnte.
Surround Systeme mit mehr als 7.1 Lautsprechern könnten mit OpenAL etwas anders eventuell auch unter Windows funktionieren, aber da bin ich mir nicht sicher. Wichtig ist, dass man einen Audioserver wie JACK oder Pipewire nutzen muss, damit man beliebig viele Audiokanäle routen und ausgeben kann. Prinzipiell funktioniert das so: OpenAL rendert in Ambisonics und reicht das Ergebnis an ambdec weiter. Dieses berechnet aus dem Ambisonics Signal die einzelnen Signale für die konfigurierte Anzahl an Lautsprechern. Diese Lautsprechersignale werden von ambdec an den Audioserver weitergegeben. Der Audioserver routet diese Signale dann auf Audioausgänge. So könnte man mehrere Soundkarten gleichzeitig nutzen, um z.B. mehr als die üblichen 7.1 Signale ausgeben zu können.
Unter Windows könnte es vielleicht mit ASIO funktionieren.
Die im Video gezeigte Virtualisierung von 7.1 Surround Sound für Kopfhörer ließ sich meines Wissens nach vor Pipewire (neuer Audioserver) auch schon mit Pulseaudio (Vorgänger) erreichen. Allerdings muss ich gestehen, dass ich sie nie ausprobiert habe.
Dynamischen Raumklang, d.h. mit Echtzeitberechnung gibt es leider selten abseits von ein paar Forschungsprojekten wie GSOUND. Es gibt allerdings Mods für die GZDoom Engine (LiveReverb) und Minecraft (Sound Physics Remastered), die Echtzeit-Reverb integrieren. Bei OpenArena gab es auch mal einen Versuch, das zu integrieren. Vermutlich gibt es auch noch ein paar Implementierungen in anderen Spielen. Für Hinweise wäre ich dankbar. Die Verfügbarkeit von hardwarebeschleunigtem Raytracing lässt darauf hoffen, dass sich in Zukunft mehr in diesem Bereich tun könnte. Nier:Automata scheint ebenfalls dynamischen Reverb zu haben, habe es aber selbst noch nicht gespielt.
Allerdings sind Halleffekte nicht alles, was man für authentisches Audio braucht. Viele Spiele haben Audio Occlusion implementiert (Dämpfung durch Wände), Audio Obstruction (direkter Weg durch Hindernisse versperrt) vielleicht schon weniger. Path Tracing (Geräusche aus anderen Räumen werden nicht über den direkten Weg geortet, sondern z.B. durch Türen) findet man auch ab und zu, z.B. in der Thief Reihe.
Was mir häufig fehlt, ist eine realistische Modellierung der Distanz. Bei größeren Distanzen fallen die hohen Frequenzen im Vergleich zu niedrigen Frequenzen stärker ab, was das Gehirn neben anderem zum Bestimmen der Distanz ausnutzt. Spontan fallen mir Dragon's Dogma: Dark Arisen und ET:Legacy ein, die mir eine gute Einschätzung der Distanz erlauben.
Zuletzt bearbeitet: