Soundengines für 3D-Anwendungen

Dieses Thema im Forum "VR Entwicklung" wurde erstellt von hypermagic_mountain, 2. Juni 2014.

  1. 1. Was bieten Soundengines heutzutage?

    Also, herkömmliche Soundengines für 3D-Anwendungen platzieren die Soundquelle im Raum. Doch was bedeutet "im Raum"?
    In der Welt der Soundengines bedeutete das bisher
    1. jeder Raum hat seinen eigenen Klang durch Reflexionen an Wänden etc. - das wird heutzutage mit Reverb-Effekten, am besten mit sogenannten "Convolution Reverbs", nachgeahmt. Eine Technik, die z.B. die Battlefield-Reihe meisterhaft beherrscht.
    2. die Lokalisation des Klangs muss irgendwie nachgebildet werden. Bei einem Stereo-Headset bedeutet das:

    • wird der Kopf gedreht, verschiebt sich auch das Panning, d.h. eine Quelle, die eher rechts ist, erklingt auch eher auf dem rechten Hörer
    • eine Soundquelle wird je nach Distanz lauter/leiser
    • neuerdings werden ab einer bestimmten Entfernung sogar andere Samples verwendet, um z.B. dieses urbane "Gewehr-Knattern" in der Ferne (wie man es aus den Nachrichten kennt) zu simulieren

    Nun ist das alles schon ganz toll, jedoch gibt es ein Problem: mit einem Stereo-Headset ist zwar erkennbar, ob ein Geräusch von links oder rechts kommt - ist es aber genau vor Dir, klingt es genauso, als wäre es hinter Dir. Erst wenn Du den Kopf leicht drehst, kannst Du die Quelle lokalisieren. Das fällt meistens nicht auf, da man innerhalb von Spielen meistens in Bewegung ist - ich persönlich war aber schon einige Male verwirrt deswegen. Einige Soundengines setzen einen Low-Pass-Filter auf Geräusche (es wird "dumpfer"), die hinter dem Spieler erklingen - damit hat man zwar einen "Fix" innerhalb der Spielwelt, mit der Realität hat das aber nichts zu tun.
    Noch schlimmer ist oben/unten, das lässt sich ohne Neigen des Kopfes (was in den meisten Spielen nicht geht) in Stereo gar nicht differenzieren.
    Abhilfe sollen hier nun 5.1/7.1-wie-auch-immer Dolby super ultra sound Headsets schaffen, die einfach mehrere Lautsprecher haben (ob nun echt oder simuliert), ähnlich wie im Kino. Dass dies aber für so richtig schönen, realitätsnahen Sound nicht reicht, bzw. der falsche Ansatz ist, wird im nächsten Abschnitt klar.

    2. Was will das Ohr haben?

    Um einen Eindruck der Problematik zu bekommen, strecke man seinen Arm zur Seite aus und schnipse. Nun führt man seine Hand konstant schnipsend langsam in Richtung des Ohrs. Der herkömmlichen Soundengine nach sollte es ja reichen, den Sound lauter werden zu lassen - doch zeigt ein simpler Selbsttest, dass viel mehr von Statten geht.
    Mit ausgestrecktem Arm ist der Raumhall-Anteil sehr hoch. Man hört nicht nur das Direkt-Signal, das von den Fingern ausgeht, sondern auch (bzw. größtenteils) die Reflexionen von den Wänden. Je näher man nun dem Ohr kommt, desto lauter wird das Direkt-Signal logischerweise, der Raum rückt in den Hintergrund (ist aber immer mit dabei), das Signal wird also "trockener". Zusätzlich vernimmt man den Luftdruck, der vom Schnipsen ausgeht - nicht zu unterschätzen, z.B. wenn Dir ein 3d-Avatar in's Ohr flüstern soll (lustigerweise bemühen sich Toningenieure bisher ja, diese "Nebengeräusche" zu vermeiden. Inwieweit HiFi-Produktionsroutinen für HRTF-basiertes Sounddesign übernommen werden können, wird man mit der Zeit sehen).
    Es passiert noch einiges mehr, aber allein an diesen beiden Phänomenen ist schon gezeigt, dass Distanz nicht nur durch Variationen in der Lautstärke wahrgenommen wird. Wie gesagt, die Battlefield-Leute sind da schon auf einem guten Weg.

    So, nun halte man sich die Hand vor den Kopf und schnipse - gleich danach das Ganze hinter dem Kopf. Wir hören tatsächlich, ob der Schall von vorne oder hinten kommt. Sind unsere Ohren also mit Surround-Sound ausgestattet? Nein. Wir haben nur zwei Trommelfelle - unser Kopf ist sozusagen ein Stereo-Mikrophon. Die Lokalisation findet tatsächlich dadurch statt, dass sich das Signal für uns vorne anders anhört als hinten - und das liegt an der Ohrmuschel und dem Gehörgang.
    Unser Hirn ist auf die Reflexionen, die sich je nach Einfallswinkel des Signals unterscheiden, so präzise eingestellt, dass wir räumlich hören, obwohl wir nur Stereo aufnehmen. Zusätzlich kann unser Hirn zur seitlichen Lokalisation die geringe Zeitdifferenz erkennen, die der Schall vom einen zum anderen Trommelfell braucht und sich so zusätzlich ein "Bild" über den Ort der Quelle machen (genannt Laufzeitdifferenz). Außerdem wird Schall, je nach Frequenz und Amplitude, nicht nur durch die Ohrmuschel, sondern auch durch Vibrationen im Schädel und im Körper "von innen" an die Trommelfelle geleitet.

    Um einige dieser Fähigkeiten jedenfalls zu imitieren, gibt es Binaurales Audio. Hierfür wird ein Kunstkopf verwendet, der menschenähnliche Ohren hat - mit Mikrophonen dort, wo unsere Trommelfelle liegen. Was dabei raus kommt, sind schon ziemlich beeindruckende Aufnahmen, die aber NUR mit Kopfhörern oder Stöpseln funktionieren. Das beste Beispiel, das ich kenne, ist hier zu finden (runter scrollen zu "Binaural" - KOPFHÖRER NUTZEN). Ich denke, der Unterschied zu einer herkömmlichen Aufnahme sollte dadurch klar werden :D

    3. Was heißt das nun für Sound-Engines?

    "Klingt doch super", könnte man sagen, "dann laufen wir einfach mit Kunstköpfen durch die Gegend, nehmen auf und bauen das in die Spiele ein." So einfach geht es natürlich mal wieder nicht. Wie schon beschrieben, ist die Wahrnehmung der Soundquellen dynamisch. D.h. wenn ich binaural ein Lagerfeuer von 1m Abstand aufnehme, dann funktioniert diese Aufnahme auch nur genau so. Bewegt sich der Spieler in der virtuellen Welt davon weg, oder dreht er den Kopf, dann muss sich der Klang dynamisch verändern, eben nach den vorher beschriebenen Gesetzen.

    Hier kommt nun die "Head related transfer function" (HRTF) ins Spiel. Dies ist eine Zusammenstellung von Formeln, die eine normale Aufnahme durch Filter schickt, welche die eben beschriebenen Phänomene nachbilden sollen - im Prinzip ein "virtueller Körper mit Ohrmuschel".
    Ab jetzt fängt es an, schwierig zu werden. Nicht nur muss eine gute HRTF geschrieben werden, sondern unsere Ohren unterscheiden sich leider ziemlich. D.h. im Prinzip braucht jeder seine eigene HRTF, die eben das nachbildet, woran sich unser Hirn gewöhnt hat.
    Zusätzlich brauchen wir unglaublich gute Raumeffekte - Schallverbreitung ist extrem komplex und wird nicht nur von Wänden, sondern auch von Gegenständen, den verschiedenen Frequenzbereichen, sowie der Position von Quelle und Hörer im Raum beeinflusst.

    Die perfekte Soundengine würde sicherlich "Soundwave-Tracing" nutzen (in Echtzeit berechnete Schallreflexionen). Bis wir die Rechenleistung haben, wird es aber noch etwas dauern.
    Auch eine Art Vibrationssimulation wäre hilfreich.
    Und wenn wir schon mal dabei sind, gleich noch auf den Trommelfellen liegende Lautsprecher.

    -----

    Bisher hat mich noch kein HRTF-basiertes Plugin vollends überzeugt (3dception habe ich noch nicht getestet) - vielleicht liegt das aber auch daran, dass "meine" HRTF noch nicht modelliert wurde. Vielleicht funktioniert das Ganze auch in Videos einfach nicht so gut. Wenn man selbst Kontrolle über die Bewegung hat, gewöhnt sich das Ohr sicherlich auch an die sich verändernden Signale. Die Ergebnisse sind im Audio-Bereich jedenfalls immer sehr subjektiv.

    Man sieht nun, dass Surround Sound zwar nett, aber der falsche Ansatz ist - da unsere Ohren eben auch nur mit Stereo arbeiten. Generell kann mit einem Kopfhörer natürlich niemals perfekter Binauraler Klang entstehen (aber schon sehr guter, wie im Link zu hören ist), da ja im Prinzip Ohrmuschelfilter über Ohrmuschelfilter liegt. Hier wäre eine andere Lösung besser, ähnlich wie beim Virtual Retinal Display im visuellen Bereich. Bis dahin wäre ich aber mit einer ordentlichen HRTF/Reverb-Engine und guten Stereo-Kopfhörern zufrieden.
    Nur Realität nachbilden ist ja auch langweilig, etwas künstlerische Ästhetik schadet meiner Meinung nach auch der virtuellen Realität nicht.


    So, dies nur als kleine Einführung in die Probleme eines wirklichkeitsgetreuen Sounddesigns. Tatsächlich habe ich viel ausgelassen, und einiges stark vereinfacht - aber vielleicht ist sich jetzt der ein oder andere der Komplexität dieses (wie ich finde) spannenden Themas bewusst.


    Wenn Ihr weitere spezifische Artikel/Programme zu dem Thema kennt, keine scheu und lasst uns alle daran Teil haben. ;)
     
    #1 hypermagic_mountain, 2. Juni 2014
    Zuletzt von einem Moderator bearbeitet: 3. Juni 2014
  2. Hm, gut, ich dachte dabei jetzt nicht direkt an Kopfhörer sondern erst mal nur normaler 3D Raumklang z.B. über ein 5/7.1 Sound System. Das mit den Stereo Kopfhörern und 3D Simulation ist mir bereits geläufig, da hatte ich mich erst vor ein Wochen ein wenig mit beschäftigt. Interessanter fand ich da das mit dem Schnippsen, das macht einem doch sehr schnell klar, dass eines der Problem auch ist, dass die meisten Geräusche in Spielen von kleinen Sound Schnippseln kommen und eben nicht in Echtzeit erzeugt werden. War mir schon klar, dass das wesentlich komplexer ist und nun verstehe ich auch warum, danke. ;)

    Im Grunde heißt das aber auch, dass für VR Lautsprecher schon völlig Grundsätzlich raus fallen und Kopfhörer absolute Pflicht sind. Das dachte ich mir schon vorher, nur ist es nun deutlich klarer wieso. Das lässt das Ganze nun deutlich schwieriger erscheinen ein VR Welt zu generieren, die sich auch "echt" genug anfühlt, denn der Sound spielt ja so eben doch eine sehr große Rolle. Aber wenn aktuell noch die Rechenleistung fehlt kann man ja dennoch etwas tricksen, das tut man ja bisher auch schon immer, trickst man für VR halt nur noch etwas besser, bis eine richtige Simulation möglich ist. ;)

    Was ich aber auch nicht so ganz verstehe... wenn die bisherigen Stereo Surround Simulation derart vom Kopf des Hörers abhängig ist, wieso gibt man dem Benutzer dann nicht Einstellmöglichkeiten? Bisher sah ich immer nur Haken zum ein/ausschalten der Simulation...

    Das Thema mag durchaus spannend sein, aber wie gesagt, Audio war nie so mein Ding, bin da doch eher der Programmierer/Designer. ^^
     
  3. Ich nehme an, Du meinst mit "Stereo Surround Simulation" HRTF?
    Das mit der Einstellung ist nicht so leicht. Du müsstest ja im Prinzip Dein Ohr abscannen, um die perfekte HRTF zu haben. Ob es gewisse "Normaltypen" von Ohrformen gibt, weiß ich nicht. Ich denke, der Forschungsaufwand ist da sehr hoch - momentan befinden wir uns ja noch in der Welt der Spiele, nicht in Simulationsumgebungen - in der Spieleindustrie wird Sound etwas stiefmütterlich behandelt.
    Wir Sound Designer wussten schon immer, wie wichtig Sound ist. Unsere Arbeitgeber fangen es wohl gerade erst an zu verstehen, seitdem sie sich Displays vor die Nase binden lassen.
     
  4. Ja, meine ich. Nun, man kann ja dem Nutzer Einstellungen geben und dann per Software helfen die richtige Einstellung für das Beste Surround Erlebnis zu finden.

    Ich weiß jetzt nicht wie die Razer Synapse Software hier funktioniert, die bieten zumindest an das Ganze zu kalibrieren, allerdings finde ich die Art und Weise wie das von statten geht suboptimal. Die Kalibrierung kriege ich damit jedenfalls nur schwer hin. Da müsste man wohl eine bessere Lösung finden oder vielleicht auch einfach eine andere Art von Kontrollton nutzen. Natürlich dürfte es so oder so schwierig werden es wirklich perfekt einzustellen, aber ich bei dem Thema schon oft gelesen, dass bei Manchen eine Simulation gar nicht richtig funktionierte, weil ihre Kopfform eben überhaupt nicht passte, und das ist ja dann auch nicht so wirklich toll und sollte mit Einstellungen doch besser hinzukriegen sein.

    Gerade von einem Standard wie Dolby Headphone, das ja doch durchaus häufig verwendet wird, sollte man doch eigentlich Einstellmöglichkeiten erwarten können.
     
  5. Boah... 1.000.000 Kudos für diesen tollen Beitrag! :)

    Bin gerade dabei, mich in das Thema reinzuarbeiten. Das war eine gute Basis dafür - danke!

    Erstaunlich, dass die diversen Grafikenginges nicht schon passende 3D-Soundschnittstellen enthalten sondern diese scheinbar jeweils noch individuell entwickelt werden müssen.
     
  6. Danke, SolKutTeR. Könntest Du noch beim ersten Satz das "wie Du schon sagst" rausnehmen? Dann sind alle Spuren der eigentlichen Herkunft verwischt ;)
    Vielleicht könnte man auch noch die Aufforderung hinzufügen, diverse Links zu dem Thema zu posten, dann haben wir vllt bald eine Sammlung schöner Plugins.


    Believer: Danke. Jo, Sound in Spielen ist, wie gesagt, immer etwas nebenher gelaufen. Ich selbst wollte auch schon immer mal eine ordentliche HRTF programmieren lassen - aber dafür kriegt man halt kein Geld, wenn die Auftraggeber nicht verstehen, was das soll. Früher gab es schonmal Ansätze, Creative hatte schon ein paar Tools (die sind angeblich bei Unreal 1 zum Einsatz gekommen), das wurde aber alles von Dolby Digital verdrängt.
    Das wird sich nun aber ändern, ironischerweise wegen eines Displays ;)
    Ich gehe davon aus, dass das in einem Jahr Standard sein wird in den großen Engines. Wie gut das umgesetzt wird, ist ne andere Frage - vor allem bei den Reverbs.
     
  7. Heisst das, Du wärst eventuell doch in der Lage diese Aufgabe zu übernehmen? Soweit ich weiss, suchen die Jungs immernoch jemanden, der 3D Sound in ihre Anwendung implementiert.
     
  8. Die brauchen eher einen Programmierer, oder ein Plugin. In dem Thread hatte ich ja schon was vorgeschlagen. Ich mache Sounddesign und würde mich daher über genau sowas ebenso freuen...
    In Sachen VR-Sound werde ich in (hoffentlich) ca. 3 Monaten mal Zeit haben, ein Projekt anzugehen.
     
  9. Arbeitet Epic denn schon an einer Umsetzung für die UE4? Spricht ja doch einiges dafür, dass viele VR Projekte zukünftig mit UE4 umgesetzt werden.
     
  10. Ausgeführt Captain. ;)
    Wenn der letzte Satz nicht ganz zutrifft, vom Wortlaut, lass es mich/uns wissen.
    Dann ändere ich/wir ihn nochmal dahingehend.
     

Diese Seite empfehlen