Eine Geometrie-Engine zur Berechnung von 3D
Transcription
Eine Geometrie-Engine zur Berechnung von 3D
Eine Geometrie-Engine zur Berechnung von 3D-Sound mit Raumakustik-Effekten in Echtzeit Diplomarbeit im Studiengang Informatik vorgelegt von Tomas Neumann [email protected] Oktober 2004 Technische Universität Carolo-Wilhelmina zu Braunschweig Institut für ComputerGraphik Prof. Dr. techn. Dieter W. Fellner Erklärung Hiermit erkläre ich, dass die vorliegende Arbeit selbstständig und nur unter Verwendung der aufgeführten Hilfsmittel von mir erstellt wurde. Braunschweig, den 24. Oktober 2004 Tomas Neumann i ii Danksagung Diese Diplomarbeit entstand am Institut für ComputerGraphik unter der Leitung von Prof. Dr. techn. Dieter W. Fellner und unter der intensiven Betreuung von Dipl. Inf. Sven Havemann. Ich danke Beiden für das Vertrauen in meine Person und der Möglichkeit das Spektrum des Instituts um ein neues Forschungsgebiet zu erweitern und interdisziplinär zu bearbeiten. Herrn Prof. Dr. techn. Dieter W. Fellner danke ich für die Anstellung an seinem Institut und für die Bereitstellung eines Arbeits- und Forschungsplatzes. Ich danke den Firmen TerraTec Electronic GmbH und Creative Technologies Ltd. für die Bereitstellung von Audio-Equipment. Allen Mitarbeitern des Instituts gilt mein Dank bezüglich der Hilfe bei den vielen Unwegsamkeiten. Besonderer Dank gilt Andreas Halm für viele Anregungen im Bereich der Programmierung. Ich danke den Herren Dr.-Ing. Klaus Wogram und Dr.-Ing. Ingolf Bork in der Arbeitsgruppe 1.73 Raumakustik der Abteilung 1 Mechanik und Akustik der PhysikalischTechnischen Bundesanstalt (PTB) für die fachliche Beratung. Für die Fehlersuche und zahlreiche Anregungen danke ich Karoline Mauer und meinem lieben Bruder Michael. Mein herzlichster Dank geht an meine Eltern, Gerlint Neumann und Dr. med. Udo-R. Neumann, für schier endlose Geduld, finanzielle Unterstützung und Motivation in schwachen Momenten. iii Zusammenfassung Diese Arbeit behandelt die Entwicklung einer Geometrie-Engine für 3D-Sound. Ein AudioProgrammierer muss ein 3D-Audiosystem so einstellen, dass glaubwürdige Hörereignisse bei einem Hörer ausgelöst werden. Bei der Entwicklung interaktiver Anwendungen ist akustisches Fachwissen nötig, um komplexe Akustik-Effekte wie Verhallung, Verdeckung oder Schallausbreitung in verschiedenen Umgebungen anzunähern. Im Gegensatz dazu kann ein 3D-Audiosystem mit Geometrie-Engine automatisch die Einstellung von Hallräumen unter dynamischer Berücksichtigung von audio-relevanter Geometrie vornehmen. Dem Programmierer wird eine einfache Schnittstelle angeboten, um die technische Bedienung der Sound-API zu überwinden. Durch die Einführung von Geometrie-AkustikPrimitiven (GAPs) wird eine zukunftssichere und abstrakte Repräsentation einer AkustikSzene möglich. Das zur Manipulation der GAPs entwickelte Geometrie-Akustik-Interface berücksichtigt die fortschreitende Entwicklung von Audio-Simulationen. Abstract This project examines the development of a geometry-engine for 3D-sound. A programmer for 3D-sound has to adjust a 3D-audio system in such a manner to provoke an authentic auditory event for a listener. To mimic acoustic effects like reverberation, occlusion or sound propagation in different surroundings acoutic expertise is required while developing interactive sound applications. In contrast an audio system using a geometry-engine automatically adjusts dynamic reverb settings depending on relevant acoustic geometry. A simple interface is offered to the programmer to overcome the technical usage of a sound API. With the introduction of geometric acoustic primitives (GAPs) an acoustic scene can be represented in an abstract and future-proof way. The geometric acoustic interface, which is used to manipulate the GAPs, considers the ongoing development in acoustic simulations. Inhaltsverzeichnis 1 Einleitung 1 1.1 1.2 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivation der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 1.3 1.4 Zielsetzung der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9 2 Grundlagen von 3D-Audio 10 2.1 Audio-Konzepte in virtuellen 3D-Welten . . . . . . . . . . . . . . . . . . 11 2.1.1 Listener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1.2 2.1.3 2.2 2.1.4 Wiederholungsraten . . . . . . . . . . . . . . . . . . . . . . . . . 14 Aktuelle Forschungsansätze . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.1 2.2.2 2.3 2.4 2.5 2.6 Schallausbreitung durch Beam-Tracing . . . . . . . . . . . . . . . 15 Clustering und Culling in komplexen Audioszenen . . . . . . . . . 16 Akustiksimulatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Techniken der digitalen Schall-Positionierung . . . . . . . . . . . . . . . . 18 2.4.1 Quantitative Differenz . . . . . . . . . . . . . . . . . . . . . . . . 18 2.4.2 Temporale und qualitative Differenz . . . . . . . . . . . . . . . . . 19 Techniken der digitalen Schall-Wiedergabe . . . . . . . . . . . . . . . . . 19 2.5.1 2.5.2 Lautsprecher-Systeme . . . . . . . . . . . . . . . . . . . . . . . . 19 HRTF-Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.5.3 2.5.4 Wellenfeld-Synthese . . . . . . . . . . . . . . . . . . . . . . . . . 21 Wiedergabe über Knochenschall . . . . . . . . . . . . . . . . . . . 21 3D-Sound in Echtzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.6.1 3D-Sound Standards . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.6.2 3D-Sound-Engine und Reverb-Engine . . . . . . . . . . . . . . . 28 2.6.3 2.6.4 2.7 Soundobjekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Koordinatensystem . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Sound-APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3D-Sound in der Spiele-Industrie . . . . . . . . . . . . . . . . . . 31 3D-Sound in Virtual-Reality Umgebungen . . . . . . . . . . . . . . . . . 32 2.7.1 3D-Sound in VRML . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.7.2 2.7.3 DAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 TRIPS - Echtzeit 3D Sound in OpenSG . . . . . . . . . . . . . . . 33 iv INHALTSVERZEICHNIS 2.7.4 v blue-c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3 Komponenten der Geometrie-Engine 36 3.1 Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2 3.3 3.4 3.5 3.6 3.7 GAPs: Die Geometrie-Akustik-Primitive . . . . . . . . . . . . . . . . . . 39 3.2.1 Listener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.2.2 Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.2.3 3.2.4 Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.2.5 3.2.6 Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Obstacle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.2.7 3.2.8 Medium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Room . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Das XML-Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Das Geometrie-Akustik-Interface . . . . . . . . . . . . . . . . . . . . . . 45 3.4.1 Systemverwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.4.2 3.4.3 GAPs erzeugen und löschen . . . . . . . . . . . . . . . . . . . . . 46 GAPs semantisch verbinden und platzieren . . . . . . . . . . . . . 46 3.4.4 3.4.5 GAPs manipulieren . . . . . . . . . . . . . . . . . . . . . . . . . 47 Weitere Hilfsmethoden . . . . . . . . . . . . . . . . . . . . . . . 48 3.4.6 Praktische Anwendung . . . . . . . . . . . . . . . . . . . . . . . 48 Die Geometrie-Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Der Sound-Kontext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.7.1 Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.7.2 3.7.3 Geometrie-Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Akustik-Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.7.4 3.7.5 GAP-Basisklasse . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 GAP-Geometrie-Basisklasse . . . . . . . . . . . . . . . . . . . . . 52 3.7.6 Weitere Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4 Berechnungen der Geometrie-Engine 55 4.1 Vereinfachungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.2 4.3 Verhallung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.2.1 Nachhallzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.2.2 Frühe Reflexionen . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Berechnung von virtuellen Sounds . . . . . . . . . . . . . . . . . . . . . . 62 4.3.1 4.3.2 4.4 Generierung von virtuellen Sounds . . . . . . . . . . . . . . . . . 63 Positionierung von virtuellen Sounds . . . . . . . . . . . . . . . . 63 4.3.3 Soundpfade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.3.4 Ausprägung von virtuellen Sounds . . . . . . . . . . . . . . . . . 64 Darstellung der Akustik-Effekte . . . . . . . . . . . . . . . . . . . . . . . 64 4.4.1 4.4.2 Positionierung und Orientierung . . . . . . . . . . . . . . . . . . . 64 Verhallung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 INHALTSVERZEICHNIS vi 4.5 Einstellungen der Geometrie-Engine . . . . . . . . . . . . . . . . . . . . . 67 4.6 Optimierungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.6.1 Schnittpunktberechnung . . . . . . . . . . . . . . . . . . . . . . . 68 4.6.2 Sichtbarkeitsliste der Wände . . . . . . . . . . . . . . . . . . . . . 69 5 Überprüfung der Geometrie-Engine 71 5.1 Test-Szenarien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.1.1 5.1.2 5.2 5.3 Büroszene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Höhlenwanderung . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Technische Messergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.2.1 Büroszene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.2.2 Höhlenwanderung . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Qualitätsüberprüfung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6 Diskussion und Ausblick 77 A Analoge Schallwelt 81 A.1 Schall-Erzeugung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 A.1.1 Schwingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 A.1.2 Schallgeschwindigkeit . . . . . . . . . . . . . . . . . . . . . . . . 83 A.1.3 Schalldruck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 A.1.4 Schallschnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 A.1.5 Schallintensität . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 A.1.6 Schallkennimpedanz . . . . . . . . . . . . . . . . . . . . . . . . . 84 A.1.7 Die Einheit Bel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 A.1.8 Schalldruckpegel . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 A.2 Physikalisches Phänome der Schall-Ausbreitung . . . . . . . . . . . . . . 86 A.2.1 Schallinterferenzen . . . . . . . . . . . . . . . . . . . . . . . . . 86 A.2.2 Reflexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 A.2.3 Schallabsorption . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 A.2.4 Beugung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 A.2.5 Brechung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 A.3 Akustische Effekte der Schall-Ausbreitung . . . . . . . . . . . . . . . . . 90 A.3.1 Schalldämmung . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 A.3.2 Schalldämpfung . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 A.3.3 Bündelung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 A.3.4 Streuung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 A.3.5 Verhallung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 A.3.6 Obstruktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 A.3.7 Exklusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 A.3.8 Okklusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 A.3.9 Doppler-Effekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 A.3.10 Akustische Eigenschaften von Medien . . . . . . . . . . . . . . . 92 A.3.11 Akustische Eigenschaften von Materialien . . . . . . . . . . . . . 92 INHALTSVERZEICHNIS vii A.4 Berechnungsmodelle der Raumakustik . . . . . . . . . . . . . . . . . . . 92 A.4.1 Äquivalente Absorptionsfläche . . . . . . . . . . . . . . . . . . . 92 A.4.2 Nachhallzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 A.4.3 Hallradius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 B Psycho-Akustik 95 B.1 Anatomie des menschlichen Ohres . . . . . . . . . . . . . . . . . . . . . . 96 B.1.1 B.1.2 Äußeres Ohr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Mittelohr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 B.1.3 Innenohr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 B.2 Physiologie des Hörens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 B.3 Rezeption des Schallsignals . . . . . . . . . . . . . . . . . . . . . . . . . 98 B.3.1 Direktschall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 B.3.2 B.3.3 B.3.4 Frühe Reflexionen . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Nachhall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Knochenschall . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 B.3.5 Cochlea-Implantate . . . . . . . . . . . . . . . . . . . . . . . . . 100 B.4 Räumliches Hören . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 B.4.1 B.4.2 Temporale Veränderung . . . . . . . . . . . . . . . . . . . . . . . 100 Qualitative Veränderung . . . . . . . . . . . . . . . . . . . . . . . 100 B.4.3 Räumliche Auflösung . . . . . . . . . . . . . . . . . . . . . . . . 101 C Digitale Schallwelt 102 C.1 Digitalisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 C.1.1 C.1.2 Abtastrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Bitauflösung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 C.1.3 C.1.4 Dynamik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Signal-Rausch-Abstand . . . . . . . . . . . . . . . . . . . . . . . 104 C.2 Digitale Audio-Formate . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 C.2.1 PCM / WAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 C.2.2 MP3 und andere Komprimierungen . . . . . . . . . . . . . . . . . 105 C.3 Digitale Schall-Erzeugung . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Abbildungsverzeichnis 1.1 Schema einer verhallten Impulsantwort. . . . . . . . . . . . . . . . . . . . 3 1.2 Aufbau und Struktur der Arbeit. . . . . . . . . . . . . . . . . . . . . . . . 9 2.1 30 Jahre Computerspiele-Entwicklung. . . . . . . . . . . . . . . . . . . . . 11 2.2 2.3 First Person Ansicht in Farcry. . . . . . . . . . . . . . . . . . . . . . . . . 12 Top-View Ansicht in Warcraft 3. . . . . . . . . . . . . . . . . . . . . . . . 12 2.4 2.5 2.6 Vierfacher Split-Screen bei Outrigger. . . . . . . . . . . . . . . . . . . . . 13 Beam-Tracing Ansatz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Modell der Hagia Irene in Odeon 6.5. . . . . . . . . . . . . . . . . . . . . 17 2.7 2.8 Verschiedene Techniken der Schallpositionierung. . . . . . . . . . . . . . . 18 Interaktive Manipulation einer Impulsantwort. . . . . . . . . . . . . . . . . 22 2.9 Wege des Direkt- und Hall-Signals im I3DL2 Mix. . . . . . . . . . . . . . 24 2.10 Die legendäre SoundBlaster 2.0. . . . . . . . . . . . . . . . . . . . . . . . 31 2.11 Bedienoberfläche von EAGLE. . . . . . . . . . . . . . . . . . . . . . . . . 32 2.12 blue-c. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.13 T.C.Electronic M-ONE XL Hallgerät. . . . . . . . . . . . . . . . . . . . . 35 3.1 3.2 Bisheriges Schichtmodell. . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Vorgeschlagenes Schichtmodell. . . . . . . . . . . . . . . . . . . . . . . . 37 3.3 3.4 Die acht GAPs in einer Szene. . . . . . . . . . . . . . . . . . . . . . . . . 40 Hörerabhängiger Sound. . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.5 GAP-Klassenhierarchie. . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.1 Strahlschuss durch Sphere-Points erzeugt Volume-Points. . . . . . . . . . . 57 4.2 4.3 4.4 Das Reverb-Volumen spannt sich aus Treffern in der Szene auf. . . . . . . . 58 Vollständiger Absorber. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Berechnung der frühen Reflexionen. . . . . . . . . . . . . . . . . . . . . . 61 4.5 4.6 Prinzip der Virtuellen Sounds. . . . . . . . . . . . . . . . . . . . . . . . . 62 Positionierung der virtuellen Sounds. . . . . . . . . . . . . . . . . . . . . . 63 4.7 4.8 Aufbau der Roomselection. . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Sichtbarkeits-Test zwischen Wänden. . . . . . . . . . . . . . . . . . . . . 70 4.9 Wall 4 schneidet nur AABB von Wall 1 und Wall 3. . . . . . . . . . . . . . 70 5.1 Office-Szene mit vierfacher Geometrie, 2 Listener und 4 Sounds. . . . . . . 72 viii ABBILDUNGSVERZEICHNIS ix 5.2 Höhlenwanderung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.3 5.4 Messergebnisse der Office-Szene. . . . . . . . . . . . . . . . . . . . . . . 74 Messung mit dynamischer und globaler Sichtbarkeitsbrechnung. . . . . . . 75 A.1 Audiodaten in verschiedenen Darstellungen. . . . . . . . . . . . . . . . . . 82 A.2 Das nach oben offene Frequenzspektrum. . . . . . . . . . . . . . . . . . . 82 A.3 Mathematische Interferenzen. . . . . . . . . . . . . . . . . . . . . . . . . . 86 A.4 Reflexionen an planaren Flächen. . . . . . . . . . . . . . . . . . . . . . . . 87 A.5 Reflexion an Strukturen mit unterschiedlichen Wellenlängen λ. . . . . . . . 87 A.6 Leistungsverteilung beim Eindringen in ein zweites Medium. . . . . . . . . 88 A.7 Beugung an verschieden großen Öffnungen. . . . . . . . . . . . . . . . . . 89 A.8 Brechung in ein dichteres Medium. . . . . . . . . . . . . . . . . . . . . . . 89 B.1 Schema des menschlichen Ohres. . . . . . . . . . . . . . . . . . . . . . . . 96 B.2 Frequenzabhängigkeit des Gehörs. . . . . . . . . . . . . . . . . . . . . . . 97 B.3 Schema einer Impulsantwort eines verhallten Signals. . . . . . . . . . . . . 98 B.4 Verschiedene Laufzeiten an den Ohren. . . . . . . . . . . . . . . . . . . . 101 Tabellenverzeichnis 2.1 Empfohlende Wiederholungsraten. . . . . . . . . . . . . . . . . . . . . . . 15 2.2 Gemessener Absorptionsgrad verschiedener Materialien. . . . . . . . . . . 18 3.1 Methoden der Systemverwaltung. . . . . . . . . . . . . . . . . . . . . . . 45 3.2 3.3 Methoden zum Erzeugen und Löschen von GAPs. . . . . . . . . . . . . . . 46 Methoden zum Verbinden und Platzieren von GAPs. . . . . . . . . . . . . 47 3.4 3.5 Methoden zur Manipulation von GAPs. . . . . . . . . . . . . . . . . . . . 47 Weitere Hilfsmethoden. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.1 GAP-Verteilung der drei Office-Szenen. . . . . . . . . . . . . . . . . . . . 72 A.1 Eigenschaften exemplarische Medien. . . . . . . . . . . . . . . . . . . . . 84 A.2 Richtwerte für Schallpegel verschiedener Geräusche. . . . . . . . . . . . . 85 C.1 Übliche Abtastraten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 C.2 Übliche Bitauflösungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 C.3 Dynamik gängiger Audiotechniken und -ereignisse. . . . . . . . . . . . . . 104 x Kapitel 1 Einleitung «Und plötzlich war ein schreckliches Getöse um uns rum und der Himmel war voller Viecher, die aussahen wie riesige Fledermäuse und sie alle stürzten auf uns herab. Kreischend wie ein Kamikazeangriff auf den Wagen, der mit 100 Meilen Geschwindigkeit und herunter gelassenen Verdeck nach Las Vegas fuhr.» (Aus dem Buch Fear and Loathing in Las Vegas von Hunter S. Thompson) 1.1 Einführung Gehör und Emotionen Dieses Zitat aus ”Fear and Loathing in Las Vegas” verbildlicht die Emotionalität, mit der wir Menschen über unser Gehör Dinge wahrnehmen können. Dieses Organ besitzt Fähigkeiten, die bewusst und unbewusst Einfluss auf unser tägliches Leben haben (siehe Anhang B). So erfahren und verarbeiten wir Menschen mit dem Gehör mehr Informationen, als Vielen bewusst ist. Wir Menschen können auch mit geschlossenen Augen Hindernisse erhören und haben eine Vorstellung von der Umgebung um uns herum, wenn wir etwas hören. Die Wirkung des Hörens ist unabhängig von der eigentlichen Lautstärke. Wir genießen ein Crescendo im Konzertsaal oder entspannen bei Vogelgezwitscher, fühlen uns andererseits gestresst von Straßenlärm oder beunruhigt von dem Summen einer Mücke. Die akustischen Eigenschaften kommerzieller Produkte werden wissenschaftlich genau untersucht und schon während des Designprozesses spezifiziert [Rue]. Das satte Stampfen einer Harley-Davidson soll Freiheitsdrang, das geräuschvolle Entlangsausen von Schmutz im Staubsaugerrohr Genugtuung auslösen. Der Autobauer Porsche hat eine sehr erfolgreiche Gruppe von Akustikern [Pas], die vom Motor-Surren bis zum Einschnappen des Aschenbechers jedes Geräusch nach ihren Vorstellungen formen. Selbst Nahrungsmittel wie Müsli oder Kartoffel-Chips werden auch nach ihrer Geräuschentwicklung produziert. Je breiter und chaotischer das Frequenzspektrum1 beim Zerkauen, desto besser und frischer schmeckt ein Kartoffel-Chip [Spi03]. Auch 1 Gesamtheit der Frequenzen von einem schwingenden System. 1 KAPITEL 1. EINLEITUNG 2 in der Filmindustrie ist die Untermalung eines Filmes mit Musik und Geräuschen oft entscheidend für den Eindruck eines Filmes. Es gibt Untersuchungen, wonach Computergrafiken besser aussehen, wenn gleichzeitig etwas Ansprechendes zu hören ist [Beg94]. Das Geräusch alleine ist jedoch nicht ausreichend, um den komplexen Vorgang der Schallausbreitung und Rezeption zu beschreiben. Raumakustik Ein ganzer Forschungsbereich, die Raumakustik, beschäftigt sich mit der Verhallung (siehe Anhang A.3.5) von Geräuschen und dem Schallschutz [Scha] in und außerhalb von Gebäuden. Dem direkten Signal einer Schallquelle folgt der umgebungsspezifische Nachhall. Wird ein Schallsignal von der Umgebung beeinflusst, so überlagern sich verzögerte Schallimpulse zu einem Hallsignal. Die physikalischen Phänomene (siehe Anhang A.2), die bei der Schallausbreitung auftreten können sind: • Interferenz: Die Überlagerung von Schallwellen. • Absorption: Das Abschwächen des Schallsignals in Medien. • Beugung: Das Ablenken von Schallwellen an Hindernissen. • Brechung: Die Richtungsänderung beim Eintreten in ein Medium. • Reflexion: Das Zurückwerfen der Schallwellen an einer Oberfläche. Dabei erfährt das Schallsignal frequenzabhängig unterschiedlich starke Veränderungen. Raumgefühl Jeder kennt den klanglichen Unterschied zwischen dem Inneren einer Kathedrale wie dem Kölner Dom und dem eigenen Badezimmer, oder kann ihn durch seine Erfahrung erahnen. Ein Geräusch im Kölner Dom hallt scheinbar endlos nach, während ein Badezimmer einen sehr kompakten und kurzen Nachhall produziert. Unser Gehör versorgt uns Menschen mit einem Raumgefühl, indem es die verschachtelten Informationen des Nachhalls auswertet und sie mit anderen Hörerfahrungen vergleicht. Es muss ein besonderes Augenmerk auf die Physiologie2 des Gehörs gerichtet werden, um die akustische Wahrnehmung zu verstehen (siehe B.2). So ist die Geschwindigkeit, mit der ein Nachhall verebbt, ein wichtigerer Indikator als die Länge des Nachhalls. Auditives Ereignis Betrachtet man die akustische Wahrnehmung nach dem Ursache- Wirkung-Prinzip, so kommen bemerkenswerte Betrachtungsweisen zum Vorschein. Ein Schallereignis beschreibt die Ursache eines Schallsignals, das von einer Schallquelle erzeugt wird. Diese Signale werden vom Gehör als eine Reizfolge aufgenommen und vom Zentralnervensystem verarbeitet. Dabei kommt es zu einem unbewussten Abgleich des Gehörten mit erlernten Hörerfahrungen. Mehrere Hörer können ein und das selbe Schallereignis ganz unterschiedlich wahrnehmen, da jeder ein eigenes subjektives Hörerlebnis, das auditive Ereignis (auditory event), erfährt [Bla97]. Ein Schallereignis ist aber nicht zwingend der einzige Grund für ein Hörerlebnis, wie z.B. beim Tinnitus3 . Auch können bei der 2 Die Physiologie (von griechisch Natur und Vernunft) befasst sich mit den physikalischen, informationsverarbeitenden und biochemischen Funktionen von Lebewesen. 3 Tinnitus aurium = lat. das Klingen des Ohres, z.B. durch Stress oder Knalltraumata. KAPITEL 1. EINLEITUNG 3 Lokalisierung Abweichungen zwischen der Position des Schallereignisses und der wahrgenommenen Position des auditiven Ereignis auftreten. Temporale Aufteilung des auditiven Ereignisses Die nach dem zeitlichen Eintreffen beim Hörer sortierten Schallimpulse (siehe Anhang B.3), die ein auditives Ereignis hervorrufen, bilden eine Impulsantwort4 . Sie kann grob in drei temporale Bereiche unterschieden werden (siehe Abb. 1.1): • Der direkte Schallanteil, der Direktschall • Die frühen Reflexionen, die an markanten Reflektoren entstehen • Die späten Reflexionen im Raum, die einen diffusen Nachhall bewirken Abbildung 1.1: Schema einer verhallten Impulsantwort. Informationsgewinn Ein auditives Ereignis liefert eine Vielzahl von Informationen. Man kann diese Informationen in zwei logische Bereiche trennen: • Informationen über die Schallquelle: Das Ohr erhält durch mehrere Effekte einen Eindruck, wie nahe die Schallquelle ist, wo sie sich befindet, wie laut sie ist oder ob sich die Schallquelle relativ zum Hörer bewegt. • Informationen über die Umgebung: Durch das wahrgenommene Hallsignal können Informationen darüber erfasst werden, wie die Umgebung beschaffen ist, in der sich die Schallquelle bzw. der Hörer befindet. Man erlangt ein Gefühl, ob Objekte in der Nähe sind und von welcher Art diese sind. Trainiert man diese Informationsgewinnung bewusst, so sind Menschen in der Lage z.B. Laternenpfähle allein aus Schallreflexionen zu orten und zu umgehen. Eine Gruppe von Erblindeten in Amerika lernt die Umgebung durch Reflexionen selbsterzeugter Zungenschnalzer abzutasten und qualitativ klassifizieren zu können. Eine Häuserwand reflektiert 4 Ausgangssignal eines Systems, dem am Eingang ein Dirac-Impuls zugeführt wird. KAPITEL 1. EINLEITUNG 4 anders als eine Hecke oder ein Abgrund, bei dem das freie Schallfeld keinerlei Reflexionen zurückwirft. Doch auch für einen durchschnittlich trainierten Hörer sind Umgebungen akustisch unterscheidbar und der Nachhall liefert wichtige Hinweise (auditory cues). Künstlich generierte auditive Ereignisse Immer dann, wenn mit Hilfe von Technik Audiosignale reproduziert oder erzeugt werden, wie zum Beispiel beim Telefon, Radio oder am Computer, entstehen künstlich erzeugte auditive Ereignisse beim Hörer. Der Begriff des auditiven Ereignisses ist wichtig für das weitere Verständnis, da mit dieser Arbeit die Qualität von künstlich erzeugten auditiven Ereignissen verbessert werden soll. Ein künstlich provozierte Hörerlebnis soll gleichwertig mit einem auditiven Ereignis sein, das in der realen Welt entstehen würde. Der Nutzer vor dem Computer im Arbeitszimmer soll ein künstliches Händeklatschen im virtuellen Kölner Dom genauso wahrnehmen, als befinde er sich tatsächlich im Kölner Dom, obwohl das eigentliche Schallereignis die schwingende Membran von Lautsprechern ist. Folglich kann sogar die Natur von Schallereignis und Hörerlebnis unterschiedlich sein. Das Hörerlebnis des Rezipienten ist dadurch nicht falsch oder unkorrekt [Bla97]. 1.2 Motivation der Arbeit Entwicklungspotential Die Visualisierung von CAD-Werkzeugen in der Architektur ermöglicht glaubwürdige, also photorealistische, grafische Eindrücke von geplanten Gebäuden. Doch können diese Werkzeuge bisher keinen akustischen Eindruck mit der gleichen Selbstverständlichkeit generieren. Dazu sind Spezialanwendungen nötig, so genannte Akustiksimulatoren. Computerspiele sind stark beschränkt bei der dynamischen Veränderung des produzierten Raumgefühls. Insgesamt ist der akustische Eindruck der Verhallung bei interaktiven Anwendungen unbefriedigend. Es gibt die verschiedensten Techniken zur Erzeugung und Darstellung5 von künstlichen Audiosignalen, auf die in Kapitel 2 eingegangen wird. Doch haben diese Techniken bisher alle gemein, dass dazu feste diskrete Werte oder Berechnungen auf einer statischen Szenenbeschreibung verwendet werden. Bau von künstlichen 3D-Welten Durch die rasante Entwicklung in der Computergrafik sind virtuelle 3D-Welten aus Computerspielen, Filmen oder Simulationen nicht mehr wegzudenken. Das Erstellen von komplexen 3D-Welten ist eine aufwändige Arbeit. In diesem Bereich tätige Firmen beschäftigen Spezialisten für die Komponenten der 3D-Welt, die als in sich stimmig wahrgenommen werden soll. 3D-Modellierer erschaffen animierte Figuren und so genannte Level-Designer bauen die Architektur der 3D-Welt. Physikalische Modelle simulieren Phänomene wie die Gravitation und künstliche Intelligenz steuert das Verhalten der virtuellen Wesen. Optische Spezial-Effekte werden von Grafik-Programmieren erstellt. 5 Unter Darstellung versteht man die Umsetzung von realen oder abstrakten Dingen, Sachverhalten, Ereignissen oder auch Gefühlen in konkrete Zeichen und Modelle. Dies kann dabei durch diverse Methoden geschehen z.B. in Bild, Ton, Schrift, als dreidimensionales Modell oder durch Tanz. KAPITEL 1. EINLEITUNG 5 Bis heute typischerweise nicht nur am Ende einer Aufzählung der Komponenten, sondern auch beim Produktionsablauf ist der Audiobereich [Gal02]. Oft unerwähnt oder sogar vergessen werden die Komponisten, die ansprechende Melodien kreieren, und die SoundProduzenten, die die virtuelle Welt vertonen. Schon für die ersten Computerspiele wurden eigene Musikstücke komponiert, welche die Audioeigenschaften der verwendeten Systeme ausreizten. Mit der technischen Entwicklung vom monoton Piepsen über mehrstimmige MIDI6 -Stücke bis zur digitalen Aufzeichnung von Instrumenten ist es heutzutage keine Seltenheit mehr, wenn ein komplettes Orchester für eine Computerspielproduktion den Soundtrack einspielt. Zu den Aufgaben der Sound-Produzenten gehört es, die Geräusche zu kreieren, aufzunehmen und zu bearbeiten, die später beim Nutzer ein auditives Ereignis auslösen. Die vollständige, physikalisch-basierte Berechnung von Hallsignalen ist sehr aufwändig und noch nicht interaktiv möglich. So wie in der Computergrafik verschiedene Beleuchtungsmodellen auch nur praktische Annäherungen an die theoretische Beleuchtungsgleichung von Kajiya [Kaj86] sind, gibt es in der Akustik verschieden gute Annäherungen an die Verhallung. Interaktive Verhallung Um in interaktiven Anwendungen ein auditives Ereignis künst- lich auszulösen, sind verschiedenste Techniken nötig. So ist z.B. durch temporale Verzögerung des Audiosignals eine Positionierung möglich. Durch Frequenz-Veränderungen können Akustik-Effekte (siehe Anhang A.3) nachgeahmt werden, die durch Objekte hervorgerufen werden. Eine Verhallung kann durch Verwendung von Hall-Modellen erreicht werden. Das resultierende Hallsignal wird nicht durch direkte Geometrie-Informationen erzeugt, sondern durch Anwendung eines Regelwerkes. Dasselbe Verfahren findet man in Hallgeräten aus der Studiotechnik. Im Hallgerät selbst findet aber keine Berechnung der Schallausbreitung in einem modellierten Raum statt. Das resultierende Hallsignal wird nur basierend auf stochastischer Daten von heuristischen Regeln generiert, die man durch Parameter variieren kann. So kann in einem Hallraum z.B. durch einen Parameter die Länge des Nachhalls eingestellt werden. In diesen Techniken und Hall-Modellen stecken die Ergebnisse jahrzehntelanger Forschung und aufwändiger Versuchsreihen, die zur Zeit eine angemessene Annäherung bieten und es daher vertretbar ist, dieses komprimierte Wissen zu nutzen (siehe Abschnitt 2.6). Vergleichbar ist dies mit den Texturen7 in der Computergrafik, die ja auch nur Annäherungen an feinere Struktur- und Material-Informationen darstellen. Physikalische Berechnung der Akustiksimulatoren Ein Akustikingenieur, der die Klangverhältnisse einer neu zu bauenden Konzerthalle möglichst exakt wiedergeben möchte, benutzt andere Hallberechnungen in Akustiksimulatoren. Diese sind sehr aufwändig und komplex, berechnen aber auch eine sehr gute numerische Annäherung an die zu erwartenden Halleigenschaften. Außerdem ist man nicht auf den Aspekt der 6 MIDI = Musical Instrument Digital Interface ist ein Datenübertragungs-Protokoll für musikalische Steuerinformationen in semantischer Form zwischen digitalen Instrumenten oder PCs. 7 Digitales Bild zur Speicherung und Approximierung von Eigenschaften einer Oberfläche, das das Aussehen eines virtuellen Körpers beeinflußt. KAPITEL 1. EINLEITUNG 6 Echtzeit angewiesen, wie es im Gegensatz dazu bei dem Betrachten oder Erleben von interaktiven 3D-Welten essenziell ist. Approximationen der Spiele-Industrie Interaktive Computerspiele müssen fundamen- tale Vereinfachungen in der Erzeugung der Hallsignale hinnehmen, da sie dem AudioBereich nur geringe Rechenzeit einräumen. Die 3D-Welt wird dazu in Environments8 unterteilt, innerhalb derer Hallräume mit statischen Parametern definiert sind. Unabhängig von der Position eines Hörers oder einer Schallquelle in der virtuellen Welt erfahren die Signale dort immer die gleiche Verhallung. Darum spricht man auch von ”eingedostem” Hall [Factor5]. Beim Betreten eines neuen Environments werden die Hallräume überblendet. Das Einstellen der Eigenschaften der Environments benötigt akustisches Fachwissen und zusätzlichen Aufwand, wenn sich der Spielbereich während der Entwicklung ändert. Dabei kommt es speziell bei Firmen der Unterhaltungsindustrie nicht unbedingt auf physikalische Korrektheit, sondern auf die Verstärkung der Empfindung und der Stimmung des Nutzers an. Seit wenigen Jahren ist eine grobe Approximierung der Akustik-Effekte von Objekten möglich, die im direkten Schallweg liegen [GPG3]. Zukünftige Entwicklungen werden vorraussichtlich verbesserte Berechnungen der Schallausbreitung möglich machen und aktuelle Implementierungen in Audio-Systemen ersetzen. Dies hat zur Folge, dass akustische Szenenbeschreibungen, die in expliziter Parameterform vorliegen, unbrauchbar werden. Vorberechnete Schallausbreitung Ein anderer interaktiver Ansatz (siehe 2.2.1) zur Berechnung der Schallausbreitung verwendet vorberechnete Reflexionen einer Schallquelle und generiert daraus direkt das berechnete Hallsignal. Dabei kann zwar eine große Anzahl von Geometrie berücksichtigt werden, doch ist dies zur Zeit nur mit großen Einschränkungen möglich. So ist in diesem Ansatz die detaillose Geometrie statisch, die Signaldämpfung wird frequenzunabhängig approximiert und bisher werden Beugung und Brechung nicht berücksichtig. Außerdem wird das Audiosignal nur binaural9 erzeugt, und viele Techniken aus dem Feld der auditiven Wahrnehmung bleiben ungenutzt. Dieser Ansatz ist vielversprechend, doch muss die aufwändige Berechnung wiederholt werden, wenn sich die Geometrie verändert. Dynamische Szenen sind daher nicht möglich. 1.3 Zielsetzung der Arbeit Deskriptive Repräsentation Leistungsfähige Computer eröffnen nun die Möglichkeit, z.B. die Parameter der Hall-Modelle dynamisch herzuleiten, statt sie im Vorfeld statisch zu definieren. Dazu ist es nötig, eine Szene unter Berücksichtigungen der Akustik mit einigen wenigen Grundbausteinen in einer Szenenbeschreibung abbilden zu können. So schlägt diese Arbeit vor, Objekte, die bisher eher grafisch verstanden werden, mit in das Audio8 engl. für Umgebung. Hier: eingegrenzter Bereich einer 3D-Welt. Der englische Begriff wird benutzt, um Verwechslungen mit dem Wort ”Hallraum” zu vermeiden. 9 Für zwei Ohren betreffend oder mit beiden Ohren hörend. KAPITEL 1. EINLEITUNG 7 System aufzunehmen. Als Beispiel kann an dieser Stelle etwa ein Raum und ein Portal10 genannt werden. Ein Raum hat eine Volumen, Wände mit speziellen Audioeigenschaften und ist über Türen mit anderen Räumen verbunden. Ein Portal, z.B. eine Tür, kann geschlossen oder zum Teil geöffnet sein. Ein Geräusch aus einem anderen Raum wandert direkt durch die Wände oder den Gang entlang und gelangt durch eine Tür zum Hörer. Unabhängig davon, mit welchem Aufwand oder welcher Genauigkeit die Schallausbreitung in einem solchen Szenario berechnet würde, bleibt die Abstraktion einer geöffneten Tür oder die eines großen Raumes erhalten. Definition von GAPs In dieser Arbeit werden neuartige Geometrie-Akustik-Primitive (GAPs) vorgestellt, die in Kombination mit einander eine komplexe Akustik-Szene beschreiben können sollen. Ohne die Erklärung vorweg zu nehmen, sind die Definitionen der acht GAPs hergeleitet aus den folgenden abstrakten Begrifflichkeiten: • Schallquelle • Hörer • Wand • Hindernis • Portal • Raum • Ausbreitungsmedium • Akustik-Material Adaptive Berechnung Die Verwaltung der GAPs obliegt einer weiteren Software-Komponente, der Geometrie-Engine. Sie steuert den Zugriff und leitet aus den GAPs Informationen her, die zur Veränderung des Schallsignals, und dadurch zu einem überzeugenden auditiven Ereignis bei einem Hörer führen sollen. Durch die Verwendung von GAPs können Akustik-Effekte jeweils mit der Leistungsfähigkeit der Computer-Systeme verbessert und auf dem aktuellen Stand der Technik approximiert werden. So kann mit der Zeit mehr Geometrie berücksichtigt werden und die Akustik-Effekte genauer angenähert werden, ohne dass die Abstraktion der GAPS an Gültigkeit verlieren. Wie und durch welche Implementierung die Akustik-Effekte realisiert werden, bleibt aber auch in Zukunft unabhängig von einer abstrakten Repräsentation eines geeigneten Geometrie-Akustik-Interfaces11 . Eine verständliche Abstraktion von audiorelevanten Objekten zu GAPs, bietet also einem Entwickler mehr Effizienz und längere Nutzungszeiten. Dynamische Manipulation Damit GAPs berücksichtigt werden können, müssen Instan- zen von ihnen erzeugt werden. Dies soll dynamisch während der Laufzeit einer Applikation über das Geometrie-Akustik-Interface geschehen, oder durch das Einlesen einer Szenenbeschreibung im XML12 -Format. Jedes GAP kann mehrfach in einer Szene vorhanden sein, 10 Architektur: Tor oder Pforte. Informatik: Zugang zu Diensten oder Informationen (Webportal). Hier als offene Verbindung zweier Räume gemeint. 11 engl. Schnittstelle 12 XML = Extensible Markup Language. Standard zur Definition von Auszeichnungssprachen. KAPITEL 1. EINLEITUNG 8 auch die virtuellen Hörer. So soll das System auch in verteilten Anwendungen mit mehreren PCs einsetzbar sein. Verteilte Anwendungen Ein Audio-System mit GAPs und der Geometrie-Engine soll auch in Virtual-Reality-Umgebungen verwendet werden können. Dabei werden die aufwändigen Akustik-Berechnungen zentral auf einem eigenen System durchgeführt. Eine skalierbare Anzahl von Sound-Servern (siehe 2.7.3), die jeweils einem virtuellen Hörer oder einer Hörposition entsprechen, brauchten nur Ressourcen schonend bei der GeometieEngine ihre Parameterwerte abzufragen und diese an ihre Soundkarte zu übertragen. Innovative Approximationen Durch die interne Struktur der GAPs kann schnell evaluiert werden, wie ein Geräusch in einen Raum eindringt und dieser Effekt mit heutiger Technik angenähert werden. Ein Teil des Schallsignals dringt stark gedämpft durch die Wand in den Raum. Ein oft größerer Anteil breitet sich durch Räume und Portale aus und erreicht den Raum des Hörers durch eine Tür. Durch eine passende Datenstruktur ist es möglich, effizient zu entscheiden, ob es einen Weg durch Räume und Türen gibt, entlang dessen sich die Schallwellen ausbreiten können. So könnte eine virtuelle Schallquelle erzeugt werden, die aus der Richtung eines Portals erklingt, statt aus der Richtung der ursprünglichen Schallquelle. Ziel dieser Arbeit Diese Arbeit soll dem Nutzer und dem Entwickler einer komplexen 3D-Welt, die aus dynamischer Geometrie und Geräuschen besteht, spürbare Verbesserungen anbieten. Dem Nutzer sollen dynamisch generierte Hallsignale dargeboten werden, die ihn mit Informationen und einem stimmigen Raumgefühl versorgen. Dazu werden Techniken vorgeschlagen, die Qualität von künstlich produzierten auditiven Ereignissen in interaktiven Anwendungen zu erhöhen. Dem Entwickler einer 3D-Welt soll durch die Verwendung von GAPs ein effizientes Akustik-Geometrie-Interface zur Verfügung stehen. Eine dynamische, beschreibende Repräsentation einer Akustik-Szene durch abstrakte Objekte erleichtert das Verständnis und die Wiederverwendbarkeit von erstellten Daten. Die Geometrie-Engine soll aus dem aufgespannten Raum der kombinierten GAPs aktuelle Ausprägungen der Hallparameter berechnen. Zur Darstellung wird die Erfahrung aus jahrelangen Forschungen genutzt. Die Halleinstellungen werden nicht mehr proprietär in Parameterform gespeichert, sondern als abstrakte und nachvollziehbare Szenenbeschreibung durch die Kombination aus GAPs. Die Generierung und Darstellung der Schallsignale ist von der Geometrie-Engine entkapselt, so dass in Zukunft auch neue Hall-Modelle erforscht und verglichen werden können. Dabei werden unter anderem dynamische Geometrie, bewegliche Schallquellen und Hörer, frequenzabhängige Dämpfung, virtuelle Schallquellen, dynamische Verhallung und eine umfangreiche Materialsammlung unterstützt. Als weiteres Ziel soll der Leser dieser schriftlichen Ausarbeitung einen Überblick erlangen über das weite Feld der Akustik, der menschlichen Rezeption von Schallereignissen und der Repräsentation und Berechnung von 3D-Sound am Computer. Durch zahlreiche Literaturverweise und Informationen im Text sowie durch die Anhänge soll diese Arbeit auch als Orientierungshilfe für Neueinsteiger im Bereich 3D-Audio dienen. KAPITEL 1. EINLEITUNG 9 1.4 Aufbau der Arbeit Diese Arbeit besteht aus sechs Kapiteln. Nach dieser Einführung wird im zweiten Kapitel auf die Grundlagen von 3D-Sound eingegangen. Im dritten Kapitel werden die Komponenten der Geometrie-Engine aufgeführt. Kapitel 4 geht auf die Berechnungen der GeometrieEngine ein. Eine Überprüfung der Geometrie-Engine findet im fünften Kapitel statt. Diese Arbeit schließt mit einer Diskussion und einem Ausblick im sechsten Kapitel. Die Anhänge A-C bieten die Möglichkeit auf Fachwissen der Gebiete Akustik, Psycho-Akustik und Digital-Audio und auf Begriffserklärungen zurückzugreifen. In Abbildung 1.2 ist dargestellt, an welchen Stellen die Abschnitte aus Kapitel 2 in dieser Arbeit Verwendungen finden und wie die Arbeit aufgebaut ist. Anhang A 1 Einleitung 3 Geometrie-Engine 2.1 Konzepte 3.2 GeometrieAkustik-Primitive Statisch 3.3 GeometrieAkustik-Interface 2.2 Beam-Tracing 2.3 AkustikSimulatoren Dynamisch 3.4 Geometry-Engine 3.5 Sound-Kontext 3.6 Implementierung Anhang B 2.4 Positionierung Anhang C 2.5 Wiedergabe 4 Berechnung 2.6 Echtzeit 5 Überprüfung 2.7 Virtual Reality 6 Diskussion und Ausblick Abbildung 1.2: Aufbau und Struktur der Arbeit. Die Pfeile geben die inhaltliche Abhängigkeit, die Striche den textlichen Ablauf der Abschnitte an. Kapitel 2 Grundlagen von 3D-Audio «The score was 5-4, his favour, when his paddle made contact with the ball. There was a beautifully resonant ’pong’ sound, and the ball bounced back to the other side of the screen.» (Aus dem Buch Zap! The Rise and Fall of Atari von Scott Cohen) Scott Cohen schreibt in ”Zap! The Rise and Fall of Atari” über das erste kommerzielle Videospiel und wie ein einfaches Piepsen eine intensive Hörerfahrung auslösen kann. Seitdem hat sich die Technik der Akustikberechnung und die Visualisierung der Ergebnisse [Mah01] weiter entwickelt. Die Realisierung von 3D-Audio im Computer hängt von der erwünschten Zielsetzung ab, und daher sind unterschiedliche Ansätze entwickelt worden. Man kann die Zielsetzung grob in drei Bereiche unterteilen. • Akustiksimulationen: Die Berechnung von Halleigenschaften in zukünftigen Konzertsälen oder anderen Bauten liefert durch physikalische Methoden präzise numerische Annäherung an die akustischen Begebenheiten einer realen Szene. Durch den großen Rechenaufwand sind diese Simulatoren nicht interaktiv. • Nachvertonung einer Animation: Durch den Einsatz von Studio-Technik wird in diesem Post-Produktions-Schritt bei einer Film-Sequenz oder einem graphischen Clip ein hoher kinematischer Eindruck erreicht. • Interaktive Darstellung von 3D-Audio: Durch Echtzeit-Techniken sollen virtuelle Sounds in einer virtuellen Szene so verhallen, dass das Resultat ein glaubwürdiges auditives Ergebnis bei einem Hörer auslöst. Da dies während des Programmlaufs z.B. eines Computerspieles oder einer anderen zumeist graphischen Interaktion geschieht, beruht dieser Ansatz auf der Verwendung von Hall-Modellen. Die physikalische Schallausbreitung wird approximiert, um die Anforderung an dynamische Darstellung zu erfüllen. In diesem Kapitel wird auf die Generierung von 3D-Audio in Echtzeit eingegangen, und die Akustiksimulationen werden zum Vergleich herangezogen. 10 KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 11 2.1 Audio-Konzepte in virtuellen 3D-Welten In dem Verlauf der letzten Jahre haben sich die Fähigkeiten von Soundchips und damit die Qualität der Klangwiedergabe von Soundkarten und anderen technischen Akustikgeräten ähnlich rasant verbessert, wie Grafikchips und die daraus entwickelten Anwendungen. Die Abbildung 2.1 zeigt diese Entwicklung exemplarisch an der grafischen Darstellung zweier Computerspiele. Die Evolution der akustischen Darstellung reicht von einem Piepsgeräusch im legendären Spiel Pong [Pong] in a) bis zur Wiedergabe von Orchestermusik und realitätsnahen Geräuschen mit Dolby-Digital1 auf aktuellen Spiele-Platformen in b). (a) Pong von 19722 (b) Call of Duty von 20033 Abbildung 2.1: 30 Jahre Computerspiele-Entwicklung. Chuck Russom gewann im Jahr 2004 den Game Developers Choice Award4 für die Soundeffekte in dem Spiel Call of Duty [CoD]. Die Geräusche der alten Waffen beim Schießen und Nachladen wurden aufwändig dgitalisiert. Zusätzlich spielte ein 70-köpfiges Orchester in den Sony Aufnahme-Studios in Los Angeles die musikalische Untermalung [Gia03] ein. Damit die Audioerfahrung räumlich wirkt, haben sich Konzepte herausgebildet, die den Verfahren der Computergrafik ähnlich sind. Im Folgenden werden Konzepte beschrieben, um Akustik-Szenen zu repräsentieren und darzustellen. 2.1.1 Listener Der Listener oder Hörer ist das abstrakte Abbild des Nutzers in der virtuellen Szene. Im Weiteren wird Listener verwendet, wenn der Hörer in der virtuellen Szene gemeint ist, um Verwechslungen mit einem realen Schallempfänger zu vermeiden. Der Listener ist durch die diskrete Angabe seiner (Kopf-)Position, der Blickrichtung, oder besser Hörrichtung und der Ausrichtung, wo für ihn Oben ist, beschrieben. Diese Vektoren werden position, lookat und up genannt. Wenn der Listener sich in der Szene bewegt, wird die Richtung der Geschwindigkeit in dem Vektor velocity gespeichert. 1 Dolby Digital = ein digitales Sechs-Lautsprecher-System http://www.pong-story.com/pcpong.htm 3 Bildquelle: http://www.callofduty.com 4 Auszeichnung der International Game Developers Association 2 Bildquelle: KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 2.1.1.1 12 First-Person Bei Anwendungen, die aus der Ich-Perspektive (First-Person) grafisch dargestellt sind, ist das Konzept des Listener direkt auf den grafischen Kontext übertragbar. Typische Beispiele sind so genannte Ego-Shooter oder Renn-Simulationen (siehe Abb. 2.2). Hier liegt das Audio-Koordinatensystem mit dem grafischen Koordinatensystem übereinander und die Angaben der Kamera/Listener und der Objekte/Sounds stimmen überein. Dabei muss auf die Skalierung geachtet werden, um die akustischen Effekte korrekt darzustellen. Abbildung 2.2: First Person Ansicht in Farcry.5 2.1.1.2 Top-View Wenn eine Anwendung eine Szene oder das Abbild des Nutzers von oberhalb beobachtet, spricht man von einer Aufsicht oder der Top-View (siehe Abb. 2.3). Dies ist bei strategischen Echtzeit-Simulationen oder geschichten- und rätselbasierten Spielen, so genannten Adventures üblich. Dabei erlaubt das Spieledesign eine Mischung aus dem Audioumfeld des Charakters des Nutzes, dem Avatar, oder dem Audioumfeld der Kamera. Die Koordinatensysteme von Grafik und Audio und die Koordinaten von Objekt und Sound liegen dabei nicht zwingend übereinander. Abbildung 2.3: Top-View Ansicht in Warcraft 3.6 5 Bildquelle: 6 Bildquelle: http://www.crytek.de http://www.blizzard.com/war3x/ KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 2.1.1.3 13 Split-Screen An einem System können auch zwei oder mehrere Nutzer gleichzeitig agieren. In abwechselnder, so genannter hot-seated, Spielweise entspricht das Audioverhalten dem eines Einzelspielers. Sind dagegen mehrere grafische Kontexte der Nutzer gleichzeitig sichtbar, spricht man vom Split-Screen Modus (siehe Abb. 2.4). Für jeden Nutzer wird eine eigene virtuelle Kamera im Grafik-System und ein Listener benötigt, damit abhängig von seiner Position Soundquellen gemischt und dann auf dem angeschlossenen Lautsprecher-System ausgegeben werden. Diese multi-Listener 3D-Sound-Unterstützung ist bisher nur teilweise umgesetzt, da eine räumliche Positionierung der virtuellen Schallquellen nicht stattfindet, sondern nur eine Abschwächung über die relative Entfernung berücksichtig wird. Dazu werden die Positionen der virtuellen Schallquellen in die Koordinatensysteme der Listener überführt und nur die virtuelle Schallquelle abgespielt, der jeweils die kürzeste Distanz zu einem Listener hat. Es werden nicht mehrere hörerabhängige Sound-Eindrücke für eine virtuelle Schallquelle dargestellt. Abbildung 2.4: Vierfacher Split-Screen bei Outrigger.7 2.1.2 Soundobjekte Soundobjekte sind virtuelle Audioemitter, die eine Schallquelle darstellen. Es gibt mehrere technische Möglichkeiten das Audiomaterial dem Soundobjekt zur Verfügung zu stellen. Das Audiomaterial kann aus einer Datei oder einer anderen Quelle komplett oder dynamisch geladen oder andersartig generiert werden. Des Weiteren wird der Begriff des Sounds für eine virtuelle Schallquelle in einer künstlichen 3D-Welt eingeführt. Damit soll eine Verwechselung mit einer physikalischen Schallquelle verhindert werden. 2.1.2.1 Ambienter Sound Ambiente Sounds sind Geräusche oder Hintergrundmusik, die nicht räumlich positioniert sind, also eher zur Untermalung oder Verdichtung des Gesamteindrucks dienen. Bei ambienten Sound kann das Audiomaterial in beliebiger Abmischung vorliegen, da es einfach pro Kanal oder anteilig auf die Lautsprecher verteilt wird. 7 Bildquelle: http://www.thegnet.ch/dreamcast/outtrigger/preview.htm KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 2.1.2.2 14 3D-Sound Ein Soundobjekt, das an einer bestimmten Position im virtuellen Raum liegt, wird 3DSound genannt. Das Audiomaterial muss in mono vorliegen, da es als Punktschallquelle abgestrahlt wird und ein Stereosignal nicht eindeutig wiedergegeben werden kann. Desweiteren sollte es möglichst dry, das heißt ohne Reflexionen oder Nachhall aufgenommen oder produziert sein, da dies sonst den späteren räumlichen Eindruck stark beeinflussen kann. Omni-Sound Ein Omni-Sound strahlt sein Signal zu allen Richtungen mit der gleichen Stärke ab und auch die Abnahme der Lautstärke mit der Entfernung ist in alle Richtungen uniform. Insofern simuliert ein Omni-Sound eine kugelförmige Schallquelle. Gerichteter Sound Ein gerichteter Sound simuliert einen Emitter, der sein Signal in eine bestimmten Richtung stärker abstrahlt als in andere. In dem Soundmodell von VRML (siehe 2.7.1) werden beispielsweise zwei Ellipsen benutzt, um diese Schallausbreitung zu definieren. Physikalisch kann man die Repräsentation einer Schallquelle zu einem gerichteten Sound durch die Vereinfachung von blockierenden Hindernissen verstehen. So besitzen z.B. eine Trompete oder ein Radio durch die jeweilige Bauform ein ungleichförmiges Abstrahlmuster. 2.1.3 Koordinatensystem Koordinatensysteme dienen der Spezifizierung und Animation von Objekten im Raum. Koordinatensysteme spielen dann eine wichtige Rolle, wenn Positionen oder Vektoren an die Audio-Schnittstellen übergeben werden. Obwohl bei der Schädelvermessung und in der Psychoakustik spärische Polarkoordinaten gängig sind (siehe Anhang B.1), verwenden Sound-Systeme das kartesische Koordinatensystem im Euklidischen Raum mit drei Dimensionen. Dabei unterscheiden man in links- und rechts-händige Koordinatensysteme. Bildlich leicht zu erklären ist das rechtwinklige Abspreizen von drei Fingern einer Hand. Zeigt der Zeigefinger nach oben, der Daumen seitwärts und steht der Mittelfinger senkrecht dazu ab, so beschreibt die rechte Hand ein rechts-händiges, die linke Hand ein links-händiges Koordinatensystem. Es gibt keine affine Abbildung, die beide in einander überführt. Mathematisch ist eine Umwandlung leicht durch das Spiegeln der Z-Achse erreichbar. Die zwei später ausführlicher beschriebenen gängigsten Audio-Pakete, DirectSound3D und EAX, verwenden unterschiedliche Orientierungen. 2.1.4 Wiederholungsraten Das Gehör ist in der Lage schneller Reizfolgen zu verarbeiten als das Auge. Diese Erkenntnis führt aber nicht zu pauschalen Anforderungen an ein Audio-System. Man muss die Wiederholungsraten einzelner Aspekte wie Tonhöhe, Positionen oder Nachhall eines künstlich produzierten Hallsignals getrennt betrachten. So verlangen Veränderungen des eigentlichen Audiomaterials, wie bei künstlichen Motor-Geräuschen, hohe Wiederholungsraten, da das Gehör Sprünge in Tonänderungen leicht erkennt. KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 15 Die Orientierung des Kopfes ist ein wichtiger Faktor zur Positionierbarkeit von auditiven Ereignisse. Darum sollte alle Aspekte, die hörerabhängig sind, mit mindestens 20 Hz wiederholt werden. Messungen zeigen keine signifikante Verbesserung bei Erhöhung der Wiederholungsrate auf über 20 Hz [San96]. Für die Aktualisierung der Verhallungsparameter können noch geringere Wiederholungsraten angesetzt werden. Daher ist es in einem Audio-System erstrebenswert verschiedene Aktualisierungen getrennt von einander vornehmen zu können, die unabhängig von der grafischen Darstellungen sind. Die Tabelle 2.1 zeigt einige Bereiche und deren Wiederholungsraten, wie sie ein Hersteller einer Sound-API vorschlägt. Tabelle 2.1: Empfohlende Wiederholungsraten. Dynamisches Audiomaterial Listener Position/Orientierung Sound Position Listener Reflexions-/ Nachhall-Richtungsvektoren Nachhallparameter Aktualisierung > 60 Hz 30 Hz 30 Hz 30 Hz 15 Hz Durch System-Verzögerungen leidet die Positionierbarkeit von einem Sound. Durch Versuche [Wen01] ist dies ab Verzögerungen von 96 ms festgestellt worden. 2.2 Aktuelle Forschungsansätze Aus dem breiten Feld der aktuellen Forschungsprojekte werden exemplarisch zwei Arbeiten angeführt. Ein Ansatz realisiert die geometrische Ableitung der Impulsantwort eines Nachhalls. Dies ist bisher nur mit Einschränkungen möglich, so dass ein zweiter Ansatz unter anderem die Verwendung von Sound-APIs der Spiele-Industrie vorschlägt. 2.2.1 Schallausbreitung durch Beam-Tracing In der Grafikgruppe der Princeton Universität [PGG] wird ein Ansatz von 3D-Sound verfolgt, der auf dem so genannten Beam-Tracing Verfahren basiert [TFNC01, FTC02, FTC03]. Statt eines eindimensionalen Strahls wird ausgehend vom Sound eine Art Pyramidenstumpf aufgespannt, der durch Geometrie reflektiert oder aufgetrennt wird. So wird die Schallausbreitung von nicht beweglichen Sounds vorberechnet. Zu einem Punkt im Raum können dann die, von einem Sound ausgehenden, Beams schnell berechnet werden. Akustisch werden für einen Listener so die Reflexionen bestimmt, die ihn erreichen (vergleiche Abb. 2.5). Die Impulsantwort wird zusammengestellt und kann dann binaural ausgegeben werden. Die Berechnung unterstützt bisher keine material- oder frequenzabhängige Absorption, keine Streuung, keine Transmission und keine dynamische Geometrie. Dieser Ansatz ermöglicht interaktiven 3D-Sound unter Berücksichtigung von komplexen Geometrie-Informationen mit wenig Dateilreiche. Nicht aufgeführt ist, ob HRTF-Methoden berücksichtigt werden, die die Reflexionen an Pinna und Schultern nachbilden (siehe 2.5.2 und Anhang B.1). Da keine Audiomate- KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 16 rialien verwendet werden, ist auch der Verzicht auf eine semantische Szenenbeschreibung vertretbar. Diese ist aber unumgänglich, wenn das System die fehlenden Berechnungen einmal unterstützen sollte. Im Grunde könnte der Beam-Tracing-Ansatz als ein eigenes Sound-Modul in dem später erklärten Sound-Kontext dieser Arbeit implementiert werden. Abbildung 2.5: Frühe Reflektionen eines Sounds (rot) für einen beweglichen Listener (weiss) anhand des Beam-Tracing Ansatzes.9 2.2.2 Clustering und Culling in komplexen Audioszenen Dieses Verfahren aus dem INRIA10 verringert die Last der Audioberechnung, in dem die Sounds nach ihrer Hörbarkeit selektiert werden und nahe bei einander liegende Sounds zu Gruppen zusammen gefasst werden [TGD03]. Das Mischen der Sounds einer Gruppe wird auf die GPU11 der Grafikkarte ausgelagert. So können hunderte von Sounds räumlich verwalten werden. Dieses Verfahren beschäftigt sich allein mit der Positionierung und nicht mit der Verhallung von Sounds. Es profitiert von aktuellen Sound-APIs des Massenmarktes. Bei der Positionierung der Sounds wird die Hardware der Soundkarte genutzt, und die künstliche Verhallung geschieht durch die Reverb-Engines der verwendeten Sound-API. 2.3 Akustiksimulatoren Besonders bei der Planung von Bauten, die akustische Eigenschaften erfüllen sollen, kann schon frühzeitig die zu erwartende Verhallung und die erreichte Signalqualität sehr genau abgeschätzt werden. Dabei kommen Akustiksimulatoren zum Einsatz. Die Abbildung 2.6 zeigt das Modell der Hagia Irene [Hagia] in Istanbul, die zu einer Tonhalle umgebaut wurde. 9 Bildquelle: http://www.cs.princeton.edu/~funk/acoustics.html = (franz.) Institut National De Recherche en Informatique et en Automatique 11 GPU = Graphics Processing Unit 10 INRIA KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 17 Abbildung 2.6: Modell der Hagia Irene in dem Akustik-Simulator Odeon 6.5 gefüllt mit Reflexionen hoher Ordnung. Einige der bekanntesten Akustiksimulatoren sind: • Catt [CATT] Entwicklung der Technischen Universität Chalmers in Schweden • Odeon-6.5 [Odeon] Entwicklung der Technische Universität in Dänemark [DTU] • Ramsete [Ramsete] Entwicklung der Universität Parma in Italien • EASE [EASE] Entwicklung der Firma SDA aus Deutschland Akustiksimulatoren werden verwendet, um Parameter der ISO-Norm 3382 [ISO3382] zu bestimmen, die nicht mit den Parametern des I3DL2 Standards (siehe 2.6.1.2) verwechselt werden dürfen. Da auch die Akustiksimulatoren von Vereinfachungen ausgehen [AFS03] und ein gewisses Fehlermaß produzieren, weichen die berechneten Resultate von den Messergebnissen ab [Bor02]. Je nach zur Grunde liegender Technik erlauben Akustiksimulatoren eine Bestimmung der Nachhallzeit, der Schallfeldausbreitung oder generieren sogar Audiosignalen mit der berechneten Verhallung. Konzertsäle haben typischerweise eine Nachhallzeit von ca. 1,5 Sekunden, wobei diese von der Besucheranzahl abhängt, da auch das Publikum Schalldämmung und Schalldämpfung verursacht. Sprechsäle haben typischerweise kürzere Nachhallzeiten, da die Sprache sonst ungenau und unscharf wahrgenommen wird. Die Berechnungszeit einer RaumImpulsantwort bezüglich einer festen Listener- und Sound-Position liegt je nach Computer und Akustiksimulator bei einigen Sekunden. Auf Grund der Berücksichtung komplexer Geometriemodelle und einer Vielzahl an Materialien berechnen diese Programme Reflexionen bis zur 50.000ten Ordnung oder bis die Schallleistung vollständig absorbiert ist. Akustiksimulationen berücksichtigen die Schalldämpfung an akustischen Materialdaten, die mit bis zu 8 Messwerten im Oktavenabstand vorliegen. In Tabelle 2.2 sind exemplarisch einige der knapp 500 Materialen aus dem Datensatz der Software Odeon 6.5 aufgeführt. Dieser Datensatz durfte für diese Arbeit verwendet werden. KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 18 Tabelle 2.2: Gemessener Absorptionsgrad verschiedener Materialien. Material / Frequenz in Hz 63 125 250 500 1.000 2.000 4.000 8.000 Doppelverglasung, 30 mm Solide Holztür Rauher Asphalt Sperrholz Panele, 1 cm Wasseroberfläche (Pool) Teppich, dick auf Zement Publikum auf Holzstühlen sitzend, ca. 2 Pers./m2 0,15 0,14 0,02 0,28 0,008 0,02 0,24 0,15 0,14 0,02 0,28 0,008 0,02 0,24 0,05 0,10 0,03 0,22 0,008 0,06 0,40 0,03 0,06 0,03 0,17 0,013 0,14 0,78 0,03 0,08 0,03 0,09 0,015 0,37 0,98 0,03 0,10 0,04 0,10 0,02 0,60 0,96 0,02 0,10 0,07 0,11 0,02 0,65 0,87 0,02 0,10 0,07 0,11 0,025 0,65 0,87 2.4 Techniken der digitalen Schall-Positionierung Schon erste Audio-Anwendungen am Computer versuchten beim Hörer einen interaktiven räumlichen Eindruck durch ein künstlich erzeugtes, auditives Ereignis zu erwecken. Die Überprüfung dieser Hörerlebnisse ist sehr aufwändig [Groe02]. Eine Übersicht einiger Ergebnisse findet sich in [Lok02]. Anfänglich wurde die räumliche Positionierung des auditiven Ereignisses durch unterschiedliche Lautstärkereglung der Audiokanäle erreicht. Fortgeschrittene Techniken erreichen dies durch Veränderungen am Frequenzspektrum und an den Laufzeiten der Signale. Beide Techniken haben gemein, dass sich die wiedergegebenen Signale einzelner Kanäle des zu Grunde liegenden Lautsprecher-Systems unterscheiden (siehe Anhang B.4). 2.4.1 Quantitative Differenz Durch unterschiedliche Lautstärkereglung der Audiokanäle kann eine grobe Soundpositionierung erreicht werden (siehe Abb. 2.7 a) ). Auch an Hifi-Anlagen findet sich ein Regler für die Verteilung der Lautstärke. Man nennt ihn Balance oder Panning. Werden zwei Kanäle (stereo) genutzt, kann eine eindimensionale Positionierung auf der Verbindungslinie der Lautsprecher erreicht werden. Bei Quad-Sound, mit zwei Stereo-Kanälen, kann eine eindimensionale Platzierung auf dem von den vier Lautsprechern gebildeten Kreis erreicht werden. Eine Verschiebung der virtuellen Schallquelle in die Tiefe oder in der Höhe ist mit der Panning-Methode nicht möglich. (a) Lautstärke-Veränderung der Audiokanäle (b) Laufzeit- und Frequenz-Veränderung der Audiokanäle Abbildung 2.7: Verschiedene Techniken der Schallpositionierung. KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 2.4.2 19 Temporale und qualitative Differenz Das Gehör wandelt die temporale und qualitative Differenz der eingehenden Schallimpulse in einen räumlichen Eindruck um (siehe Anhang B.4). Heutige Verfahren zur künstlichen Schall-Positionierung basieren auf der Nachahmung der IID und ITD des Signals auf verschiedenen Kanälen (siehe Abb. 2.7 b) ). Mikrofon-Aufnahmen im Gehörgang, die Verwendung eines Kunstkopfes und weiterführende Forschungen in dem Gebiet haben effiziente Filtertechniken hervor gebracht. Über die binaurale Head-related Transfer Funktion (HRTF) kann über Kopfhörer ein guter räumlicher Eindruck entstehen. 2.5 Techniken der digitalen Schall-Wiedergabe Moderne Soundkarten und Hifi-Anlagen besitzen Ein- und Ausgänge für digitale Audiosignale im SPDIF12 -Format über optische TOSLINK13 oder coaxiale14 Buchsen. Das menschliche Ohr kann ohne Implantate nur analoge Schwingungen wahrnehmen, so daß das digitale Audiosignal umgewandelt werden muss. Durch einen Lautsprecher wird es in Schwingungen (siehe Anhang A.1.1) der Luft konvertieren, die wir Menschen dann hören können. Der Lautsprecherbau umfasst ein sehr großes Aufgabengebiet. Der konzeptionelle Unterschied verschiedener Lautsprechersysteme hat dabei fundamentale Auswirkung auf die Qualität des auditiven Ereignisses. 2.5.1 Lautsprecher-Systeme Da Luft für uns Menschen das wichtigste Schall übertragende Medium ist, sind Techniken entwickelt worden, die dieses Medium mit kontrollierbaren Schallereignissen füllt. Der erste, MagnaVox getaufte, kommerzielle Lautsprecher wurde von dem Dänen Jensen15 [CEA] erfunden. Mehrere Lautsprecher bilden ein Lautsprecher-Systemen. Zur Darstellung eines räumlichen Eindrucks unterscheidet man zwischen raumbezogener und kopfbezogener Wiedergabe [Bla97]. Verständlicher sind die Bezeichnungen Lautsprecher-Stereo16 und Kopfhörer-Stereo [Seng1], die streng von einander zu trennen [Seng2] sind. Bei Lautsprecher-Stereo entsteht ein Gebiet sehr guter Hörqualität (Sweet-Spot) [Gar98]. Verlässt ein Hörer den Sweet-Spot, verändert sich das Laufzeit-Verhalten und es treten Interferenzen der Amplituden auf. Der räumlichen Eindrucks verschlechtert sich deutlich. 2.5.1.1 Mono Mono oder monaural bezeichnet die Wiedergabe einer einzelnen Tonspur. Nicht nur ein einzelner Lautsprecher, so wie er in frühen Fernsehmodellen verbaut wurde, strahlt ein Mono-Signal ab. Auch mehrere Lautsprecher, denen das selbe Signal zugeführt wird, sind mono. 12 SPDIF = Sony/Philips Digital Interface, Format zur Übertragung digitaler Audiodaten = Kabelverbindung zur optischen Übertragung von Audiodaten 14 Zentraler Leiter umschlossen von Isolierung und Abschirmung. 15 Peter L. Jensen (1886-1961) 16 Siehe auch http://de.wikipedia.org/wiki/Interchannel-Signale 13 TOSLINK KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 2.5.1.2 20 Lautsprecher-Stereo Liegen mehrere (wenn auch nur leicht) unterschiedliche Tonspuren vor, spricht man von Stereo, da ein stereophoner Eindruck entsteht. Stereo Soll ein Stereo-Signal über zwei Lautsprecher abgestrahlt werden, so nennt man dies ein Stereo-Lautsprecher-System. Dieses Audiomaterial ist speziell für die raumbezogene Wiedergabe produziert, da im Raum Reflexionen, und störende Laufzeitveränderungen auftreten können. Quad Die historische Bedeutung von Quad-Sound lag in der technischen Möglichkeit, zwei Stereo-Ausgänge auf einer Soundkarte zu verbauen. Im Treiber der Soundkarte wurden die zwei zusätzlichen Kanäle genauso verwendet wie bei der Stereo-Wiedergabe zuvor, nur dass zusätzliche Lautsprecher hinter oder neben dem Hörer platziert werden konnten. Dolby-Digital Durch drei Stereoausgänge mit sechs eigenständigen Kanälen konnte die Platzierung der Lautsprecher weiter optimiert werden. Dolby-Digital unterstützt drei Lautsprecher vor dem Hörer (Left, Center, Right), zwei hinter ihm (Left Rear, Right Rear) und einen Subwoofer17 für den LFE18 -Kanal. Diese Konfiguration wird auch als 5.1-System bezeichnet und wird von gängigen Kino-, DVD und Computerspiele-Produktionen unterstützt. Weitere Konfiguration mit einem zusätzlichen Kanal sind möglich, die Dolby-Digital Surround EX 6.1 und Dolby-Digital Surround EX 7.1 heissen. 2.5.1.3 Kopfhörer-Stereo Ein Kopfhörer besteht aus zwei Lautsprechern, die sich in unmittelbarer Nähe und fixer Position zu den Ohren befinden. Umschließen die Kopfhörermuscheln die Ohren vollständig, spricht man von circumauralen Kopfhörern. Liegen sie auf der Pinna, spricht man von supraauralen Kopfhörer. Intraaurale Kopfhörer befinden sich innerhalb des Gehörgangs [Bla97]. Bei dieser Wiedergabe können keine Interferenzen zwischen den beiden Lautsprechern auftreten und auch die Veränderung des abgestrahlten Signals durch Luftabsorption oder zusätzliche Verhallung ist minimal. Kopfhörer bieten hervorragende Eigenschaften zur Soundpositionierung, da die fixe Position der Lautsprecher sehr gute temporale Verschiebungen zulässt. Man spricht von kopfbezogener Stereofonie. Problematisch ist die Rezeption von Audiomaterial in raumbezogener Abmischung mit Kopfhörern. Da der Großteil des globalen Musikmaterials in raumbezogener Abmischung vorliegt, wird oft fälschlicherweise eine im-Kopf-Positionierung wahrgenommen. 2.5.2 HRTF-Filter HRTF steht für ”Head-related Transfer Function” und beschreibt einen Filter, der durch akustischen Veränderungen beim Hörer selbst entsteht [Lok02, Gar99]. Die entstehenden Reflexionen und Beugungen an Schulter, Kopf und Pinna können winkelabhängig [Beg94] 17 Spezieller 18 LFE Lautsprecher zur Wiedergabe tieffrequenter Schallwellen. = Low Frequency Effects KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 21 betrachtet werden. HRTFs werden durch Aufnahmen im Gehörgang eines so genannte Kunst-Kopfes oder am lebenden Hörer gemessen. Die Filter sind leistungsstarke Verfahren um ein Schallsignal zusätzlich zu verändern und effektiv ein auditives Ereignis auszulösen. Die Daten der HRTFs sind in der Regel nicht öffentlich und die Hersteller von Sound-APIs verwenden ihre eigene Filter [FJT02], die einen breiten Durchschnitt der physiologischen Unterschiede abbilden. Sensaura stellte 1999 ein kostenpflichtiges System mit dem Namen ”Virtual Ear” vor [SEN4], mit dem ihre Filter durch vier Parameter verändert werden konnten. Durch individuelle Hörtests des Kunden soll so eine bessere Wiedergabequalität erreicht werden. 2.5.3 Wellenfeld-Synthese Die akustische Darstellung auf Grund der Wellenfeld-Synthese erzeugt eine physikalische Schallquelle im Raum. Diese löst direkt ein authentisches auditives Ereignis aus statt mit Hilfe von Laufzeit- oder Pegeldifferenzen. Nach dem H UYGENS´sche Prinzip aus der Wellentheorie ist eine große Welle durch die Überlagerung mehrerer kleiner Wellen möglich. A. J. B ERKHOUT entwickelte daraus die Theorie der Wellenfeld-Synthese an der Universität Delft (Niederlande), die auch das Fraunhofer Institut weiter erforscht und vermarktet [IDMT]. Unter dem Markennamen Iosono ist in Illmenau ein Kino mit dieser Art der Schall-Wiedergabe ausgestattet worden. Große Flächen der Raumbegrenzung werden mit einer Vielzahl von einzeln ansteuerbaren Lautsprechern ausgestattet, die dann an beliebigen Positionen im Raum Schallquellen erzeugen können. 2.5.4 Wiedergabe über Knochenschall Es gibt auch moderne Ansätze, die nicht über den Luftschall auditive Ereignisse erzeugen können. Der in B.3.4 beschriebene Knochenschall kann Studien zur Folge in Zukunft interessante Lösungen bieten. So passt die Tonwiedergabe eines Mobilfunk-Gerätes in einen Backenzahn [AL02], was auch unerwünschtes Mithören erschweren würde. Auch Lösungen am Armband, indem man das Gerät an den Schädel oder einen Finger unterhalb des Ohres drückt, sind denkbar. 2.6 3D-Sound in Echtzeit Echtzeit-Techniken werden verwendet, wenn Interaktion mit beweglichen Listener und Sounds in der Szene verlangt ist. Stand der Technik sind stochastische Verfahren zur Verhallung, welche mit verschiedenen Parametern beeinflussbar sind. Dieser Ansatz liefert zwar kein präzises Abbild einer spezifischen Umgebung, doch werden glaubhafte auditiven Ereignisse [FJT02] erzeugt, die der Verhallung gerecht werden. Abbildung 2.8 zeigt einige verständliche Parameter zur Manipulation der Impulsantwort. Diese Parameter des I3DL2 Soundstandards werden im Kapitel 2.6.1.2 ausführlich erklärt. Bisherige Ansätze beruhen auf dem statischen Einstellen der Parameter in Environments durch einen Sound-Designer. Im interaktiven Markt können Soundkarten Halleffekte darstellen, die den Raum nachahmen, in dem sich der Listener befindet. Neuere Tech- KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 22 Abbildung 2.8: Interaktive Manipulation einer Impulsantwort. Parameter: a) Verzögerung zur ersten frühen Reflexion b) Länge der markanten frühen Reflexionen c) Länge des Nachhalls d) Abschwächung der frühen Reflexionen zum Direkt-Signal e) Abschwächung des Nachhalls zum Direkt-Signal f) Dichte und Verteilung der frühen Reflexionen niken erlauben bis zu vier Hallräume [EAX] oder das Einstellen individuellen Verhallung von Sounds durch DirectSound3D (siehe 2.6.3.1) mit eingeschränkten Parametern. Die Repräsentation der Hallräume durch Environments stößt an ihre Grenzen, wenn dynamische Geometrie die Szene verändert, wie es in manchen Anwendungen [HL2] schon der Fall ist. Aktuelle Physik-Modelle [HAVOK] unterstützen nicht nur kleinere Objekte, sondern können massive Veränderung der Szene berechnen, z.B. durch einstürzende Gebäude oder zerstörte Wände. Dies macht es auf der einen Seite notwendig die Veränderung der akustischen Verhältnisse einer Szene aus den Geometrieinformationen herzuleiten, auf der anderen Seite wird dadurch die interaktive Verhallung ohne Environments ermöglicht. Die Anforderung an Interaktivität führte zu stochastischen Modellen, mit denen Anwendungen in Echtzeit 3D-Sound erzeugen können. Diese Modelle sind mit der Zeit verbessert worden und werden auch für die nächste Zeit in diesem Marktbereich maßgeblich Verwendung finden. Diese Arbeit baut konzeptionell auf diese Techniken auf. Es folgt deshalb eine Übersicht von Sound-Standards, daraus entwickelten ProgrammierSchnittstellen, so genannte Sound-APIs, Techniken der künstlichen Verhallung und der Bedeutung von 3D-Sound in der Computerspiele Industrie. 2.6.1 3D-Sound Standards Im Jahr 1994 gründete sich die Interactive Audio Special Interest Group (IA-SIG) auf einer Konferenz von Entwicklern von Computerspielen. Eine der schon Ende 1999 wieder geschlossenen Arbeitsgruppen, die 3D Working Audio Group (3DWG), verabschiedete zwei wichtige Standards, auf die der gesamte interaktive 3D-Sound aufbaut. KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 2.6.1.1 23 I3DL1 Standard Im Jahr 1998 wurde der erste Standard von der 3DWG spezifiziert. Er sollte den Hersteller von Soundkarten und Entwicklern von Sound-APIs Richtlinien und Techniken zur Hand geben, um interaktive Audio-Applikationen zu ermöglichen. Besonderes Augenmerk lag bei der Anforderung nach Interaktivität und einigen plattform-übergreifenden Mindestvorrausetzungen. Wenige Parameter sollten möglichst realistische Soundpositionierung ermöglichen. Verabschiedet wurden die ”Interactive 3D Audio Rendering and Evaluation Guidelines (Level 1)” [IASIG98], die mit I3DL1 abgekürzt werden. Diese sollten den Eindruck dreidimensionaler Schall-Positionierung spezifizieren und ihn durch verschiedenen Wiedergabe-Techniken (Kopfhörer, Stereo, Quad, etc.) ermöglichen (siehe 2.5). Neben einer Reihe von Vorschlägen der technischen Realisierung und der Evaluierung eines solchen Standards wurden auch dedizierte Anforderungen gestellt. So muss ein I3DL1-kompatibles Audiosystem mindestens acht Sounds mit mindestens 22 kHz Abtastrate und 16 Bit Bitauflösung wiedergeben können (siehe Anhang C). Die Parameter zur Emulation von AkustikEffekten sind an dieser Stelle aber von größerem Interesse. Für jeden Listener und jeden Sound individuell einstellbar sind: • Position • Orientierung – Richtungsvektor: Blickrichtung – Richtungsvektor: Oben • Geschwindigkeit Dabei erfolgt die Angabe der Position durch eine globale Raumkoordinate (x,y,z) und die Orientierung durch Angabe von zwei Vektoren für die lokale Ausrichtung (siehe 2.1.1). Ein Bewegungsvektor gibt die Richtung und die Geschwindigkeit bei einer Bewegung an. Ein Sound soll zusätzlich zur Orientierung noch ein Abstrahlungsmuster haben. Durch diese Parameter können folgende Akustik-Effekte approximiert werden: • Räumliche Positionierung • Abschwächung durch Entfernung • Doppler-Effekt (siehe Anhang A.3.9) • Gerichtete Schallquellen Um den Effekt einer gerichteten Schallquelle anzunähern, ist die Definition der Orientierung und des Abstrahlmusters eines Sounds notwenig. Einen ähnlichen und physikalisch nachvollziehbaren Effekt würde man bei einem Omni-Sound durch die Verwendung von Geometrie erreichen, welche die Schallausbreitung beeinflusst. Zusammenfassend beschreibt der I3DL1 Standard überwiegend räumliche Angaben der Sender und Empfänger in einer Audioszene. KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 2.6.1.2 24 I3DL2 Standard Schon ein dreiviertel Jahr später, also Ende 1999, wurde bereits der zweite Standard [IASIG99] spezifiziert, der I3DL2 genannt wird. Neben der Erhöhung der Anzahl auf 16 abspielbare Sounds, wurden die Anforderungen an den Listener und die Sounds erhöht: • Dynamische Verhallungseffekte per Parameter einstellbar • Individueller Tiefpass-Filter und Abschwächung des Direktschall-Signals • Individueller Tiefpass-Filter und Abschwächung des Verhallungs-Signals Mit diesen Techniken sollten folgende Akustik-Effekte erreicht werden: • ”Raumeffekt” mit – frühen Reflexionen – spätere Verhallung • Obstruktion und Okklusion Abbildung 2.9: Wege des Direkt- und Hall-Signals im I3DL2 Mix. Des Weiteren wurde die Forderung nach Interaktivität erneuert und gefordert, dass eine Nutzereingabe mit geringer Verzögerung auch Veränderungen des Klangbildes zur Folge haben soll. Um den oben genannten ”Raumeffekt” zu erreichen, wurde ein sehr komplexes Geflecht von Parametern eingeführt, die konzeptionell, teilweise widersprüchlich, an den Listener oder an den Sound gebunden sind. Durch diese Parameter werden das Direkt- und das Hall-Signal auf Grund von heuristischen Regeln so verändert (siehe Abb. 2.9), dass glaubwürdige auditive Ereignisse bei einem Hörer ausgelöst werden. Einige Implementierungen unterstützen mehr Parameter, als der I3DL2 Standard verlangt. Im Folgenden werden die Parameter zur Einstellung des Nachhalls aufgeführt und erklärt. Um rechtlichen Probleme zu vermeiden, wird dies an Hand der Umsetzung der Sound-API FMOD durchgeführt, da die APIs der Firmen Microsoft und Creative Labs nicht von Dritten veröffentlicht werden dürfen. KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO Nachhallparameter des Listeners 25 Aus wohl historischen Gründen findet man einige Parameter, die man eher bei einem Sound erwartet, beim Listener. Dies hat zur Folge, dass normalerweise diese Parameter nur einmal instanziiert werden, obwohl es Effekte gibt, die für jeden Sound neu eingestellt werden müssten. Erklären kann man sich diese konzeptionelle Bindung an den Listener durch Kostengründe und dem Einsatz eines einzigen Hallprozessors auf einer Soundkarte. Dies ist auch der Grund, warum oft von einem Raumeffekt (Room Effect) gesprochen wird, da sich der Listener jeweils nur in einem Raum befindet. Es folgt eine Auflistung der Parameterbeschreibungen. HF Reference Min. Std. Max. Einh. 1.000 5.000 20.000 Hz LF-Reference Min. Std. Max. Einh. 20 250 1.000 Hz Environment Min. Std. Max. Einh. 0 0 25 Environment Size Min. Std. Max. 1,0 7,5 100,0 Einh. m Environment Diffusion Min. Std. Max. Einh. 0,0 1,0 1,0 Air Absorption HF Min. Std. Max. Einh. -100 -5,0 0,0 mB Room Rolloff Factor Min. Std. Max. Einh. 0,0 0,0 10,0 mB Room Min. Std. Max. Einh. -10.000 -1.000 0 mB Room HF Min. Std. Max. Einh. -10.000 -100 0 mB Room LF Min. Std. Max. Einh. -10.000 0 0 mB Decay Time Min. Std. Max. Einh. 0,1 1,49 20 s Referenzwert ab der Berechnungen für hohe Frequenzen (HF) einsetzen Referenzwert ab der Berechnungen für niedrige Frequenzen (LF) einsetzen Einer von 26 vordefinierten Hallräumen. Dieser Parameter beeinflußt andere, und ist vorhanden um abwärts kompatibel zu sein. Es wird abgeraten, ihn zu benutzen. Raumgröße in Metern. Dieser Parameter führt zu generischen Werten der Parameter Decay Time, Reflection, Reflection Delay, Reverb, Reverb Delay, Decay HF Ratio, Echo Time und Modulation Time. Dichtegrad der Reflexionen in der Verhallung. Entfernungsabhängige Abschwächung durch ein Medium bei hohen Frequenzen in mB (siehe Anhang A.1.7). Ein niedrigerer Wert beschreibt neblige und feuchte Luft, während ein höherer Wert z.B. trockene Wüstenluft imitiert. Globale Abschwächung von dem Nachhallsignal abhängig von der Distanz des Listeners zum Sound in mB. Globale Intensität des Raum-Effekts, definiert die Filter Einstellungen bei mittleren Frequenzen in mB. Globale Intensität des Raum-Effekts, definiert die TiefpassFilter Einstellungen bei hohen Frequenzen in mB. Globale Intensität des Raum-Effekts, definiert die HochpassFilter Einstellungen bei tiefen Frequenzen in mB. Nachhallzeit bei mittlerer Frequenz in Sekunden. KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO Decay HF Ratio Min. Std. Max. Einh. 0,1 0,83 2,0 Decay LF Ratio Min. Std. Max. Einh. 0,1 1,0 2,0 Reflections Min. Std. Max. Einh. -10.000 -2.602 1.000 mB Reflections Delay Min. Std. Max. Einh. 0,0 0,007 0,3 s Reflections Pan Min. Std. Max. Einh. 0, 0 0, 0 |1| Vec |0| 0, 0 Reverb Min. Std. Max. Einh. -10.000 200 2.000 mB Reverb Delay Min. Std. Max. Einh. 0,0 0,011 0,1 s Reverb Pan Min. Std. 0, 0 0, 0 |0| 0, 0 Echo Time Min. Std. 0,075 0,25 Max. 0,25 Echo Depth Min. Std. Max. 0,0 0,0 1,0 Modulation Time Min. Std. Max. 0,04 0,25 4,0 Modulation Depth Min. Std. Max. 0,0 0,0 1,0 Max. Einh. |1| Vec Einh. s 26 Verhältnis der Nachhallzeit bei hohen Frequenzen zu der Nachhallzeit bei mittleren Frequenzen. Verhältnis der Nachhallzeit bei tiefen Frequenzen zu der Nachhallzeit bei mittleren Frequenzen. Intensität der frühen Reflexionen relativ zum Room Parameter in mB. Zeitverzögerung der ersten frühen Reflexion relativ zum Direktimpuls in Sekunden. Normierter Richtungsverktor der frühen Reflexion im Koordinatensystem des Listeners. Der Standardwert gibt eine Gleichverteilung der Reflexionen aus allen Richtungen an. Ein Richtungsvektor der Länge eins beschreibt eine maximal fokusierte Richtungsangabe. Intensität des Nachhalls relativ zum Room Parameter in mB. Zeitverzögung des Nachhalls relativ zur ersten Reflexion, gleichbedeutend mit der Länge der frühen Reflexionen, in Sekunden Normierter Richtungsverktor des Nachhalls im Koordinatensystem des Listeners (siehe Reflections Pan). Zeitverzögerung der periodischen Wiederholung des Signals in der Verhallung in Sekunden. Der Standard Wert liegt bei 0,25 Sekunden, was einer Wiederholungsrate von vier pro Sekunde entspricht. Dieser Parameter wird primär für Musik verwendet, um die Echos mit dem Takt zu synchronisieren. Einh. - Grad der Ausprägung des Echo Effektes. Einh. s Im Gegensatz zur Echo Time beschreibt diese Parameter die Wiederholungsrate der Modulation, die eine Tonhöhenveränderung bewirkt. Einh. - Grad der Modulationstiefe. KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO Nachhallparameter des Sounds 27 Für jeden Sound können folgende Parameter einge- stellt werden. Direct Min. Std. Max. Einh. -10.000 0 1.000 mB Min. Std. Max. Einh. -10.000 0 0 mB Min. Std. Max. Einh. -10.000 0 0 mB Min. Std. Max. Einh. -10.000 0 0 mB Relative Korrekturintensität des Direktschallanteils in mB. Direct HF Relative Korrekturintensität des Direktschallanteils bei hohen Frequenzen in mB. Room Relative Intensität in mB, mit der das Signal in den Raumeffekt des Listeners eingespeist wird. Room HF Relative Intensität bei hohen Reflexionen in mB, mit der das Signal in den Raumeffekt des Listener eingespeist wird. Obstruction Min. Std. Max. Einh. -10.000 0 0 mB Abschwächung der Intensität des Direktschalls bei hohen Frequenzen in mB. Obstruction LF Ratio Min. Std. Max. Einh. Verhältnis der Intensität des Nachhalls bei niedrigen Fre- 0,0 0,0 1,0 - quenzen zu der Intensität des Direktschalls bei hohen Frequenzen in mB. Exclusion Min. Std. Max. Einh. -10.000 0 0 mB Abschwächung der Intensität des Nachhalls bei hohen Frequenzen in mB. Exclusion LF Min. Std. Max. Einh. Verhältnis der Intensität des Nachhalls bei niedrigen Fre- 0,0 1,0 0,0 - quenzen zu der Intensität des Direktschalls bei hohen Frequenzen in mB. Occlusion Min. Std. Max. Einh. -10.000 0 0 mB Abschwächung der Intensität des Direktschalls und der Verhallung bei hohen Frequenzen in mB. Occlusion LF Ratio Min. Std. Max. Einh. Verhältnis der Intensität des Direktschalls und der Verhal- 0,0 0,25 1,0 - lung bei tiefen Frequenzen zu der Intensität des Direktschalls und der Verhallung bei hohen Frequenzen in mB. Occlusion Room Ratio Min. Std. Max. Einh. Relatives Maß zur Steuerung der Dämpfung und Filterung 0,0 1,5 10,0 - des Nachhalls. Bei 0,0 findet keine Abschwächung statt, bei 1,0 entspricht sie der Abschwächung der Obstruction. Bei 1,5 erfährt das Signal eine zusätzliche, frequenzunabhängige Abschwächung um die Hälfte des Wertes der Occlusion. KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 28 Occlusion Direct Ratio Min. Std. Max. Einh. Relatives Maß der Dämpfung und Filterung des Direkt- 0,0 1,0 10,0 - schalls. Bei 0,0 findet keine Abschwächung statt, bei 1,0 entspricht sie der Abschwächung der Exclusion. Bei 1,5 erfährt das Signal eine zusätzliche, frequenzunabhängige Abschwächung um die Hälfte des Wertes der Occlusion. 2.6.1.3 Ausblick auf I3DL3 Bisher wurde kein dritter Standard I3DL3 verabschiedet, und seit fast vier Jahren findet man keine konkreten Angaben dazu. Eine Suche im Internet liefert zwei sinnvolle Ergebnisse aus dem Jahr 2000. In dem bisher einzigen Vorschlag [Jot00] der Firma Creative Labs sind die konzeptionelle Ungereimtheiten von I3DL2 soweit korrigiert, dass viele Parameter vom Listener beim Sound zu finden sind und damit mehrfach instanziierbar werden. So wären die frühen Reflexionen dann pro Sound einstellbar. Weiterhin wird vorgeschlagen, neben den bisherigen Begriffen des Listeners und des Sounds ein drittes Konstrukt einzuführen. Dabei handelt es sich um ein Gebiet mit festen Verhallungsparametern, einem Environment. Es scheint so, also ob die Nachhallzeit in einem Environment fest definiert werden und diese nicht ortsabhängig von der Position des Sounds abhängen soll. 2.6.2 3D-Sound-Engine und Reverb-Engine Innerhalb der Sound-APIs sorgen zwei Module für die Darstellung des 3D-Sounds [3DSS1]. Die 3D-Sound-Engine umfasst die Techniken zur Positionierung der Sounds. Die Reverb-Engine ist verantwortlich für die Verhallung des Sounds in einer virtuellen Umgebung. Im Endkunden-Bereich hat es bisher vier erwähnenswerte Entwickler von 3D-Sound- und Reverb-Engines gegeben: Aureal, Creative Labs, Qsound und Sensaura. Creative Labs began im Jahr 1999 einen langen Rechtsstreit mit Aureal und übernahm im Jahr 2000 trotz einer Niederlage vor Gericht den finanziell geschwächten Konkurrenten [Cre1]. Obwohl Sensaura erfolgreich Lizenzverträge [SEN1] z.B. mit Via [VIA], Nvidia [SEN3] oder Terratec [SEN2] abschloss, wurde auch diese Firma von Creative Labs im Jahr 2004 übernommen [TI]. Die verschiedenen Anbieter der Reverb-Engines verwenden jeweils konzeptionell ähnliche Ansätze. Das Soundsignal wird mit einer heuristisch erstellen Impulsantwort verändert. Die einzige Reverb-Engine, die ansatzweise die Impulsantwort auf Grund von geometrischen Informationen ableiten konnte, wurde von Aureal entwickelt. Die Erfahrung und Patente auf diesem Gebiet liegen nun bisher ungenutzt im Besitz von Creative Labs. Ob Creative Labs in zukünftigen Sound-APIs diese Expertise verwenden wird, ist unbekannt. Neuartige Halleffekte unterstützen die exakte Verhallung in ausgemessenen Umgebungen. Dazu wird eine Umgebung durch einen Impuls beschallt und die Impulsantwort aufgenommen. Der Halleffekt ”faltet”19 das Audiomaterial mit der gemessenen Impulsantwort. 19 Die Faltung liefert für zwei Funktionen f und g eine dritte Funktion als ”Überlappung” zwischen f und einer gespiegelten, verschobenen Version von g. KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 29 Das Resultat ist die exakte Verhallung des Signals in der ausgewählten Umgebung, mit festen Positionen von Sender und Empfänger. Diese Art der Hallgenerierung wird verstärkt in der Studio-Technik verwendet. Die Berechnung ist aufwändig, und es gibt Ansätze sie auf der leistungsstarken Grafikkarte auszulagern [BIO]. 2.6.3 Sound-APIs Eine Schnittstelle, die ein Betriebssystem20 oder ein Softwaresystem anderen Programmen zur Verfügung stellt, wird Application Programming Interface, kurz API, genannt. Sound-APIs sind die Programmierschnittstellen, die ein Programm verwendet, um über Soundtreiber die Soundkarte zu steuern. Für verschiedene Soundchips und Soundkarten gibt es eigene proprietäre Soundtreiber. Auf diese bauen Sound-APIs auf, die widerrum jeweils Vor- und Nachteile aufweisen [3DSS2]. Im Folgenden werden die bekanntesten Sound-APIs vorgestellt und die gesammelten subjektiven Erfahrungen mit den Systemen angeführt. 2.6.3.1 DirectSound3D In der API-Sammlung DirectX von Microsoft findet sich auch das Audio-Paket DirectSound3D (DS3D). Seit den frühen Versionen gehört die grundlegende Implementierung dazu und ist seit DirectX 3.0 auch kompatible zu I3DL2. Microsoft selbst war maßgeblich an der Verabschiedung der 3DWG-Standards beteiligt und hat diese in ihrem DirectSoundModul umgesetzt. Um einen einzigen Soundbuffer zu initialisieren und einen 3D-Sound abzuspielen sind ca. 50 Zeilen Quellcode notwenig [RAD1]. Der Einsatz von DS3D ist damit aufwändig und auf Windows-basierten Betriebssysteme beschränkt. Da aber auf diesen Plattformen die Soundtreiber die Hardwarefunktionen der Soundchips voll unterstützen, ist DirectSound3D eine gute Wahl zur Audioausgabe. 2.6.3.2 EAX EAX [EAX] steht für Environmental Audio Extension von Creative Labs. Die aktuelle Version EAX 4.0 ist über ein Anmeldeverfahren für Entwickler anfragbar. Creative Labs vergibt hausintern unterschiedliche Rechte an kommerzielle Partner und wissenschaftliche Forscher an öffentlichen Einrichtungen. Die Betreuung des Autors resultierte in widersprüchlichen Zusagen einer erfolgten Anmeldung und in Verzögerungen beim Zugang eines Programmes von einem halben Jahr. EAX, in den Versionen 1.0 und 2.0, ist auch für Drittanbieter von anderen Soundkarten verwendbar. Creative Labs entschied sich dazu, die Versionen 3.0 und 4.0 nicht zur Lizensierung freizugeben. Von der Nutzung der API für wissenschaftliche Zwecke mit Lizenzvereinbarungen kann abgeraten werden. 20 Programm zur grundlegenden Verwendung einer Computers. KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 2.6.3.3 30 OpenAL Im Jahr 2000 veröffentlichte Loki Entertainment, ein Hersteller von kommerziellen Spielen für Linux-Systeme, eine plattform-übergreifende freie Sound-API namens OpenAL [OAL]. Intern nutzt OpenAL die EAX-Technologie der Firma Creative Labs. Heavy Gear 2 war das erste Spiel von Loki für Linux mit einer OpenAL-Implementierung. Zur Zeit werden einige Soundchips von Creative Labs, Nvidia und Apple unterstützt. Es ist unklar, ob eine Hardware-Unterstützung der Soundchips implementiert ist. Einige Fähigkeiten der Soundkarten von Creative Labs können über Erweiterungen, so genannte Extensions, angesprochen werden, die geometrische Akustik-Effekte nachahmen können. Diese Art der Unterstützung führt aber zu einer Inkonsistenz der Schnittstelle. Zwar soll OpenAL theoretisch plattform-unabhängig sein, doch die überwiegende Mehrzahl der Applikationen, die OpenAL einsetzen, werden für Linux-Systemen veröffentlicht. Obwohl die API etwas unhandlich und die Hardware-Unterstützung unklar ist, kann OpenAL für Linux-Systeme ähnlich empfohlen werden wie DirectSound für WindowsSysteme. 2.6.3.4 A3D Aureal war eine kalifornische Firma, die unter anderen die Soundchips Vortex1 und Vortex2 (ca. 3 Mio. Transitoren21 ) selbst verbaut und verschiedene Soundkarten-Herstellern damit beliefert hat. Ihr Soundtreiber sah bisher als einziger eine explizite Übergabe von 3D-Geometrie vor, die innerhalb des Treibers zur Generierung der Impulsantwort verwendet wurde. Berichten zur Folge berücksichtigte die Implementierung frühe Reflexionen an der übergebenen Geometrie. Die Sound-API A3D 2.0 von Aureal war weit am Markt verbreitet und auch die Version 3.0, die nie offiziell veröffentlicht wurde, ist als Testversion ohne Kundenbetreuung weiterhin nutzbar. Von einem Gebrauch außer zu Test- und Vergleichszwecken wird somit abgeraten. 2.6.3.5 QSound QSound [QSL] ist der Name einer Sound-API und der Firma, die Lizenzen für 3D-SoundTechniken anbietet. Kunden finden sich vor allem unter Spieleherstellern und nicht unter Hardwareherstellern. Die 3D-Sound-Engine heisst Q3D und die Reverb-Engine wurde QEM (QSound Environmental Modeling) genannt. Eine I3DL2 Unterstützung wird nicht erwähnt. 2.6.3.6 FMOD FMOD [FMOD] von Firelight Technologies ist ein verbreitetes, kommerzielles Soundsystem, das mehrere Audiotreiber und Sound-APIs umfasst und eine gemeinsame Schnittstelle anbietet. Zur Zeit werden die sieben Plattformen Windows, Windows CE, Apple MacOS, Linux, Nintendo GameCube, Sony Playstation 2 und Microsoft XBOX unterstützt. 21 Elektronisches Halbleiterbauelement zum Schalten und Verstärken von elektrischem Strom. KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 31 Für die Programmierung auf den verschiedenen Systemen werden die selben FMODAufrufe verwendet. Die unbegrenzte Lizensierung zur kommerziellen Nutzung der Plattformen Windows und Linux kostet 5.000 USD. Die nicht-kommerzielle Nutzung ist kostenlos. Die Entwickler von FMOD betreuen ebenso Forscher an öffentlichen Einrichtungen wie kommerzielle Lizenznehmer und nehmen Ideen und Hinweise für die Weiterentwicklung von FMOD auf. Zur Zeit ist die Version 3.73 verfügbar und eine komplett überarbeitete Version 4.0 ist angekündigt. 2.6.3.7 Miles Sound System Ein weiteres kommerzielles Soundsystem ist das Miles Sound System [RAD2] von RAD Game Tools, das seit 1991 auf dem Markt ist und in über 3.200 Spielen zum Einsatz kommt. Es unterstützt die Plattformen Windows, MacOS und Microsoft XBOX. Die aktuelle Version unterstützt auch die I3DL2 Akustikeffekt. Da eine kostenlose Lizensierung nicht möglich war, kann der Autor keine Beurteilung der Benutzung oder der Sound-Qualität vornehmen werden. Die Kosten für eine unbegrenzte Lizensierung der Windows Plattform liegen bei 12.000 USD. 2.6.4 3D-Sound in der Spiele-Industrie Computerspiele haben die Qualität der interaktiven 3D-Sound Darstellung, ähnlich wie die der grafischen Darstellung, vorangetrieben. Da bei den ersten Spielen der Speicherplatz auf den damaligen Medien stark begrenzt war, sollte eine Soundkarte meist Hintergrundmusik generieren und erst zweitrangig Soundeffekte abspielen. So konnte der Soundchip YM3812 von Yamaha, mit dem 1988 die legendäre SoundBlaster 2.0 (siehe Abb. 2.10) von Creative Labs bestückt war, neunstimmig Töne abspielen[SB], die durch überlagerte Sinusschwingungen (siehe Anhang A.2.1) erzeugt wurden. Aufnahmen waren auf einem Mono-Kanal mit 22kHz möglich. Die Klangqualität setzte damals Maßstäbe für den Massenmarkt und ist mit heutiger Technik kaum noch zu vergleichen. Die Basis dieses Chips ist millionenfach im Kern einer Southbridge22 verbaut. Abbildung 2.10: Die legendäre SoundBlaster 2.0.23 22 Hardwarekomponente 23 Bildquelle: einer PC-Hauptplatine zur Anbindung peripheren Geräte. http://www.dearhoney.idv.tw/MUSEUM/soundcard-01.php KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 32 Die Computerspiele-Industrie hat gegenüber dem Jahr 1988 veränderte Anforderungen an Sound-APIs, die mehr Sounds verwalten und auf Mehrkanal-Lautsprecher-Systemen wiedergeben sollen. Heutzutage kann eine Soundkarte vorproduzierte Musik von hoher Qualität wiedergeben und gleichzeitig viele Soundeffekte im 3D-Raum simulieren. Die Forderung nach niedriger Prozessorbelastung im einstelligen Prozentsatz ist zu einer selbsterfüllenden Regel geworden. Die Anforderungen der Spiele-Industrie an Sound-APIs sind: • Minimale Prozessorbelastung • Maximale Wiedergabequalität • Akustik-Effekte unterstützen die Spielerfahrung In dem Computerspiel Farcry von Crytek sind pro Spielbereich durchschnittlich 2000 Sounds definiert, von denen bis zu 40 gleichzeitig wiedergegeben werden [Crytek]. Man kann dem Entwickler eines Computerspieles keine Ungenauigkeit unterstellen, wenn beispielsweise die Akustik-Effekte physikalisch falsch oder übertrieben eingestellt sind, falls dies zur Intensivierung des Spielerlebnis führen sollte. Schließlich wird in der Mehrheit von Science-Fiction-Filmen die Außenaufnahme eines Raumschiffes im Vakuum mit einem futuristischen Motorendröhnen untermalt. 2.6.4.1 EAGLE EAGLE24 [Cre2] ist ein Werkzeug der Firma Creative Labs, um den Soundstandard EAX ihrer Soundkarten zu verbreiten und die Nutzung zu erleichtern. Wie in Abbildung 2.11 dargestellt, erfährt der Nutzer eine grafische Repräsentation der gängigen I3DL2 Parameter, die dann innerhalb eines Environments fest eingestellt werden. Grafische Editoren erlauben die Einstellung von Hallräumen, Hindernissen und Szenenbeschreibungen. Das Werkzeug und die Entwicklungsumgebung stand erst am Ende dieser Arbeit zur Verfügung, so dass kein Import dieser Daten möglich war. Konzeptionell sollte dies möglich sein. Abbildung 2.11: Bedienoberfläche von EAGLE. 24 EAGLE = Environmental Audio Graphical Librarian Editor KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 33 2.7 3D-Sound in Virtual-Reality Umgebungen Virtual-Reality (VR) Umgebungen stellen innovative Ansätze der Forschung dar und nutzen immer häufiger die Rechenleistung verteilter Computer-Systeme. Dadurch können mehr Ressourcen für die Berechnung von 3D-Sound investiert werden. Dieses Kapitel gibt einen Einblick über verwendete Techniken in exemplarisch ausgewählten Installationen. 2.7.1 3D-Sound in VRML VRML25 [VML96] ist eine Szenenbeschreibungssprache, die zur Darstellung von 3DModellen, speziell im Internet, verwendet wird. In VRML sind auch Sound Objekte definiert [VAT]. Der Sound Node beschreibt einen Knoten im Szenengraphen. Der Listener ist als Knoten nicht explizit vorhanden, sondern wird direkt durch die Kameraposition hergeleitet. 2.7.2 DAVE DAVE26 ist die VR-Installation an der TU-Braunschweig, die als erste VR-Lösung die Stereoskopie durch eine Vernetzung der Projektortechnik erreicht, statt über die Synchronisation der verwendeten Grafikkarten [Dave02]. Die DAVE kann direkt unter OpenGL genutzt werden oder verteilte OpenSG27 -Applikationen ausführen. Als Audiosystem unter OpenSG wurde TRIPS entwickelt. 2.7.3 TRIPS - Echtzeit 3D Sound in OpenSG TRIPS28 [NFF03] ist ein Audiosystem, das vom Autor für die DAVE entwickelt wurde und im Rahmen eines Eurographics Partner Events während des Symposiums OpenSG’03 in Darmstadt vorgestellt wurde. Es nutzt direkt die Infrastruktur von OpenSG als Szenengraph aus und hebt die Programmierschnittstelle auf ein effizientes und abstraktes Niveau. So werden z.B. Positionsangaben direkt als semantischer Verweis auf einen SzenegraphKnoten, statt als Vektor von drei diskreten Werten übergeben. Ein Sound wird automatisch mit der zugehörigen grafischen Repräsentation im virtuellen Raum mit bewegt. Durch die Verbindung mit dem Szenengraph aktualisiert TRIPS selbständig Positionen und VelocityWerte und es ist skalierbar auf mehreren Systemen. Da eine OpenSG-Anwendung gleichzeitig auf verschiedenen Betriebsystemen lauffähig ist, kann ein dedizierter Sound-Server angebunden werden. Dieser Computer kann unter Windows von aktuellen Soundtreibern, Hardware-Unterstützung und den neusten Sound-APIs profitieren. Durch die Integration in einen Szenengraph wurde die Sound-API effizienter und leistungsfähiger. Im Gegensatz zu DirectSound ist nur noch ein Bruchteil von Programmierzeilen nötig. 25 VRML = Virtual Reality Modeling Language = Definitely Affordable Virtual Environment 27 Projekt zur Entwicklung eines freien Szenengraph-Systems. 28 TRIPS (3 x S) = Scalable Spatial Sound Library for OpenSG 26 DAVE KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 2.7.3.1 34 Konzept TRIPS setzt auf die Sound-API FMOD auf und besteht grundsätzlich aus zwei verschiedenen OpenSG FieldContainern29 : dem AudioNode und den Soundobjekten. Diese FieldContainer werden bei einer Änderung im System aktualisiert. Somit ist es möglich, dass auf einem Hauptrechner eine Applikation läuft und dort der Audiokontext manipuliert wird. Die Änderungen werden dann auf einen anderen Rechner, der Soundfähigkeiten besitzt, übertragen und dort als eigentliches Soundereigniss erzeugt. OSGTRIPSAudioNode Der Audio-Knoten OSGTRIPSAudioNode hält Informationen über den Listener in der Szene. Dieser Knoten wird auf dedizierten Soundrechnern kopiert und aktualisiert. OSGTRIPSSound Der Sound-Knoten OSGTRIPSSound hält die Informationen für ein Sound-Objekt in der Szene. Die Wiedergabe dieser Sound kann gesteuert werden, und dies wird an die verschiedenen Soundrechner übertragen. Skalierbares TRIPS Der Audio-Knoten wird auf alle Soundrechner übertragen und kann dort individuelle Ausprägung erfahren. Somit können mehrere Listener erzeugt werden, die jeweils ihr akustisches Bild mit einer Soundkarte darstellen. Dadurch kann TRIPS multi-Listener unterstützen und kann beliebig skaliert werden, während der Hauptrechner von der Soundlast befreit wird. Durch TRIPS wurde gezeigt, dass multi-Listener durch das Verbinden von Sound-Servern über ein Netzwerk möglich ist. Ein anderes Projekt führt diesen Gedanken zu kleinen Sound-Boxen fort [Sta03]. 2.7.4 blue-c blue-c heißt der Aufbau einer Virtual-Reality Umgebung an der ETH-Zürich der Forschungsgruppe um Prof. G ROSS. Diese Lösung (siehe Abb. 2.12) ist in der Lage, durch schaltbare Projektionswände hindurch per Videoaufnahmen von dem Hauptakteur ein 3DModel zu generieren [GWN03]. Abbildung 2.12: blue-c an der ETH-Zürich.30 29 Konstrukt zur Speicherung von Daten mit besonderen Fähigkeiten. http://blue-c.ethz.ch 30 Bildquelle: KAPITEL 2. GRUNDLAGEN VON 3D-AUDIO 35 Das Audiosystem von blue-c ist mit der API der VR-Umgebung verknüpft und bietet räumliche Positionierung von Schallquellen durch die Nutzung von bis zu acht Lautsprecher mit der Panning-Methode (siehe 2.4.1 und Anhang B.4). Die Akustik-Effekte der Verhallung werden durch ein eigenständiges Hallgerät aus der Studiotechnik gesteuert. Verwendet wird ein M-ONE-XL Effektprozessor (siehe Abb. 2.13), der vergleichbare Freiheitsgrade wie der I3DL2 Standard besitzt. Die Signalqualität ist durch den Einsatz hochwertiger Wandler und DSPs31 klarer als bei einer Soundkarte im Massenmarkt. Dieses System ist grundsätzlich mit den selben Problemen behaftet, wie die SoundAPIs der Soundkarten. Ein Programmierer muss die Hallparameter einstellen, und diese geschieht unabhängig von der Position der Schallquellen. Wie bei I3DL2 ist auch bei Hallgeräten der Ansatz des Hallraumes verwirklicht, der abhängig von der Position des Hörers eingestellt wird. Es kann nur ein einziger Halleffekt berechnet werden und nur der Anteil der Verhallung der verschiedenen Sounds kann geregelt werden. Dies geschieht abhängig von der Distanz des Sounds zum Listener, aber unabhängig davon in welcher Umgebung sich ein Sound befindet. Begründet wird dies [NSG02], durch die zumeist abstrakten Anwendungen der VR-Umgebung. Trotzdem soll durch diese Art der Verhallung ein realistischen Eindruck der Umgebung geliefert werden. Das Konzept von mehreren Hören in einer VR-Umgebung wird nicht behandelt, und auch die kontrollierte Veränderung im Frequenzspektrum der Soundsignale ist nicht möglich. Abbildung 2.13: T.C.Electronic M-ONE XL Hallgerät.32 Zusammenfassung von Kapitel 2 In diesem Kapitel wurden grundlegende Begrifflichkeiten und Methoden zur Realisierung von 3D-Sound im Computer angeführt. Sound und Listener sind fundamentale Konstrukte zur Repräsentation von Sender und Empfänger. Sowohl in den Ansätzen mit Vorberechnung wie auch denen mit Echtzeit-Anforderungen finden sie Verwendung. Zur Verdeutlichung der Vor- und Nachteile von Vorberechnungen wurden ein Beam-Tracing-Ansatz sowie Akustiksimulatoren beschrieben. Um die Ansätze zur dynamischen Sound-Darstellung zu erklären, wurde auf die verabschiedeten Sound-Standards I3DL1 und I3LD2 eingegangen. Sound-APIs, die diese Sound-Standards individuell implementiert haben, wurden vorgestellt und bewertet. Die Problematik der multi-Listener Unterstützung wurde speziell für die VR-Forschung anhand des Projekts TRIPS dargestellt. 31 DSP = Digitaler Signal-Prozessor http://www.tcelectronic.com/M-OneXL 32 Bildquelle: Kapitel 3 Komponenten der Geometrie-Engine «-Wir brauchen ein System, in dem die Politiker sich zusammensetzen und ein Problem besprechen, sich darauf einigen, was das Beste für das gesamte Volk ist und es dann tun. -Das ist genau das, was wir machen. Das Problem ist nur, dass oft keine Einigkeit erzielt wird. -Nun, dann sollte man es eben erzwingen. [..] -Das hört sich sehr nach einer Diktatur für mich an. -Naja, wenn es funktioniert.» (Aus dem Film Star Wars - Episode II - Angriff der Klonkrieger) Bisher musste eine Anwendung die I3DL1 und I3DL2 Werte berechnen und sie dann explizit an die verwendete Sound-API [RMM00] übergeben (siehe Abb. 3.1). Wie in Kapitel 2.6.1.2 aufgeführt wird, ist dies ein aufwändiger Vorgang und führt auch zu einer unübersichtlichen Platzierung der nötigen Aufrufe der Sound-Api [NFF03]. Daher wird die Verhallung in Environments nur mit statischen Werten definiert. Applikation I3DL1 I3DL2 Sound-API Soundkarte Abbildung 3.1: Bisheriges Schichtmodell: Die Applikation steuert direkt die Sound-API durch I3DL1 und I3DL2 Parameter. 36 KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 37 In dieser Arbeit werden vier Erweiterungen des bisherigen Schichtmodells eingeführt, die den Ablauf vereinfachen und verbessern sollen (siehe Abb. 3.2). Zuerst werden Geometrie-Akustik-Primitive (GAPs) definiert, die nötig und sinnvoll sind, um geometrische, akustische und semantische Informationen in eine Szenenbeschreibung abzubilden. Daraus wird die Schnittstelle eines Geometrie-Akustik-Interfaces (GAI) entwickelt, die abstrakte und verständliche Parameter entgegen nimmt. Das Interface verwaltet den Zugriff auf die Geometrie-Engine, welche die geometrischen und akustischen Berechnungen durchführt. Die Geometrie-Engine initialisiert den Sound-Kontext, der wiederum Zugriff auf interne Berechnungsergebnisse der Geometrie-Engine hat. Der Sound-Kontext kann modular verschiedene Sound-Systeme unterstützen, welche die passenden Einstellungen an den jeweiligen Soundtreiber vornimmt. Aufrufe der Sound-API werden im jeweiligen Sound-Kontext konzentriert. Geometrie-Engine und Sound-Kontext könnten auf verschiedenen Computern laufen, und über ein Netzwerk kommunizieren. Dadurch wird das System skalierbar und die aufwändigen Berechnungen müssten nur zentral auf einem PC durchgeführt werden. Applikation GAPs Geometrie-Akustik-Interface Geometrie-Engine Sound-Kontext EAX DS3D FMOD etc. N-S Soundkarte Abbildung 3.2: Vorgeschlagenes Schichtmodell: Die Applikation nutzt nur verständliche GAPs und steuert die Geometrie-Engine über das GAI. Die Ausgabe des Sound-Kontextes ist modular und kann auch auf No-Sound (N-S) eingestellt werden. 3.1 Anforderungen An jede der vier Erweiterungen des Schichtmodells stellen sich eigene Anforderungen. Sie werden an dieser Stelle skizziert und im weiteren Verlauf des Kapitels detailiiert beschrieben und eine Implementierung vorgeschlagen. • Geometrie-Akustik-Primitive – Verständlich und allgemeinsprachlich bekannte Begriffe – Kombinierbar zur Abbildung beliebiger Akustik-Szenen ∗ Geometrische Informationen KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 38 ∗ Akustische Informationen ∗ Semantische Informationen – Verständliche und nachvollziehbare Parameter und Freiheitsgrade – Speicherung einer Szenenbeschreibung im XML-Format • Geometrie-Akustik-Interface – Manipulation der Geometrie-Akustik-Primitive – Trade-Off1 zwischen Qualität und Genauigkeit – Import einer Szenenbeschreibung im XML-Format – Hilfsfunktionen wie grafische Ausgabe oder Werteabfrage • Geometrie-Engine – Berechnung von komplexen Akustik-Effekten ∗ Obstruktion ∗ Exklusion ∗ Okklusion – Approximation der Schallausbreitung durch virtuelle Schallquellen – Mehrere Listener – Bewegliche Listener – Bewegliche Sounds – Bewegliche Geometrie – Dynamischer Öffnungsgrad von Portalen – Unterschiedliche Wiederholungsraten von Teilsystemen – Gute Fehlertoleranz – Ableitung von Werten des aktuellen I3DL2 Standards – Lauffähigkeit auf einem System ohne Soundausgabe • Sound-Kontext – Austauschbare Sound-APIs – Skalierbarkeit durch mehrere Sound-Server – Konzeptionelle Abkapselung zur Geometrie-Engine Einschränkungen In der Betrachtung der Einschränkungen eines Audio-Systems sind drei Betrachtungswinkel möglich. Es gibt Details in einer Akustik-Szene, die bisher nicht durch die GAPs erfasst werden. Einige Aspekte der Schallausbreitung werden nicht berechnet. Schlussendlich gibt es Unzulänglichkeiten der Darstellung der berechneten AkustikSzene. 1 engl. Ausgleich, Kompromiss, Tausch KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 39 • Repräsentation – Wall und Portal sind nach dem Einfügen nicht beweglich. Sound, Listener und Obstacle können während der Laufzeit animiert werden. – Unterschiedliche Öffnungsarten (einseitige Tür, Doppeltür, Schiebetür, Blende) der Portal sind bisher nicht repräsentierbar. – Auf Grund bestehender Datensätze hält ein Material nur Messwerte der Absorption. • Berechnung – Auf Vereinfachungen der Geometrie-Engine wird in 4.1 eingegangen. • Darstellung – Einige der berechneten Ergebnisse von Sounds (Verhallung) sind im I3DL2 Standard durch Parameter an den Listener gebunden. – Die vollständige Kontrolle über die generierten Impulsantwort pro Sound ist zur Zeit nicht möglich. 3.2 GAPs: Die Geometrie-Akustik-Primitive Um ein Interface zu entwickeln, ist zuvor die Definition von Primitiven2 nötig. Im Bereich der Computergrafik sind Linien, Dreiecke oder eine Textur allgemein als Grafikprimitive bekannt. In dieser Arbeit werden Geometrie-Akustik-Primitiven (GAPs) eingeführt, mit denen die Geometrie-Engine und das Geometrie-Akustik-Interface arbeiten. Durch die Kombination von GAPs soll es möglich sein, eine beliebige Akustik-Szene abbilden und Akustik-Effekte ableiten zu können. Der höhere Abstraktionsgrad erleichtert dabei das Verständnis des Geometrie-Akustik-Interfaces. Es soll erreicht werden, Informationen in einer Szenenbeschreibung aufzubauen, die später ohne das fachliche Wissen eines AudioProgrammierers genutzt werden können. Die I3DL2 Parameter sollen so eingestellt werden, dass ein ähnliches oder besseres akustisches Ergebnis erreicht wird, als durch statische Environments. Die Auswahl der fundamentalen GAPs, mit denen man beliebige akustische Szenen beschreiben kann, begründet sich auf folgende Überlegungen: Damit Reflexionen auftreten, ist eine Fläche oder Wand nötig, die als Reflektor dient. Ein Boden wird dabei als eine gekippte Wand aufgefaßt. Eine einzige Wand kann einen Bereich beschreiben, wie auf einem freien Feld der Ackerboden. Mehrere Wände können diesen Bereich, der Raum genannt wird, weiter abgrenzen. Da Schall durch geöffnete Türen oder Fenster entweicht oder eindringt, werden Portale definiert, die zwei Räume miteinander verbinden. Mobiliar oder sonstige bewegliche Gegenstände, die Schalldämmung verursachen, werden als Hindernisse aufgefasst, die unterschiedlich genau geometrisch modelliert seien können. 2 Primitive sind abstrakte, implementierungs-unabhängige Objekte zwischen dem Nutzer eines Schichtabhängigen Dienstes und des Anbieter. KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 40 Abbildung 3.3: Die acht GAPs in einer Szene: Listener, Sound, Wall, Portal, Obstacle, Room, Material und Medium. Durch die bisherigen GAPs ist die Geometrie und der räumliche Zusammenhang einer Szene erfassbar. Doch wie kombiniert man die akustischen Eigenschaften mit der bisherigen Szenebeschreibung? Eine Art Sender strahlt Signale aus und ein Empfänger nimmt diese auf. Beide befinden sich innerhalb von Räumen. Da die Schallübertragung als Materialwelle geschieht, wird ein Raum mit einem Medium gefüllt. Schalldämpfung geschieht an der Trennfläche von verschiedenen Medien. Darum werden alle geometrischen Objekte wie Wände, Portale und Hindernisse mit einem Audiomaterial belegt. Durch die Kombination dieser acht Primitiven (siehe Abb. 3.3) ist es auch ohne akustisches Fachwissen möglich, eine komplexe Akustik-Szene durch eine Szenenbeschreibung zu repräsentieren. Die Geometrie-Engine ist in der Lage alle physikalischen Phänomene aus dem Anhang A.2 auf die GAPs anzuwenden. Sie leitet die I3DL2 Parameter ab und approximiert so die Akustik-Effekte. Mit einer eindeutigen Nummerierung über eine GAP-ID kann jedes GAP identifiziert werden. Folgende acht GAPs werden durch ihre Eigenschaften definiert. 3.2.1 Listener Der Listener als Abbild eines Hörers ist bereits ausführlich in 2.1.1 beschrieben worden. Die Definition als GAP unterschiedet sich kaum von der bisherigen Definition. Zu den üblichen Eigenschaften wie Position, Ausrichtung, und Geschwindigkeit kommt die eindeutige GAP-ID und die Zugehörigkeit in welchem Raum der Listener sich befindet. KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 3.2.2 • ListenerID • RoomID • Position • Look-at • Velocity • Up 41 Sound Die bisherige Definition eines Sounds in 2.1.2 als Abbild einer Schallquelle in der Szene wird beibehalten und durch die GAP-ID erweitert. Durch einen Schalter wird zwischen ambientem Sound und Omni-Sound unterschieden. Ein 3D-Sound besitzt eine Position und Geschwindigkeit, und ihm ist eindeutig ein Raum zugeordnet, in dem er sich befindet. Der Speicherort des Audiomterials wird im Parameter Filename abgelegt und die Synchronisierung verschiedener Teilinstanzen des Sounds wird durch den Zeitmesser Timer ermöglicht. Die Spezifizierung eines Abstrahlmusters und der Orientierung ist nicht notwendig, da eine gerichtete Abstrahlung durch Hinzufügen von Geometrie in die Szene erreicht wird. • SoundID • is3D • Position • Velocity 3.2.3 • RoomID • Filename • Timer Material Das GAP Material hat eine GAP-ID, einen beschreibenden Namen und besteht aus einer variablen Liste mit frequenzabhängige Materialeigenschaften, den Material-Frequenzen. Akustiksimulatoren rechnen üblicherweise mit winkel-unabhängige Messdaten der Absorption mit acht Messwerten im Oktavenabstand. Solch ein Datensatz von ca. 500 Materialien wurde in GAP-Materialien konvertiert. Da keine weiteren Messwerte zur Verfügung standen, konnte die Reflexionsqualität bisher nicht berücksichtigt werden. Ein frequenzabhängiger Streuungsgrad gibt zum Beispiel an, wie spekulär oder diffus eine eingehende Reflexion wieder abgestrahlt wird. Um dennoch die Reflexionseigenschaften grob beeinflussen zu können, besitzt ein Material einen frequenzunabhängigen Rauheitswert. 3.2.4 • MaterialID • Name • MaterialFrequencies • Coarseness Wall Das Wand-Primitiv Wall definiert eine unbewegliche Fläche mit Audioeigenschaften. Eine Wall hält eine GAP-ID und ist eindeutig einem Raum zugeordnet. Die geometrischen KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 42 Informationen liegen im Feld Geometry, die akustische Information wird über die ID eines Materials angegeben. Wall ist geometrisch als eine Fläche ohne Dicke abgebildet. Eine Dicke wird dennoch angegeben, um akustische Eigenschaften der Wand einfach beeinflussen zu können. Die Dicke wirkt als linearer Multiplikator der Materialeigenschaften. • WallID • Geometry • MaterialID 3.2.5 • RoomID • Thickness Portal Ein Portal verbindet zwei Räume und definiert einen Teil ihrer gemeinsamen Grenzfläche. Es besitzt die gleichen Eigenschaften wie Wall. Hinzu kommt eine Referenz auf einen zweiten Raum und einen dynamischen Öffnungsgrad zwischen null und eins, der beschreibt, inwieweit Schall durch diese Öffnung hindurch dringen kann. Der Öffnungsgrad wirkt als linearer Faktor auf die Materialeigenschaften. • PortalID • Aperture • Geometry • MaterialID 3.2.6 • RoomID • RoomID2 • Thickness Obstacle Ein Obstacle ist ein bewegliches Hindernis oder Objekt in einem Raum. Es hält eine GAPID und ist eindeutig einem Raum zugeordnet. Im Gegensatz zu Wall oder Portal ist Obstacle nicht zwingend planar, sondern kann über das Feld Geometry dreidimensionale Ausmaße annehmen. Die Ausrichtung und Positionierung ist veränderbar (z.B. in Form einer Transformationsmatrix3 ). Ein Obstacle ist mit einem Audio-Material überzogen. Die Dicke wirkt wie bei Wall und Portal als Multiplikator auf die Materialeigenschaften. 3.2.7 • ObstacleID • RoomID • Geometry • Thickness • MaterialID • Transformation Medium Das GAP Medium beschreibt ein elastisches Material, das einen Raum füllt und in dem sich Schall mit einer gewissen Geschwindigkeit fortpflanzt (siehe Anhang A.1.2). Es hält 3 Durch eine Matrix angegebene Abbildung zur Änderung der Position, Rotation und Skalierung. KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 43 eine GAP-ID, einen beschreibenden Namen und ähnelt dem GAP Material. Bei gasförmigem Medium sind die Angaben für Temperatur und Feuchtigkeit zu berücksichtigen. Die Schallkennimpedanz (siehe Anhang A.1.6) wurde mit aufgenommen, um die Berechnung der Schalldämmung beim Wechsel von Medien (z.B. Luft/Wasser) zu ermöglichen. 3.2.8 • MediumID • Name • Temperature • Impedance • Humidity • Sonic Speed Room Ein Room beschreibt das Abbild eines Raumes, der von Wänden eingefasst wird, aber nicht geschlossen sein muss. Er kann durch Portale mit anderen Räumen verbunden sein, und Obstacles können in ihm platziert sein. Dazu hält Room drei ID-Listen von Wall, Portal und Obstacle. Ein Room ist gefüllt mit einem Medium. • RoomID • MediumID • WallIDs • PortalIDs • ObstacleIDs 3.3 Das XML-Format Zur Speicherung der Repräsentation der GAPs wurde ein eigenes XML-Format entwickelt, da bestehende Formate wie X3D zu komplex und nicht angemessen schienen. Über Schlüsselwörter können die Eigenschaften der GAPs direkt gespeichert werden. Zusätzlich zu den acht GAPs kamen neue Konstrukte hinzu, um die Lesbarkeit und die Verständlichkeit zu erhöhen. Es folgt ein Ausschnitt einer Szenenbeschreibung: <listener id="200"/> <sound id="203" file="./media/footsteps.wav"/> [..] <medium id="301" name="normal_air" temperature="20" impedance="420" humidity="60"/> <medium id="304" name="water" temperature="10" impedance="1400000"/> [..] <material id= "500" name="Wooden floor on joists (Ref. 16)"> <freqprop frequency= "63" absorption="0.15"/> <freqprop frequency= "125" absorption="0.15"/> <freqprop frequency= "250" absorption="0.11"/> <freqprop frequency= "500" absorption="0.1"/> <freqprop frequency="1000" absorption="0.07"/> <freqprop frequency="2000" absorption="0.06"/> <freqprop frequency="4000" absorption="0.07"/> <freqprop frequency="8000" absorption="0.07"/> </material> [..] <wall id="10" material="500" thickness="1.0"> KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 44 <face> <Vec3f x="0.0" y="9.0" z="4.11"/> <Vec3f x="0.0" y="9.0" z="0.0"/> <Vec3f x="0.0" y="12.0" z="0.0"/> <Vec3f x="0.0" y="12.0" z="4.11"/> </face> </wall> [..] <obstacle id="59" material="520" thickness="1.0"> <face> <Vec3f x="0.0" y="0.0" z="1.5"/> <Vec3f x="0.0" y="0.0" z="-1.5"/> <Vec3f x="0.4" y="0.0" z="-1.5"/> <Vec3f x="0.4" y="0.0" z="1.5"/> </face> <face> <Vec3f x="0.4" y="0.0" z="1.5"/> <Vec3f x="0.4" y="0.0" z="-1.5"/> <Vec3f x="0.4" y="1.7" z="-1.5"/> <Vec3f x="0.4" y="1.7" z="1.5"/> </face> </obstacle> [..] <room id="1" medium="301"> <walls>10 11 12 13 14 15 16</walls> <obstacles>59</obstacles> </room> <room id="2" medium="304"> <walls>20 21 22 23 24</walls> <obstacles></obstacles> </room> [..] <portal id="1012" material="90" thickness="0.5" aperture="1.0" room1="1" room2="2"> <face> <Vec3f x="3.0" y="10.0" z="4.11"/> <Vec3f x="3.0" y="10.0" z="0.0"/> <Vec3f x="3.0" y="11.0" z="0.0"/> <Vec3f x="3.0" y="11.0" z="4.11"/> </face> </portal> Nachdem ein Listener und ein Sound für spätere Manipulation vorbereitet werden, folgen exemplarisch die Angaben für zwei Medien und einem Material. Die Materialeigenschaften werden durch beliebig viele Untereinträge definiert, die aus dem Absorptionsgrad und der einer entsprechenden Frequenz bestehen. Ähnliche Untereinträge werden benutzt, um Geometrieinformationen zu speichern. Wall darf genau ein Face, Obstacle beliebig viele Faces besitzen. Ein Face wiederum kann aus drei oder vier Raumpunkten aufgespannt werden. Zwei Räume werden mit jeweiligen Medien definiert, und ihnen sind ihre Wände und Hindernisse zugeteilt. Schließlich folgt die Definition eines Portals mit der Angabe der akustischen, logischen und geometrischen Eigenschaften. KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 45 3.4 Das Geometrie-Akustik-Interface Aus den Gometrie-Akustik-Primitiven wurde ein nutzerfreundliches Geometrie-AkustikInterface (GAI) entwickelt. Es reduziert zwar die Freiheitsgrade zur allgemeinen Benutzung, ermöglicht aber weiterhin speziellen Einstellungen. Das folgende Beispiel der Velocity-Berechnung macht dies deutlich. Normalerweise muss der Anwender einer Sound-API den Velocity-Wert selber bestimmen und diskret als Vektor übergeben. Dazu wird die Differenz der letzten und der aktuellen Position bestimmt und durch die verstrichene Zeit geteilt. Die Geometrie-Engine übernimmt diese und ähnliche Aufgaben selbständig. Wenn der Anwender übertriebene oder spezielle Velocity-Werte nutzen möchte, so kann er diese einfach durch die Schnittstelle überschreiben und erzwingen. Das GAI dieser Arbeit stellt weitere Methoden zur Verfügung, um die allgemeine Nutzung zu vereinfachen. Die Verwendung des GAI geschieht zur Laufzeit und resultiert in der Berücksichtigung der Änderungen in Echtzeit. 3.4.1 Systemverwaltung Die Methoden aus Tabelle 3.1 definieren die essentiellen Aufrufe zur Systemverwaltung. So kann eine Instanz des GAP-Systems erzeugt und zerstört werden. Der Sound-Kontext kann mit einer unterstützten Sound-API geladen und initialisiert werden. Das System wird zur Berücksichtigung aller vorherigen Änderungen bei jedem Durchlauf der Anzeigeschleife der Anwendung aktualisiert. Die Wiederholungsrate der verschiedenen internen Teilsysteme, wie Positionierung oder Verhallung, kann individuell geregelt werden, was die Qualität und die Genauigkeit der Berechnungen beeinflußt. Positionierung und Orientierung können somit häufiger aktualisiert werden als Verhallungsparameter (siehe Abschnitt 3.5), was in den Spezifikationen verlangt wurde. Tabelle 3.1: Methoden der Systemverwaltung. Rückgabe Funktionsaufruf Erklärung Zeiger createManagerPtr () Erzeugt eine Instanz des GAP-Systems durch eine statische Methode und liefert den Zeiger darauf. bool createSoundAPIContext ( soundapitype) Erzeugt einen Sound-Kontext vom ausgewählten Typ. bool initializeSoundAPIContext () Initialisiert den Sound-Kontext mit der ausgewählten SoundAPI. bool Update () Aktualisiert die Geometrie-Engine und berücksichtigt die letzten Änderungen der GAPs bool Shutdown () Löscht die Instanz des GAP-Systems, alle über sie erzeugte GAPs und alle von ihr erzeugten Strukturen. KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 3.4.2 46 GAPs erzeugen und löschen Mit den Methoden aus Tabelle 3.2 können GAPs während der Laufzeit erzeugt und wieder gelöscht werden. Diese Methoden sind essentiell, um die Anforderung nach dynamischer Geometrie und beweglichen Sounds zu erfüllen. Desweiteren gibt es zwei allgemeine Hilfsmethoden zur GAP-ID Verwaltung. Tabelle 3.2: Methoden zum Erzeugen und Löschen von GAPs. Rückgabe Funktionsaufruf Erklärung GAPID givefreeGAPID () Liefert eine unbenutzte GAP-ID bool isGAPIDUsed (GAPID) Testet eine GAP-ID auf Benutzung bool createListener (ListenerID) Erzeugt einen Listener mit der Listener-ID bool removeListener (ListenerID) Löscht den Listener und seine Ausprägungen bool createSound (SoundID, Filename) Erzeugt einen Sound mit der Sound-ID bool removeSound (SoundID) Löscht den Sound und seine Instanzen bool createWall (WallID) Erzeugt eine Wall mit der Wall-ID bool createWall (WallID, Geometry) Erzeugt eine Wall mit Wall-ID und Geometrie bool removeWall (WallID) Löscht die Wall bool createRoom (RoomID) Erzeugt einen Room mit der Room-ID bool removeRoom (RoomID) Löscht den Room bool createPortal (PortalID) Erzeugt ein Portal mit der Portal-ID bool createPortal (PortalID, Erzeugt ein Portal und verbindet die zwei Räume RoomID1, RoomID2) bool removePortal (PortalID) Löscht das Portal bool createObstacle (ObstacleID) Erzeugt ein Obstacle mit der Obstacle-ID bool removeObstacle (ObstacleID) Löscht das Obstacle bool createMaterial (MaterialID) Erzeugt ein Material mit der Material-ID bool createMaterial (MaterialID, Material) Erzeugt neues Material als Kopie des angegebenen Materials bool removeMaterial (MaterialID) Löscht das Material bool createMedium (MediumID) Erzeugt ein Medium mit der Medium-ID bool createMedium (MediumID, Medium) Erzeugt neues Medium als Kopie des angegebenen Medium bool removeMedium (MediumID) Löscht das Medium 3.4.3 GAPs semantisch verbinden und platzieren Die Methoden aus Tabelle 3.3 sind zur Verknüpfung und Platzierung der GAPs vorgesehen. So wird die Szene zusätzlich um semantische Informationen erweitert. KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 47 Tabelle 3.3: Methoden zum Verbinden und Platzieren von GAPs. Rückgabe Funktionsaufruf Erklärung bool connectRoomsWithPortal (RoomID1, RoomID2, PortalID) Verbindet die zwei Räume mit dem Portal bool disconnectRoomsWithPortal (RoomID1, RoomID2, PortalID) Hebt die Verbindung der Räume des Portals auf bool placeWallInRoom (WallID, RoomID) Weist einem Raum eine Wand zu 3.4.4 GAPs manipulieren Mit den Methoden aus Tabelle 3.4 kann man die individuellen, geometrischen und akustischen Attribute der verschiedenen GAPs verändern. Tabelle 3.4: Methoden zur Manipulation von GAPs. Rückgabe Funktionsaufruf Erklärung bool editListener (ListenerID, Position, Velocity, Lookat, Up) Verändert die Position, Orientierung und Geschwindigkeit des Listeners bool editSound (SoundID, Position, Velocity, Volume) Verändert die Position, Geschwindigkeit und Lautstärke des Sounds bool editPortal (PortalID, Aperture) Verändert den Öffnungsgrad des Portals MediumID bool editObstacle (ObstacleID, Transformation) Verändert die Position, Skalierung und Orientiertung des Obstacles bool editMedium (MediumID, Name, Temperature, Humidity) Verändert den Namen, die Temeperatur und Feuchtigkeit des Mediums bool insertFace (GAPID, Face) Fügt ein Face zur Geometrie eines GAPs hinzu bool assignMaterialToGAP (GAPID, Material) Weist das Material dem GAP zu bool assignMediumToRoom (RoomID, Medium) Weist das Medium dem Room zu Individuell Für jedes GAP gibt es eine individuelle Methode zur Manipulation der Ausprägung eines GAPs. Geometrisch Mit der Methode InsertFace kann man Geometrie einem GAP übergeben. Ein Face ist ein Menge aus drei oder vier Punkten im Raum, die eine ebene Fläche definieren. Die Vorderseite der Fläche wird durch die Reihenfolge der Raumpunkte gegen den Uhrzeigersinn bestimmt. Akustisch Die letzten beiden Methoden beschreiben den Zugriff auf die akustischen Ei- genschaften der GAPs Material und Medium. KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 3.4.5 48 Weitere Hilfsmethoden Die Methoden aus Tabelle 3.5 dienen der besseren Bedienung und der Kontrolle. Eine Szenenbeschreibung oder ein Materialdatensatz kann per XML-Datei importiert werden. Syntaktische und semantische Fehler werden dabei berücksichtigt. Durch die Angabe des Skalierungsfaktors wird die gesamte Szene entsprechend verkleinert oder vergrößert. Dabei entspricht der Standardwert 1 = 1m. Der Faktor 3,28 skaliert die Szene zum Beispiel auf die Maßeinheit Fuss. Alle Laufzeit- und Akustik-Berechnungen werden in der Geometrie-Engine abhängig von diesem Wert berechnet, wie z.B. das Hallvolumen (siehe 4.2.1.1). Die Render-Methode setzt OpenGL-Befehle ab, welche die aktuell geladene Szenenbeschreibung in einem vorhandenen Grafikfenster darstellen. So kann man verschiedene akustische Informationen optisch überprüfen und mit der grafischen Szene vergleichen. Tabelle 3.5: Weitere Hilfsmethoden. Rückgabe Funktionsaufruf Erklärung bool readXMLFile (Filename) Liest eine Scenen- oder Materialbeschreibung im XML-Format ein bool setScaleFactor (Factor) Setzt den globalen Skalierungsfaktor bool renderToGL () Setzt OpenGL-Befehle ab, welche die aktuelle Szene grafisch darstellen 3.4.6 Praktische Anwendung Betrachtet man die einzelnen Methoden des GAIs unter Berücksichtung der praktischen Anwendung, so ergibt sich typischerweise folgender Ablauf: GAPManager* GAPMPtr = GAPManager::createManagerPtr(); GAPMPtr->createSoundAPIContext(GAP::GAP_SOUNDAPI_FMOD); GAPMPtr->initializeSoundAPIContext(); GAPMPtr->readXMLFile("material.xml"); GAPMPtr->readXMLFile("office4.xml"); Zuerst wird eine Instanz des GAP-Systems erzeugt. Dann kann dessen Sound-Kontext ausgewählt und initialisiert werden. Schließlich wird der Material-Datensatz und eine Szene geladen. GAPMPtr->editListener(listenerid, &lposition, NULL, &lookat, &up); GAPMPtr->editSound(soundid, &sposition, NULL, 100); GAPMPtr->editObstacle(359, &transform); GAPMPtr->editPortal(1034, abs(sin(t))); GAPMPtr->Update(); Während das Programmlaufs können die GAPs beliebig manipuliert werden. Die Geometry-Engine wird dann aufgefordet alle Änderungen zu berücksichtigen. Dies findet innerhalb der Hauptschleife des Programms statt. KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 49 GAPMPtr->Shutdown(); delete GAPMPtr; Mit dem Herunterfahren der GAP-Instanz wird die Sound-API beendet und das Löschen aller GAPs und sonstiger internen Strukturen erreicht. 3.5 Die Geometrie-Engine Die Geometrie-Engine bildet den Kern der Akustik-Berechnungen. Sie verwaltet die GAPs und kontrolliert mit der GAI den Zugriff auf diese. Sie enthält Methoden, die komplexe Berechnungen auf den GAPs ausführen. Die Geometrie-Engine führt die Aufrufe der GAI aus und verändert die Szene. Entwicklungsziel war ein robustes Grundsystem, das eine Vielzahl von dynamischen Objekten verwalten kann. Intern wurde deshalb in einen fehlertoleranten Ablauf investiert, der eine Vielzahl von Überprüfungen erfordert und deshalb eine geringere Performance verursacht. Der Vorteil dagegen liegt im beliebigen Einfügen und Löschen von GAPs, um multi-Listener und dynamisch Geometrie zu ermöglichen. Die Geometrie-Engine wird regelmäßig von einer Anwendung durch die Update-Methode aufgerufen. Alle zwischenzeitlichen Änderungen der GAPs werden berücksichtigt und stoßen weitere interne Berechnungen an. Für jeden Listener werden die Ausprägungen der Sounds berechnet und die Parameterwerte des I3DL2 Standards hergeleitet, die der Sound-Kontext dann darstellt. Durch die zentrale Update-Methode werden nur die Neuberechnungen durchgeführt, die z.B. durch eine Positionsveränderung nötig geworden sind. Abhängig von den gewünschten Aktualisierungsraten der verschiedenen Teilsysteme führt die Geometrie-Engine akustische Berechnungen durch und speichert diese in den Instanzen der GAPs. So können die elementaren Werte zur Positionierung öfter aktualisiert werden, als Werte des Nachhalls (siehe 2.1.4 und 4.5). Folgene Methoden sind die wichtigsten Bestandteile der Geometrie-Engine: • Sound-abhängige Verhallung • Listener-abhängige Sound-Ausprägung – Reflexionen – Schallausbreitung durch virtuelle Sounds – Obstruktion, Exklusion und Okklusion der Sounds • Pfadsuche zwischen Sound und Listener durch Room-Portal-Struktur • Paarweise Sichtbarkeitstests von Walls Einen detaillierten Einblick in die Berechnungen der Akustik-Effekte und die Einstellungen der Geometrie-Engine gibt Kapitel 4. KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 50 3.6 Der Sound-Kontext Der Sound-Kontext ist die eigentliche Sound-Komponente. Sie ist von der GeometrieEngine weitestgehend abgekapselt und stellt die berechneten Parameter über eine modular ausgewählte Sound-API dar. Der hörerabhängig Eindruck eines Sounds (siehe 3.7.3 und 4.3) wird durch mehrere Soundbuffer realisiert, die von der Sound-API erzeugt und verwaltet werden. Der Sound-Kontext stellt Methoden zur Verfügung um Teilinstanzen eines Sounds (Hauptsound und virtuelle Sounds) pro Listener zu erzeugen, zu manipulieren und zu entfernen. Ein funktionsfähiges Sound-Modul wurde mit FMOD implementiert, da diese SoundAPI mehrere Betriebssysteme unterstützt. Es ist möglich, weitere oder eigene Sound-APIs einzubinden, indem neue Sound-Module entwickelt werden. Somit wäre ein direkter Vergleich der Sound-APIs oder eigenen Entwicklungen möglich, da sie auf der gleichen Szenenbschreibung arbeiten würden. Zu Testzwecken wurde auch ein No-Sound Modul integriert, der keinen Soundtreiber verlangt und keine akustische Ausgabe tätigt. Somit ist das System auch auf Computern ohne Soundkarte lauffähig. 3.7 Implementierung Die Implementierung erfolgte in der Programmiersprache C++ und umfasst 15 Datentypen, ca. 40 Klassen und über 10.000 Zeilen Quellcode. Im Folgenden werden exemplarisch einige Datentypen, Klassen und Konzepte erklärt. 3.7.1 Datentypen Ausgehend von grundlegenden Fließ-Komma- und Ganzzahl-Datentypen sind neue Datentypen und Speicherkonstrukte entwickelt worden. Darunter befinden sich die folgenden zwei, die für die weiteren Abschnitte vorgestellt werden. GAPVec3f: Ein Vektor aus drei GAPFloats als x-, y- und z-Komponente GAPIDField: Ein Datenfeld zur Speicherung der eindeutigen GAP-ID I3DL2-Listener-Reverb: Ein Datenfeld mit allen I3DL2 Listener Parameter I3DL2-Sound-Reverb: Ein Datenfeld mit allen I3DL2 Sound Parameter 3.7.2 Geometrie-Klassen Geometrie-Klassen speichern geometrische Informationen und bieten Methoden zu geometrischen Berechnungen an. GAPFace Ein GAPFace speichert die Eckpunkte einer planaren Fläche, die aus drei oder vier Raumpunkten als GAPVec3f besteht. Sie bietet Methoden zur Schnittpunktberechnung durch Strahlenschuss und Flächenberechnung. KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE GAPGeometry 51 Die GAPGeometry speichert mindestens ein GAPFace. Es gibt Metho- den, um ein GAPFace hinzuzufügen, zur Schnittpunktberechnung aller GAPFaces und zur Berechnung der Gesamtfläche. 3.7.3 Akustik-Klassen Die Akustik-Klassen speichern akustische Informationen und bieten Methoden akustische Eigenschaften einzustellen und abzufragen. GAPMaterialFrequency Die GAPMaterialFrequency speichert beliebig viele frequenzabhängige Messwerte eines Materials. Dies können der Absorptions-, der Reflexions-, der Transmissions- und der Streuungsgrad sein. In dieser Arbeit konnte nur der Absorptionsgrad berücksichtigt werden, da Datensätze zu den drei weiteren Materialeigenschaften nicht vorlagen. Es wurden die knapp 500 Materialen aus dem Akustiksimulator Odeon 6.5 verwendet, die durch acht Absorptionsgrade definiert sind (siehe 2.3). Listener-dependent Sound Ein essentielles Konstrukt zum Verständnis dieser Arbeit ist der hörerabhängige Sound, oder Listener-dependent-Sound (LDS). Die Abbildung 3.7.3 verdeutlicht, dass eine Schallquelle bei zwei Hörern völlig unterschiedliche auditive Ereignisse hervorrufen kann. Für jeden Hörer existiert ein individuelles Bild der Schallquelle. Die Schallquelle als solche ist aber nicht mehrmals vorhanden. Daher wurde ein LDS nicht als GAP definiert. Es existiert nur als Kombination aus einem Listener und einem Sound. Mathematisch kann dies als Kreuzprodukt der Mengen von Listener und Sound dargestellt werden: f : (L × S) → LDS. Abbildung 3.4: Ein Sound S wird von zwei Listener unterschiedlich als LDS1 und LDS2 wahrgenommen. Wenn es n Listener und m Sounds in der Szene gibt, so existieren n · m viele LDSs. Ein LDS wird dazu genutzt, die hörerabhängige Ausprägung der Soundparameter zu verwalten und zu speichern. Neben den Datenfelder I3DL2-Listener-Reverb und I3DL2-Sound- KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 52 Reverb werden die virtuellen Sounds (siehe 4.3) als Eindruck der Schallausbreitung eines Sounds für den entsprechenden Listener verwaltet. Es können wahlweise die Parameter für einen Listerner oder interpolierte Parameter für mehrere Listener an den Sound-Kontext übergeben werden. Das Konzept der multi-Listener ist in VR-Umgebungen besonders wichtig. Wie in Kapitel 2.1.1.3 beschrieben ist, werden mehrere Listener in Sound-APIs nicht vollständig unterstützt. Durch das skalierbare Sound-System TRIPS (siehe 2.7.3) wurde gezeigt, dass die Realisierung von multi-Listener durch die Verbindung von Sound-Servern über ein Netzwerk möglich ist. Durch die Verwendung von LDSs kann nun auch die Verhallung als eigenes Bild eines Sounds für mehrere Listener individuell berechnet werden. 3.7.4 GAP-Basisklasse In der Abbildung 3.5 ist die GAP-Klassenhierarchie verdeutlicht. Alle GAPs sind von einer gemeinsamen Basisklasse4 GAPBase abgeleitet. Somit besitzen alle GAPs die folgenden Attribute und Methoden. Attribute: Methoden: • GAPIDField ObjectID • getObjectID() • GAPIDField ParentRoomID • getParentRoomID() Abgeleitete5 Klassen: 3.7.5 • GAPListener • GAPSound • GAPRoom • GAPMaterial • GAPGeomBase • GAPMedium GAP-Geometrie-Basisklasse Eine zweite Basisklasse, die durch Einbindung der GAPGeometry spezielle GeometrieEigenschaften besitzt, ist die GAPGeomBase Klasse, die von GAPBase abgeleitet wurde. Sie besitzt folgende zusätzliche Attribute und Methoden. Attribute: Methoden: • GAPGeometry Geometry • insertFace() • GAPMaterial Material • calculateIntersect () • GAPFloat Thickness • getArea () 4 Basis-, Ober- oder Superklasse: Objekt mit einer Datenstruktur und Eigenschaften. abgeleitete Klasse besitzt durch Vererbung die Struktur und Eigenschaften der Basisklasse und kann individuell erweitert werden. 5 Eine KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 53 Drei GAPs sind von der Geometrie-Klasse abgeleitet, da sie mindestens durch eine Fläche definiert sind. Abgeleitete Klassen: • GAPWall • GAPObstacle • GAPPortal GAPBase GAPGeomBase -ObjectID -ParentRoomID +getObjectID() +getParentRoomID() +getPosition() +Update() -Geometry -MaterialID -Thickness +getArea() +calculateIntersect() +insertFace() GAPWall -VisibleWalls GAPPortal GAPRoom -Medium -ChildrenWallIDs -ChildrenObstacleIDs -ChildrenportalIDs -BoundingBox +insertWall() +insertObstacle() +insertPortal() +removeWall() +removeObstacle() +removePortal() +getEquivalentAbsorption() GAPListener -Position -Orientation -Velocity -Aperture -ParentRoom2ID +getParentRoom2ID() +setParentRoom2ID() +getotherParentRoomID() GAPSound -Position -Velocity -Filename -Volume -ReverbVolume -LDSs +calculateReverbVolume() +getDecayTime() GAPMedium -Name -Impedance -Temperature -Humidity +getSonicSpeed() +getAbsorption() GAPMaterial -Name -Impedance -MaterialFrequencies +getAbsorption() +setAbsorption() Abbildung 3.5: GAP-Klassenhierarchie. GAPObstacle -Transformation -BoundingBox -Reflection-Flags KAPITEL 3. KOMPONENTEN DER GEOMETRIE-ENGINE 3.7.6 54 Weitere Klassen Weiteren Klassen sind entwickelt worden, die im Rahmen dieser Arbeit nur aufgezählt werden: • GAPManager • GAPReverbVolume • GAPI3DListenerContext • GAPI3DSoundContext • GAPXMLImporter • GAPVisibilityList • GAPIDMap • GAPReflectionsRay • GAPSoundpath • GAPI3DVirtualSoundContext • GAPVirtualSoundVector Zusammenfassung von Kapitel 3 In diesem Kapitel wurden auf die einzelnen Komponenten der Geometrie-Engine eingegangen. Nachdem die Anforderungen festgehalten wurden, sind die GAPs, das GAI, die Geometrie-Engine und der Sound-Kontext hergeleitet und ihr Aufgabenbereich vorgestellt worden. In dem Abschnitt über die Implementierung wurde auf die Klassenhierarchie und im speziellen auf den hörerabhängigen Sound LDS eingegangen, der für die multi-Listener Unterstützung entwickelt wurde. Kapitel 4 Berechnungen der Geometrie-Engine «Bach war der erste Hacker. Das Cembalo war sein Computer. Kannst du vorwärts und rückwärts spielen.» (Aus dem Film 23 - Nichts ist so wie es scheint) Aus den Informationen der kombinierten GAPs in einer Szenenbeschreibung können Akustik-Effekte berechnet werden. Dazu sind einige neue Vereinfachungen und Algorithmen nötig. Wie im Anhang A.4.2 erklärt, ist die Nachhallzeit einer Schallquelle abhängig von ihrer Position. Darum sind Environments, wie aktuelle Implementierungen sie nutzen, als kleinster Bereich zur Einstellung von Hallparametern recht ungenau. Außerdem ist die Rezeption einer Verhallung abhängig von der Position und Ausrichtung des Hörers. Es entstehen hörerabhängige Akustik-Effekte, wie die frühen Reflexionen oder die Wahrnehmung virtueller Schallquellen durch offene Portale, die es zu berechnen gilt. In diesem Kapitel werden Ansätze zur Volumenberechnung, der Reflexionsberechnung und der Berechnung von virtuellen Sounds angeführt. Im Weiteren folgt die Erklärung zur Darstellung der Akustik-Effekte durch diskrete Parameter des I3DL2 Standards. 4.1 Vereinfachungen Um die verlangten Anforderungen an Interaktivität, beweglichen Sounds und dynamischer Geometrie zu erfüllen, waren Vereinfachungen nötig. Zusätzlich haben fehlende Daten von Materialbeschreibungen Vereinfachungen unausweichlich gemacht (siehe 3.2.3 und 3.7.3). Es kann grob zwischen erforderlichen und optionalen, also selbst auferlegten, Vereinfachungen unterschieden werden: 55 KAPITEL 4. BERECHNUNGEN DER GEOMETRIE-ENGINE 56 Erforderliche Vereinfachungen: • Winkel-unabhängige Reflexion durch fehlende Messdaten • Keine Berücksichtigung des frequenzabhängigen Streuungsgrades durch fehlende Messdaten Optionale Vereinfachungen: • Bisher keine Berechnung der Dämpfung entlang einer Reflexion • Bisher keine größen-abhängige Berechnung und Berücksichtigung von Reflektoren • Bisher keine Beugung bei der Abschätzung des Reverb-Volume (siehe 4.2.1.1) • Bisher keine Berechnung und Berücksichtigung von Interferenzen • Keine Richtungsänderung bei der Brechung Die optionalen Vereinfachungen haben verschiedene Gründe, wie hoher Programmieraufwand, Performance-Verlust, oder niedrige Relevanz bezüglich der Physiologie des Gehörs. 4.2 Verhallung Die berechnete Nachhallzeit ist von dem Sound, der Geometrie und den Messfrequenzen abhängig. Die hörerabhängige Ausprägung der Verhallung eines Sounds ist zusätzlich abhängig vom Listener und seiner Position. Wenn man die Nachhallzeit eines Sounds frequenzabhängig bestimmen kann, so lässt sich daraus auch der hörerabhängige Eindruck herleiten. Daher macht es Sinn, nicht das explizite Raumvolumen zu berechen, wie in Akustiksimulatoren, sondern eine Annäherung des eigentlichen Verhallungsvolumen des Sounds, das Hallvolumen, zu berechnen. 4.2.1 Nachhallzeit Die Nachhallzeit ist definiert als die Zeit, die vergeht, damit ein Schalldruckpegel um 60 dB fällt (siehe Anhang A.1.7 und A.4.2). Nach den Formeln von S ABINE und E YRING hängt dies vom Raumvolumen und den akustischen Eigenschaften der verbauten Materialen ab. Statt dem Raumvolumen wird das Hallvolumen des Sounds approximiert. Dadurch wird die Berechnung der Nachhallzeit abhängig von der Position des Sounds. Es ist nötig, zwei Größen zu bestimmen, das Hallvolumen und die äquivalente Absorptionsfläche. 4.2.1.1 Abschätzung des Hallvolumens Das akustische Hallvolumen ist bei geschlossenen Räumen gleich dem Raumvolumen. Wenn nun zwei Räume durch ein Portal miteinander verbunden sind, so trägt der zweite Raum auch zum gesamten Hallvolumen und der Absorptionsfläche bei. Von den vielen Reflexionen gelangen auch einige in den anderen Raum, erzeugen ein Schalllfeld und werden KAPITEL 4. BERECHNUNGEN DER GEOMETRIE-ENGINE 57 dort absorbiert. Je nach Position der Schallquelle und der Größe des Portals ändert sich dieser Wirkungsgrad. Darum erscheint es sinnvoll, um den Sound eine Art “Blase” wachsen zu lassen, um auch den Wirkungsgrad anderer Räume zu erfassen. Bei dieser Berechnung werden nur Wände betrachtet, da ein nahes Hindernis die Berechnung des Volumens stark verfälschen kann. Im Weiteren wird die Approximation des Hallvolumens Reverb-Volumen genannt. Dieses Volumen wird pro Sound berechnet und nicht pro LDS, da davon ausgegangen werden kann, dass die Verhallung unabhängig vom Listener stattfindet. Die implementierte Lösung ist in drei Arbeitsschritte unterteilt: Der Strahlschuss in die Szene hinein, das Aufspannen des Reverb-Volumens und die Bestimmung des Reverb-Volumens. Hindernisse werden erst im dritten Schritt berücksichtigt. Strahlschuss in die Szene In die Position des Sounds wird eine Einheitskugel gelegt, auf der 1000 vordefinierte Punkte liegen, die Sphere-Points (SP) genannt werden. Dazu werden randomisierte Richtungsvektoren erzeugt, die siebenfach an den Ebenen der Hauptachsen gespiegelt werden, erst einmal an der XY-Ebene, dann zweimal an der YZ-Ebene und schließlich viermal an der XZ-Ebene. Dadurch wird erreicht, dass die Punkte zufällig, aber dennoch gleichverteilt auf der Kugeloberfläche liegen (siehe Abb. 4.1 a) ). (a) Schema in 2D: Zufällige Richtungsvektoren werden an den Hauptachsen gespiegelt und bilden die Sphere-Points. (b) GAP Ansicht: Strahlschuss ausgehender von der Soundposition durch ca. 100 Sphere-Points. Abbildung 4.1: Strahlschuss durch die Sphere-Points in a) erzeugt Volume-Points in b). Abhängig von der verlangten Genauigkeit des Reverb-Volumens wird ein Strahl von der Sound-Position durch einen Punkt auf der Kugeloberfläche in die Szene mit allen Wänden geschossen (siehe Abb. 4.1 b) ). Der Schnittpunkt, auf der dem Sound zugewandten Vorderseite einer Wall, mit der kürzesten Distanz zu der Soundposition, wird Volume-Point (VP) genannt und dem Sphere-Point zugeordnet. Wird zu einem Strahlschuss kein Treffer gefunden, so wird dieser Sphere-Punkt speziell markiert. Durch Triangulierung wird aus einer Menge von Punkten ein Dreiecksnetz, ein Mesh, aufgebaut. Jeder Sphere-Point, der einen Treffer hervorgerufen hat, wird direkt nach seiner Berechnung in das Mesh eingefügt, das an der betroffenen Stelle neu trianguliert wird. Sphere-Points ohne Treffer in der Szene werden nicht in das Mesh eingefügt. KAPITEL 4. BERECHNUNGEN DER GEOMETRIE-ENGINE Aufspannen des Reverb-Volumens 58 Nachdem der Strahlschuss mit verschiedenen Rich- tungen mehrfach wiederholt wurde, kann zu jeder Zeit die Berechnung gestoppt werden. Nun existiert eine Liste von Sphere-Points, den dazugehörigen Volume-Points und ein Mesh von Sphere-Points, mit genau der Anzahl der Volume-Points. Das Aufblähen geschieht durch das Ersetzen der Positionen der Sphere-Points im Mesh mit den Positionen der korrelierenden Volume-Points abzüglich der Sound-Position. So wird aus der Einheitskugel eine Art Blase (im mathematischen Nullpunkt) mit gültiger Triangulierung. (siehe Abb. 4.2 a) und b) ) (a) Schema in 2D (b) GAP Ansicht Abbildung 4.2: Das Reverb-Volumen spannt sich aus Treffern in der Szene auf. Bestimmen des Reverb-Volumens Um das von dem Mesh aufgespannte Volumen zu berechnen, kann man die Volumina aller vom Mittelpunkt und den Eckpunkten eines Dreiecks aufgespanntern Tetraeder akkumulieren. Da der Mittelpunkt der Nullpunkt ist, kann eine optimierte Berechnung des Spatprodukts durchgeführt werden, die das Volumen eines Tetraeders angibt. V0Tetra = 61 a · (b × c), wobei a, b und c Vektoren der Eckpunkte des Dreiecks auf der Hülle der Blase sind. Um das verdrängte Volumen der Hindernisse nicht zu unterschlagen, muss zuvor ab- geschätzt werden, welchen Einfluss diese haben. Dazu wird ein Raumquotient qRoom berechnet, der das Verhältnis der Treffer eines Raumes hRoom zu allen Volume-Points hAll angibt. qRoom = hhRoom All Die Summe aller Tetraeder abzüglich der gewichteten Volumina der Hindernisse ergibt das Reverb-Volumen VReverb . Aus zwei Gründen ist das berechnete Reverb-Volumen kleiner als das eigentliche Hallvolumen. Zum einen bleibt durch den zufälligen Strahlschuss die von Wänden gebildeten Ecken oft unberücksichtig. Außerdem bestimmen nur die direkten Treffer die Hülle der Blase, statt frequenzabhängige Beugungseffekte zu berücksichtigen. Daher wird das Reverb-Volumen mit einem einstellbaren Korrekturfaktor kReverb multipliziert, der bei einem Wert von 1.2 gute Resultate liefert. KAPITEL 4. BERECHNUNGEN DER GEOMETRIE-ENGINE 59 VReverb = kReverb (∑ V0Tetra − ∑ qRoom ·VObstacle ) 4.2.1.2 Berechnung der Absorptionsfläche In Anhang A.4.1 wird die äquivalente Absorptionsfläche A f ausführlich als vollständig absorbierender Bereich einer Fläche erklärt. Sie ist eigentlich abhängig von der Soundposition, da der Einfallwinkel leicht unterschiedliche Absorptionsgrade verursacht. Der Einfallswinkel ist in dem Datensatz der Materialien bisher nicht berücksichtigt. Die äquivalente Absorptionsfläche wird daher unabhängig von der Sound-Position approximiert. Als Folge kann jedes einzelne Geometrie-GAP den Wert seiner äquivalenten Absorptionsfläche zur Verfügung stellen. Äquivalente Absorptionsfläche der GAPs Ein Room als Sammlung von mehreren GAPs addiert die Absorptionswerte seiner Wände, Portale und Hindernisse und speichert diesen Wert, solange der Room unverändert bleibt. Die Abfrage nach der äquivalenten Absorptionsfläche ist frequenzabhängig. Anfragen nach der äquivalenten Absorptionsfläche zwischen Messfrequenzen werden interpoliert. Erstreckt sich das Hallvolumen über mehrere Räume, so wird der in 4.2.1.1 erwähnte Raumquotient qRoom benutzt, um auch die äquivalente Absorptionsfläche angrenzender Räume anteilsmäßig zu berücksichtigen. Vollständige Absorptionsflächen Ausgehend von einem Sphere-Point des Sounds kann es vorkommen, dass innerhalb einer einstellbaren Reichweite kein Treffer in der Szene nachweisbar ist. Wie in der Abbildung 4.3 a) angedeutet wird, kann das im Freifeld oder durch eine Öffnung in der Szene, wie ein offenes Fester, geschehen. Die Abbildung b) zeigt, dass sich das Reverb-Volumen im GAP-System nicht über ein Öffnung in der Szene hinaus erstreckt. Die vollständig absorbierenden Bereiche der Oberfläche des Reverb-Volumens sind nicht grafisch hervorgehoben worden. Da der Sphere-Point nicht umgesetzt wird, würde der verlängerte Strahl genau ein Dreieck auf der Oberfläche des Reverb-Volumens treffen. Abhängig davon, ob noch andere Strahlen dieses Dreieck getroffen haben, wird die Fläche dieses Dreiecks als vollständigen Absorber F gewichtet und geht zusätzlich in die Nachhallzeit-Berechnung ein. Ein vollständiger Absorber ist frequenzunabhängig, sodass der Wert der vollständigen Absorptionsfläche pro Sound nur einmal berechnet wird. 4.2.1.3 Berechnung der Nachhallzeit In dieser Arbeit wird die Nachhallzeit basierend auf der S ABINE’schen Formel der Nachhallzeit (siehe A.4.2) berechnet. Statt des Raumvolumes V wird das Reverb-Volumen VReverb benutzt. Die Summe der äquivalenten Absorptionsflächen A f wird mit den Raumquotienten qRoom der jeweiligen Räume multipliziert und anschließend mit der vollständigen Absorptionsfläche FAll summiert. Danach ist die Nachhallzeit für die Frequenz f : VReverb TRT 60GAP ( f ) = 0, 163 ∑ qRoom A f + FAll s KAPITEL 4. BERECHNUNGEN DER GEOMETRIE-ENGINE (a) Schema in 2D 60 (b) GAP Ansicht Abbildung 4.3: Keine Treffer erzeugen vollständige Absorber auf der Oberfläche des Reverb-Volumes. 4.2.2 Frühe Reflexionen Frühe Reflexionen werden explizit als Strahlengang zwischen Sound und Listener berechnet. Die Ordnungsgröße der Reflexionen ist dynamisch. Die Standardeinstellungen für die untere Grenze ist eins und drei für die obere Grenze. Im Folgenden wird das Konzept der Reflexionsberechnung und die Eigenschaften bei der Berechnung erklärt. 4.2.2.1 Konzept der Reflexionsberechnung Es soll exemplarisch an einer Reflexion dritter Ordnung gezeigt werden, welche gängige Technik angewendet wird (siehe Abb. 4.4 a) ). Die Abbildung b) zeigt frühe Reflexionen bis zur 5ten Ordnung im GAP-System. Durch die Kombination der Reflektoren R1, R2 und R3 entsteht ein eindeutiger Reflexionsgang. Zuerst wird die Schallquelle S an dem ersten Reflektor R1 gespiegelt. Das Spiegelbild S’ wird an dem zweiten Reflektor R2 zu S”, dann am dritten R3 zu S”’ gespiegelt. Nun wird überprüft, ob R3 einen Schnittpunkt mit dem Strahl von S”’ zum Hörer L hat. Gibt es auf R3 einen Schnittpunkt P3, so wird rekursiv auf Schnitt mit den vorherigen Reflektoren überprüft. Gibt es auch auf R1 einen Schnittpunkt P1 auf dem Strahl von P2 nach S’, ist der Reflexionspfad dritter Ordnung gefunden: S, P1, P2, P3, L. Liegt einer der Schnittpunkte P1, P2 oder P3 nicht auf dem entsprechenden Reflektor, existiert kein gültiger Reflektionsgang und die Berechnung kann frühzeitig abgebrochen werden. Die Reflektoren werden beliebig permutiert, um alle Möglichkeiten eines Reflexionsgangs zu betrachten. Wahrscheinlichkeitstheoretisch entspricht die Reflexionsberechnung dem Lottospiel mit Berücksichtigung der Ziehreihenfolge. Bei n Reflektoren und der Ord! n n! nung k gibt es also k! = (n−k)! verschiedene Reflexionsgänge, die zu testen sind. k Ein frühes Erkennen von erfolgloses Konstellationen verhindert rendundante Berechnungen. Durch eine gute Vorauswahl der Reflektoren kann n verringert werden und der Rechenaufwand begrenzt werden (siehe 4.6.2). KAPITEL 4. BERECHNUNGEN DER GEOMETRIE-ENGINE (a) Schema in 2D: Prinzipt der Reflexionsberechnung dritter Ordnung von L zu S. 61 (b) GAP Ansicht: Frühe Reflexionen bis zur 5ten Ordnung zwischen Sound (gelb) und Listener um und an einem Hindernis (weiss). Abbildung 4.4: Berechnung der frühen Reflexionen. 4.2.2.2 Berechnung der Reflexionen Das Konzept zur Reflexionsberechnung wurde mit einem stack-basierten1 Ansatz implementiert, da so die Spiegelbild-Berechnung des Sounds optimert und Redundanzen ausgenutzt werden konnte. Reflektoren werden in das ReflectionRay-Objekt geschoben und automatisch die entsprechenden Spiegelbilder des Sounds berechnet. Dieses Spiegelbild bleibt gültig, bis der Reflektor wieder vom Stack entfernt wird. Ist das Objekt gefüllt, wird die Evaluierung vorgenommen, die die Schnittpunkte auf den Reflektoren berechnet und überprüft, ob der Reflexionspfad durch andere Objekte blockiert ist. Diese Berechnung ist sehr aufwändig und daher wurde versucht möglichst grundlegende Optimierungen zu verwenden. Zwei zu optimierende Ansätze sind die Auswahl der Initital-Reflektoren und die Auswahl der Folge-Reflektoren. Auswahl der Initital-Reflektoren Eine Fläche, die nicht in der Nähe eines Sounds ist, wird mit großer Wahrscheinlichkeit auch keine gültige Reflexion hervorbringen. Die Auswahl der ersten Reflektoren ist von entscheidender Bedeutung zur Optimierung der gesamten Berechnung. Durch die Berechnung des Reverb-Volumens wurden schon wichtige Rauminformationen in den Volume-Points gesammelt, die hier genutzt werden können. So hat ein Treffer des Strahlschusses Wände in der Nähe des Sounds getroffen. Man kann annehmen, dass diese Wände gute Initial-Reflektoren sind. Weitere Initial-Reflektoren sind die Flächen der Obstacles, die sich im selben Raum mit dem Sound befinden. Auswahl der Folge-Reflektoren Die Auswahl der Folge-Reflektoren basiert auf den Informationen, die in einem Vorberechnungsschritt oder bei dynamischen Szenen bei Veränderung der Geometrie berechnet werden. Das in Kapitel 4.6.2 genau erklärte Verfahren der Wand-Sichtbarkeit, ist entscheidend bei der Optimierung dieses Problems. Wenn ein Strahl reflektiert wird, so brauchen nur die Wände überprüft zu werden, die diese Wand als sichtbare Wände erkannt haben (siehe 4.6.2). Da sich Obstacles dynamisch in der Szene 1 Stack: engl. Stapel. Eine stack-basierte Datenstruktur wird wie ein Stapel durch Auflegen und Entfernen von Objekten nach dem LIFO(Last In First Out)-Prinzip verwaltet. KAPITEL 4. BERECHNUNGEN DER GEOMETRIE-ENGINE 62 bewegen können, ist es nötig, alle Flächen der betrachteten Obstacles als Folge-Reflektoren zu betrachten. 4.3 Berechnung von virtuellen Sounds Die aktuellen Computerspiele, die akustische Verdeckung von Sounds approximieren, dämpfen je nach Ausprägung den Direktschall und den Nachhall. Wenn also ein böses Monster hinter einer Mauer lauert, dann hört der Listener ein dumpfes Signal, und durch die Richtung des Direktschalls ahnt er, wo der Gegner sich aufhält. Doch in der Wirklichkeit nimmt man oft ein anderes auditives Ereignis wahr. Da die Wand ja irgendwo aufhört oder eine Tür die Räume verbindet, würde man ein leicht gebeugtes Signal hören, das aus der Richtung der Tür oder von dem Ende der Mauer kommt. Im Alltag erfährt der Hörer oft die Information, wie er zu einer Schallquelle kommt. • Direktes Schallsignal: Wo ist die Schallquelle? • Schallsignal durch ein Portal: Wie kommt man zur Schallquelle? Abbildung 4.5: Prinzip der Virtuellen Sounds. Abhängig von der Position des Listeners ändert sich die wahrgenommene Lautstärke. Wenn Schallwellen durch eine Tür in einen Raum dringen, so übertönen sie zumeist den stark gedämpften Direktschall, der als Transmission durch die Wand dringt. Man könnte also den Sound in Richtung der Tür positionieren und würde einen verbesserten Effekt erzielen. Doch was wäre, wenn durch zwei Türen, rechts und links von dem Hörer, Schallwellen ankommen? Wenn der Hörer, wie in Abbildung 4.5 erkennbar, sich einer Tür nähert, wird das Signal vor ihm lauter und hinter ihm leiser. Eine Lösung wäre die Approximation der Schallausbreitung zusätzlich zum Hauptsound durch eigenständige virtuellen Sounds, die logisch mit den Portalen verbunden sind. Dabei sind die virtuellen Sounds hörerabhängig, das bedeutet, dass für einen anderen Listener völlig andere virtuelle Sounds entstehen. Die Liste mit den virtuellen Sounds wird in dem Objekt des Listener-Dependent Sound verwaltet. Kein anderes System ist bekannt, welches virtuelle Sounds in dieser Art verwendet und hörerabhängig verwaltet. Durch diese Implementierung wird der komplexe Vorgang der physikalischen Schallwellenausbreitung so approximiert, dass er in Echtzeit dargestellt werde kann. KAPITEL 4. BERECHNUNGEN DER GEOMETRIE-ENGINE 4.3.1 63 Generierung von virtuellen Sounds Ein Portal beschreibt die Grenzfläche zwischen zwei Räumen. Aber schon in der Nähe einer Tür erlebt ein Hörer die akustischen Ausprägungen, die von der Öffnung hervorgerufen werden. Tritt ein Hörer durch eine offene Tür, so entstehen nicht plötzlich und willkürlich auditive Ereignisse durch weitere Türen in dem Raum. Vielmehr spalten oder vereinen sich die ankommenden Schallwellen von mehreren Türen, je nach ihrer Ausprägung. Darum wird um ein Portal ein Einflussbereich definiert. Betritt der Listener diesen Bereich, so wird überprüft, ob im angrenzenden Raum prophylaktisch virtuelle Sounds erzeugt werden sollen, wenn ihre Signalqualität einen Schwellwert überschreitet. Verlässt der Listener den Einflussbereich des Portals wieder, ohne in den Raum eingetreten zu sein, werden die virtuellen Sounds des angrenzenden Raumes wieder gelöscht. Betritt der Listener aber den angrenzenden Raum und verlässt er den Einflussbereich des Portals auf der anderen Seite, so werden die hinter ihm liegenden virtuelle Sounds gelöscht. Der Einflussbereich der Portale wird auch dazu genutzt, virtuelle Sounds weich einzublenden und so eine unmerkliche Trennung und Verschmelzung von virtuellen Sounds zu ermöglichen. Dazu wird die Lautstärke des virtuellen Sounds an dem betretenden Einflussbereich bis zum Mittelpunkt des Portals hin abgeschwächt, gleichzeitig werden die virtuellen Sounds im angrenzenden Zimmer verstärkt. 4.3.2 Positionierung von virtuellen Sounds Damit ein virtueller Sound wirken kann, muss ein gültiger Soundpfad (siehe 4.3.3) vom Sound bis zum Portal gefunden werden. Der Soundpfad besteht aus sich abwechselnden GAP-IDs der durchlaufenden Räume und Portale (z.B. R1-P5-R2-P6-R3). Bei der Berechnung wird eine Abschätzung der zurückgelegten Strecke und der benötigten Laufzeit vorgenommen. Die Position des virtuellen Sounds liegt am Ende des begradigten Soundpfades in der Richtung des entsprechenden Portals aus Sicht des Listeners, wie in den Abbildungen 4.6 a) und b) gezeigt ist. Die virtuellen Sounds können auch außerhalb eines Raumes liegen, da sie die Schallausbreitung nur approximieren. (a) Schema in 2D: Für die Listener L1, L2 und L3 sind die Positionen der jeweiligen virtuellen Sounds unterschiedlich. (b) GAP Ansicht:Die virtuellen Sounds (rot) des ursprünglichen Sounds (grün) können auch ausserhalb der Szene liegen. Abbildung 4.6: Die Position eines virtuellen Sounds liegt am Ende des begradigten Soundpfades. KAPITEL 4. BERECHNUNGEN DER GEOMETRIE-ENGINE 4.3.3 64 Soundpfade Für jedes Portal des Raumes des Listeners und des benachbarten Raumes, in dessen Einflußbereich des Portals der Listener sich befindet, wird eine Pfadsuche gestartet. Wenn mehrere Pfade für ein Portal gefunden werden, werden diese evaluiert und einer ausgewählt. Evaluation Jeder Soundpfad beschreibt eine Abfolge von Räumen und Portalen, die den Listener mit einem Sound verbinden. Die zurückgelegte Strecke wird über die Mittelpunkte der Portale und Räume aufaddiert. Für jeden Soundpfad wird lokal ein Material angelegt, das die Eigenschaften der durchschrittenen Portale akkumuliert. Dazu werden die mit dem Öffnungswinkel und der Dicke des Portals multiplizierten Materialen aller Portale des Soundpfads aufsummiert. Der Soundpfad dessen Material das Signal am wenigstens abschwächt, wird ausgewählt. 4.3.4 Ausprägung von virtuellen Sounds Die Signalqualität der virtuellen Soundquelle wird angepasst. Dabei erfährt der Direktschall eine Abschwächung mit der Entfernung. Es braucht nicht auf Verdeckung in der Szene geprüft zu werden, da die Position des virtuellen Sounds nur virtuell ist und nur die Position des auditiven Ereignisses beim Hörer nachahmen soll. Die Signale für Direktschall und Nachhall werden zusätzlich mit dem Material der akkumulierten Portaleigenschaften gedämpft. Ist für den Listener das Portal von einem Hindernis verdeckt, so wird der Effekt der Obstruktion, der die Beugung annähert, zusätzlich berücksichtigt. 4.4 Darstellung der Akustik-Effekte Nachdem die Geometrie-Engine eine große Anzahl von Zwischenergebnisse berechnet und gespeichert hat, können diese Resultate verwendet werden, um daraus die Werte der SoundParameter der verwendeten Sound-API abzuleiten. Wie in Kapitel 2.6.1.2 dargestellt, ist das Einstellen der Parameter komplex und aufwändig. Es folgt die Erklärung der Ableitungen einiger Parametern. 4.4.1 Positionierung und Orientierung Die Listener werden durch ihre Position und Orientierung spezifiziert, die direkt aus der Szenenbeschreibung übernommen werden. Pro Listener werden die Positionen von zwei Arten von Sounds angegeben: der LDS und die virtuellen Sounds. Jeder LDS und seine virtuellen Sounds können individuell für einen Listener eingestellt werden. Die Position des LDS entspricht der Position des Hauptsounds in der Szene. Die Positionen der virtuellen Sounds sind durch die Soundpfade vorgegeben (siehe 4.3.2) und können direkt übernommen werden. Wie im Anhang A.3.10 erklärt wird, hängt die Position des auditiven Ereignisses von der Schallgeschwindigkeit des Mediums ab. Durch die radikal verkürzte IDT unter Wasser KAPITEL 4. BERECHNUNGEN DER GEOMETRIE-ENGINE 65 ortet ein Hörer eine beliebige Schallquelle nur relativ vor sich. Um diesen Effekt nachzuahmen, könnten die Positionen des LDS und seine virtuellen Sounds vor den Listener platziert. Die Berechnung dieser medienabhängigen Soundpositionierung ist als Sonderfall konzeptionell vorbereitet. 4.4.2 Verhallung Die erzeugte Verhallung ist von vielen Parametern abhängig, die verwendet werden, um eine künstliche Impulsantwort aufzubauen. In einigen Fällen verlangt die Sound-API Resultate, die für jeden Sound berechnet wurden, in einem Parameter des Listeners zusammenzufassen. Diese Herleitung gilt für den I3DL2 Standard (siehe 2.6.1.2) und würde für einen zukünftigen I3DL3 Standard optimiert werden. Im Folgenden wird auf die Herleitung der Parameterwerte des Listeners und der Sounds eingegangen. Parameterherleitung für einen Listener HF-Reference ist frei wählbar, da die Materialabfragen zwischen zwei Messwerten interpoliert werden. LF-Reference ist frei wählbar, da die Materialabfragen zwischen zwei Messwerten interpoliert werden. Environment wird nicht gesetzt, da dies ein high-level Parameter ist, der andere Parameter kontrolliert. Environment-Size wird nicht gesetzt, da dies ein high-level Parameter ist, der andere Parameter kontrolliert. Environment-Diffusion leitet sich von der Länge des gemittelten Richtungsvektors des Reflection Pans her. Reflexionen aus vielen verschieden Richtungen resultieren in einer kurzen Vektorlänge und erzeugen hohe Diffusität, spekuläre Reflexionen resultieren im Mittel in einer langen Vektorlänge und erzeugen niedrige Diffusität. Auch die Rauheit der Materialien soll zukünftig berücksichtigt werden. Room bleibt auf dem Standardwert, da die Intensität des ”Raumeffekts” für jeden Sound individuell über die Reflexionen berechnet wird. Room-HF bleibt auf dem Standardwert, da die Intensität des ”Raumeffekts” für jeden Sound individuell über die Reflexionen berechnet wird. Room-LF bleibt auf dem Standardwert, da die Intensität des ”Raumeffekts” für jeden Sound individuell über die Reflexionen berechnet wird. Decay-Time wird für jeden Sound eingestellt, obwohl der Parameter beim Listener angesiedelt ist. Er berechnet sich über die Nachhall-Formel (siehe 4.2.1) bei mittlerer Referenz-Frequenz, die zwischen HF-Reference und LF-Reference liegt. Decay-HF-Ratio wird für jeden Sound eingestellt und berechnet sich als Verhältnis der Nachhallzeit bei HF-Reference zu der Nachhallzeit bei mittlerer Frequenz. KAPITEL 4. BERECHNUNGEN DER GEOMETRIE-ENGINE 66 Decay-LF-Ratio wird für jeden Sound eingestellt und berechnet sich als Verhältnis der Nachhallzeit bei LF-Reference zu der Nachhallzeit bei mittlerer Frequenz. Reflections wird für jeden LDS eingestellt und berechnet sich als Produkt aus Minimalwert des Parameters und dem Verhältnis aus der Anzahl unblockierten Reflexionen zu der Anzahl allen getesteten Reflexionen. Reflections-Delay wird für jeden LDS eingestellt und berechnet sich als das Verhältnis aus der Strecke der kürzesten Reflexion und der Schallgeschwindigkeit des Mediums. Reflections-Pan wird für jeden LDS eingestellt und berechnet sich als Mittelwert aller normierten Richtungsvektoren der unblockierten Reflexionen. Reverb wird für jeden LDS eingestellt und berechnet sich als Produkt aus Minimalwert des Parameters und dem Verhältnis der Anzahl der Volume-Points und der Anzahl aller getesteten Strahlen, die das Reverb-Volume aufspannen. Reverb-Delay wird für jeden LDS eingestellt und berechnet sich als das Verhältnis aus der Strecke des vierfachen gemittelten Radius des Reverb-Volumes und der Schallgeschwindigkeit des Mediums. Reverb-Pan wird für jeden LDS eingestellt und berechnet sich als Mittelwert aller normierten Richtungsvektoren der Volume-Points des Reverb-Volumes. Echo-Time wird als Musikeffekt nicht berechnet, . Der Standardwert ist 0,25 s. Echo-Depth wird als Musikeffekt nicht berechnet. Der Standardwert ist Null. Modulation-Time wird bisher nicht berechnet, da die Modulation eine Tonhöhenverschiebung im Hallsignal verursacht, was eher aus harmonischen Gründen in der Musikproduktion verwendet wird. Modulation-Depth wird nicht berechnet, siehe Modulation Time. Air-Absorption-HF wird in Abhängigkeit des Mediums des Raums des Listeners eingestellt. Die Abschwächung berechnet sich für gasförmige Medien aus Temperatur und Feuchtigkeit. Room-Rolloff-Factor wird nicht berechnet, da jeder Sound eine individuelle Nachhallzeit besitzt. Parameterherleitung für einen Sound Direct wird nicht berechnet, da eine Korrektur der Intensität durch die Verwendung von virtuellen Sounds unnötig wird. Der Standardwert ist 0 mB. Direct-HF wird nicht berechnet (siehe Direct). Der Standardwert ist 0 mB. Room wird nicht berechnet (siehe Direct). Der Standardwert ist 0 mB. Room-HF wird nicht berechnet (siehe Direct). Der Standardwert ist 0 mB. KAPITEL 4. BERECHNUNGEN DER GEOMETRIE-ENGINE 67 Obstruction wird durch die Implementierung in [GPG3] berechnet. Obstruction wird auf einen Sound angewendet, der sich im selben Raum wie der entsprechende Listener befindet. Virtuelle Sounds, deren entsprechende Portale durch Objekte verdeckt sind, werden auf die selbe Art zusätzlich abgeschwächt. Obstruction-LF-Ratio wird noch nicht berechnet. Der Standardwert ist 0,0. Exclusion wird direkt aus den frühen Reflexionen eines LDSs abgeleitet. Exclusion wird nur auf Sounds angewendet, die sich nicht mit dem Listener in einem Raum befinden. Exclusion-LF wird noch nicht berechnet. Der Standardwert ist 1,0. Occlusion wird durch Akkumulieren von GAP-Materialien berechnet, die sich zwischen dem Sound und dem Listener befinden. Occlusion wird nur auf Sounds angewendet, die sich nicht mit dem Listener in einem Raum befinden. Occlusion-LF-Ratio wird durch die frequenzabhängige Anfrage des akkumulierten Materials berechnet. Occlusion-Room-Ratio wird nicht berechnet, da dies der Exclusion entspricht. Der Standardwert ist 1,5. Occlusion-Direct-Ratio wird nicht berechnet, da dies der Exclusion entspricht. Der Standardwert ist 1,0. 4.5 Einstellungen der Geometrie-Engine Zu Forschungszwecken wurden interne Parameter der Berechnungen der Geometrie-Engine dynamisch verwaltet, statt diese konstant einzuprogrammieren. An dieser Stelle werden einige dieser Parameter spezifiziert und ihre Bedeutung erklärt. REVERBVOLUMEACCURACY [4 bis 1000, Std.: 32] Für jeden Sound wird nach einem in Kapitel 4.2.1 erklärten Verfahren die Nachhallzeit auf Grund mehrerer Faktoren berechnet. Einer der Faktoren ist das Reverb-Volumen, das durch wiederholten Strahlschuss in die Szene berechnet wird. Die Standardanzahl der geschossenen Strahlen in die Szene liegt bei 32, kann aber zwischen 4 und 1000 liegen. Je höher der Wert, desto genauer wird das Volumen bestimmt. REVERBVOLUMETESTLENGTH [1 bis ∞, Std.: 50] Während der Berechnung des Reverbvolumen werden viele Strahlen in die Szene geschossen. Die maximale Entfernung mit der ein Strahl auf einen Treffer mit der Geometrie getestet wird, kann in Meter angegeben werden. ReflectionOrderMin [1 bis ReflectionOrderMax, Std.: 1] ReflectionOrderMax [ReflectionOrderMin bis ∞, Std.: 3] KAPITEL 4. BERECHNUNGEN DER GEOMETRIE-ENGINE 68 Jeder LDS speichert die erfolgten Reflexionen zwischen den Positionen des Listeners und des Sounds ab. Um den Aufwand der Reflexionsberechnung zu steuern, kann man die minimale und maximale Ordnung angeben. Standardmäßig werden Reflexionen der ersten, zweiten und dritten Ordnung berechnet. WALLVISIBILITYTESTLENGTH [1 bis ∞, Std.: 100] Bei dem dynamischen Sichtbarkeitstest der Walls kann ein Wert angegeben werden, der die maximale Entfernung von zu testenden Walls angibt. Dieser Wert wird in Meter angegeben und wird mit dem Skalierungsfaktor intern verrechnet. RefreshRateI3DL1Listener [1 bis ∞, Std.: 30] RefreshRateI3DL2Listener [1 bis ∞, Std.: 15] RefreshRateI3DL1Sound [1 bis ∞, Std.: 30] RefreshRateI3DL2Sound [1 bis ∞, Std.: 15] RefreshRateI3DL2Reverb [1 bis ∞, Std.: 15] Die Teilbereiche der Geometrie-Engine können mit individuellen Wiederholungsraten aktualisiert werden. Die Werte werden in Hz angegeben. 4.6 Optimierungen In diesem Abschnitt werden einige Verfahren zur Optimierung des Gesamtsystems angesprochen. Manchen Optimierungen liegen Vereinfachungen zu Grunde, die Auswirkungen auf die Akustikeffekte haben. 4.6.1 Schnittpunktberechnung Sehr oft ist es nötig, Schnittpunkte zu bestimmen, die auf einer Verbindungslinie von einem Startpunkt und einem Endpunkt liegen (siehe Abb. 4.7). In einigen Fällen reicht die Information, ob ein Objekt den Strahl blockiert. Manchmal ist die explizite Berechnung des ersten Schnittpunktes nötig, der ausgehend vom Startpunkt liegt. In beiden Fällen wird überprüft, welche Räume von der aufgespannten BoundingBox des Strahl geschnitten werden. Die Auswahl der betroffenen Räume (in gelb) wird Roomselection genannt. Jede Wall und jedes Obstacle in diesen Räumen wird überprüft. Bei Bedarf wird aus den Schnittpunkten der Flächen (hellblau) der dem Startpunkt am nächsten liegende ermittelt. Diese Methoden werden überall dort benutzt, wo Strahlen in die Szene geschossen werden. Vor allem kommt dies bei der Berechnung des Direktschalls, des Reverb-Volumen und der frühen Reflexionen vor. KAPITEL 4. BERECHNUNGEN DER GEOMETRIE-ENGINE Room 1 2 Room 2 69 Room 3 Start Ende Room 4 Room 5 Room 6 Abbildung 4.7: Aufbau der Roomselection (Room2, Room3, Room5, Room6) bei der Schnittpunktberechnung. 4.6.2 Sichtbarkeitsliste der Wände Da Walls im Gegensatz zu Obstacles nicht beweglich sind, kann für jede Wall eine IDListe von anderen Walls aufgebaut werden, die von ihr sichtbar sind. Diese Sichtbarkeitsliste kann von der Geometrie-Engine vorberechnet, durch eine XML-Datei importiert oder dynamisch bei dem Einfügen einer neuen Wall berechnet werden. Benutzt wird diese Liste bei der Berechnung von frühen Reflexionen, um die Zahl der möglichen Folge-Reflektoren zu reduziern. Für die Vorberechnung der Sichtbarkeitsliste wird das folgende zweistufige Auswahlverfahren verwendet. Filterung der Wände Zwei Wände werden jeweils paarweise behandelt. Abhängig von ihrer Entfernung, ihrer Fläche und ihrem Winkel zueinander wird ein Schwellwert berechnet, der mit dem Formfaktor der Radiosityberechnung vergleichbar ist. Dieser wird aber nicht verwendet, um einen Energieaustausch zu approximieren, sondern um heuristisch die Wände herauszufiltern, die wahrscheinlich keinen gemeinsamen Reflexionsstrahl erzeugen können. Wandpaare, die zu weit von einander entfernt sind, deren Stellung zu einander einen zu kleinen Raumwinkel aufweisen oder deren Vorderseiten nicht aufeinander zu zeigen, werden für den nächsten Schritt aussortiert und verworfen. Gewichtung der Wände Für die restlichen Wandpaare werden alle Eckpunkte und der Mittelpunkt der einen Wand per Strahlschuss in die Szene mit den Eckpunkten und dem Mittelpunkt der anderen Wand verbunden und auf Sichtbarkeit getestet (siehe Abb: 4.8). Überschreitet der Grad der Sichtbarkeit einen Schwellwert, so fügen beide Wände gegenseitig die Wall-ID der anderen Wand in ihre Liste der sichtbaren Wände ein. Dynamische Berechnung Bei dynamischer Berechnung werden nur solche Paare von Wänden neu berechnet, deren AABB2 durch die neu eingefügte Wand geschnitten wird. Ein Beispiel wird in Abbildung 4.9 gezeigt. Weder die von Wall 1 und Wall 2 aufgespannte AABB, noch die von Wall 2 und Wall 3 aufgespannte AABB wird von der neuen Wall 4 geschnitten. Die Sichtbarkeit dieser Paare wird nicht von Wall 4 beeinflusst. Wall 4 liegt nur in der AABB von Wall 1 und Wall 3 und somit muß die Sichtbarkeit dieses Paares neu 2 AABB = Axis Alligned Bounding Box, ein an den Hauptachsen ausgerichteter Begrenzungsquader KAPITEL 4. BERECHNUNGEN DER GEOMETRIE-ENGINE 70 Abbildung 4.8: Sichtbarkeits-Test zwischen der rechten und linken Wand. Die mittlere Wand blockiert teilweise die Sichtbarkeit. berechnet werden. Um die Auswahl der Wand-Paare einzuschränken, kann die maximale Entfernung zweier Walls verändert werden, die eine AABB aufspannen. Abbildung 4.9: Wall 4 schneidet nur AABB von Wall 1 und Wall 3. Zusammenfassung von Kapitel 4 In diesem Kapitel sind die einzelnen Berechnungen der Akustik-Effekte erklärt worden. Zur Bestimmung der Nachhallzeit war es nötig ein Reverb-Volumen und die äquivalente Absorptionsfläche nach S ABINE zu bestimmen. Die frühen Reflexionen wurden durch Spiegelung des Sounds einzeln berechnet. Das Konzept der virtuellen Sounds, welche die Schallausbreitung durch Öffnungen approximieren, wurde hergeleitet und beschrieben. Es wurden die Herleitung der Parameterwerte des I3DL2 Standards aufgeführt und Verfahren beschrieben, um den Strahlenschuss und die Reflexionsberechnung zu optimieren. Kapitel 5 Überprüfung der Geometrie-Engine «-Was passiert? -Ich könnte es Dir beschreiben. Ich könnte Dir aber auch eine Kiste besorgen!» (Elb zum Zwerg, der nicht über eine Mauer sehen kann. Aus dem Film Der Herr der Ringe - Die zwei Türme) Zur Überprüfung wurden Applikationen und Testverfahren entwickelt, die verschiedene Anforderungen an die Geometrie-Engine stellen. Es wurden Messungen durchgeführt, die verdeutlichen sollen, welche Berechnungen besonders aufwändig sind und wie das System unter verschiedenen Voraussetzungen skaliert. In diesem Kapitel werden zuerst die entworfenen Applikationen und ihre Szenen, dann die daraus ermittelten Meßergebnissen und schließlich die qualitative Überprüfung beschrieben. 5.1 Test-Szenarien Die getesteten Applikationen bestehen aus unterschiedlichen Szenen-Beschreibungen. Für die erste Anwendung wurde eine Büroetage mit Räumen und Türen in unterschiedlichen Ausführungen entworfen. Die zweite Szene stellt eine Wanderung durch eine Höhle dar, die durch zufällig generierte Breiten und Höhen verschiedene Ausprägungen annimmt. 5.1.1 Büroszene Für das erste Beispiel Office-1x wurde eine Büroetage mit mehreren Zimmern entworfen. Zwei darauf aufbauenden Szenen mit doppelter (2x) und vierfacher (4x) Geometrielast (siehe Tab.: 5.1) wurden durch Spiegelung erstellt. Die dazugehörige Anwendung kann dynamisch Listener und Sounds hinzufügen oder entfernen. Die Szenenbeschreibungen lagen als XML-Datei vor, die beim Starten geladen wurde. Die Abbildung 5.1 zeigt die grafische Ausgabe der Geometrie-Engine für die komplexe Szene Office-4x. 71 KAPITEL 5. ÜBERPRÜFUNG DER GEOMETRIE-ENGINE 72 Tabelle 5.1: GAP-Verteilung der drei Office-Szenen. Walls Portals Obstacles Rooms Summe Geom. GAPs Office-1x Office-2x Office-4x 87 12 1 9 109 174 25 2 18 219 348 53 4 36 441 Abbildung 5.1: Office-Szene mit vierfacher Geometrie, 2 Listener und 4 Sounds. 5.1.2 Höhlenwanderung Die zweite Anwendung Höhlenwanderung ist eine Wanderung durch eine zufällig generierte Höhle (siehe Abb. 5.2 a) ), bei der während der Laufzeit die Geometrie der Szene verändert wird. Um einen Sound und einen Listener herum wird nur ein Raum aufgebaut (siehe Abb. 5.2 b) ), indem Wände hinzugefügt und entfernt werden. Die Anzahl und Größe der Wände ist veränderbar. (a) Grafische Ansicht (b) GAP Ansicht Abbildung 5.2: Höhlenwanderung. KAPITEL 5. ÜBERPRÜFUNG DER GEOMETRIE-ENGINE 73 5.2 Technische Messergebnisse Beide Anwendungen wurden mit unterschiedlichen Einstellungen getestet. Über einen Zeitraum von 60 Sekunden wurde die FPS1 -Angabe gemessen und gemittelt. Während der Messung war die grafische und akustische Ausgabe ausgeschaltet, um die eigentliche CPU2 -Last der Akustikberechnungen zu erfassen. 5.2.1 Büroszene In der Büroszene wurden die aufwändigsten Benchmarks3 durchgeführt. Bei den Tests wurde für jeden Frame4 die Audioberechnungen durchgeführt. Wie in Kapitel 2.1.4 beschrieben, ist diese hohe Aktualisierungsrate nicht nötig, für die Testergebnisse aber aussagekräftiger. Die drei Szenen wurden mit unterschiedlicher Anzahl von Listener, Sounds und Geometrie angezeigt und die FPS-Angabe ermittelt. Sounds und Listener haben sich auf zufälligen Bahnen innerhalb der Szene bewegt. Jeder Sound hat 32 Strahlen in die Szene geschossen, um sein Reverb-Volumen zu berechnen. Frühe Reflexionen für jeden Listener wurden bis zur dritten Ordnung berechnet. Der Aufbau der Liste der sich gegenseitig sichtbaren Wände wurde nicht explizit gemessen, da bei statischer Szenenbeschreibung dies vorberechnet werden kann und keinen Einfluss auf den Ablauf der Anwendung hat. In der Abbildung 5.3 a) erkennt man die bei wachsender Anzahl von Sounds die Last von zusätzlichen Listenern in der Szene Office-1x. Auf der Y-Achsen ist als Index das Produkt aus FPS-Anzahl, der Listener-Anzahl und der Anzahl der Sounds abgetragen. Der Aufwand der Listener skaliert linear, da die Messlinie von einem Listener fast mit der von zwei Listener übereinander liegt. Ein zweiter Listener generiert die doppelte Last. Die Last der Sounds skaliert linear, was man an den nahezu horizontal verlaufenden Messlinien erkennt. Die Abbildungen 5.3 b) und c) zeigt mit wachsender Anzahl von Sounds die Last von zusätzlicher Geometrie der drei Büroszenen. Auf der Y-Achse ist als Index das Produkt aus FPS-Größe, die Anzahl der Geometrie-GAPs und die Anzahl der Sounds abgetragen. Die Messungen wurden ohne a) und mit einem Listener b) durchgeführt. Der lineare Mehraufwand bei steigender Sound Anzahl resultiert in fast horizontalen Messlinien. In a) steigt die Messline der Szene Office-4x sogar leicht an, was eine bessere Performance relativ zur Anzahl der Sound bedeutet. Bemerkenswert ist auch die relativ bessere Performance zur steigenden Geometrie-Komplexität, was an dem ähnlich großen Abstand der Messlinien der drei Szene erkennbar ist, trotz Vervierfachung der Geometrie. Dies ist auf die Optimierung des Strahlschusses mit der Roomselection aus Kapitel 4.6.1 zurückzuführen. 5.2.2 Höhlenwanderung In der Anwendung Höhlenwanderung wird der Aufwand bei dynamischer Szenenbeschreibung gemessen. Es wurde der Rechenaufwand verglichen zwischen dem Sichtbarkeits1 FPS = Frames per Second Central Processing Unit, engl. für Hauptprozessor 3 Testverfahren zur Bestimmung zeit- und performanzbezogener Eigenschaften von Programmen. 4 engl. Einzelbild 2 CPU: KAPITEL 5. ÜBERPRÜFUNG DER GEOMETRIE-ENGINE 74 1.200 FPS · Sounds · Listener 1.000 800 600 400 0 Listener 200 1 Listener 2 Listener 0 0 1 2 3 4 5 Anzahl Sounds (a) Messung mit unterschiedlich vielen Listener 250000 FPS · Sounds · GAPs 200000 150000 100000 50000 Office-1x Office-2x Office-4x 0 1 2 3 4 5 Anzahl Sounds (b) Messung mit unterschiedlich viel Geometrie (ohne Listener) 70.000 60.000 FPS · Sounds · GAPs 50.000 40.000 30.000 20.000 Office-1x 10.000 Office-2x Office-4x 0 1 2 3 4 5 Anzahl Sounds (c) Messung mit unterschiedlich viel Geometrie (mit einem Listener) Abbildung 5.3: Messergebnisse der Office-Szene. KAPITEL 5. ÜBERPRÜFUNG DER GEOMETRIE-ENGINE 75 test bei dynamisch eingefügten Wänden und dem wiederholten globalen Berechnen aller Wände (siehe Abb. 5.4). Obwohl die Anwendung normalerweise einen Listener und einen Sound beinhaltet, wurden diese für die Messungen entfernt. Dadurch ist dieser Test aussagekräftiger bezüglich des Aufwands der Sichtbarkeitstests, da die Berechnung des ReverbVolumens und der frühen Reflexionen eine statische Last für beide Szenarios bedeuten hätten. Die Laufgeschwindigkeit durch die Höhle wurde deutlich erhöht, um möglichst oft eine Veränderung der Szenebeschreibung zu provozieren. 2500 FPS · Walls 2000 1500 1000 500 dynamisch optimiert statisch global 0 16 24 32 40 48 Anzahl Walls Abbildung 5.4: Messung mit dynamischer und globaler Sichtbarkeitsbrechnung. Beide Messlinien starten in einem gemeinsamen Punkt, was mit der groben Einteilung der Bounding-Boxen erklärt werden kann. Erst bei Wänden mit kleineren Flächen greift die Optimierung aus Kapitel 4.6.2. Die Messlinien zeigen deutliche Veränderungen in der Performance. Während das globale Verfahren bei zunehmender Anzahl der Walls stark einbricht, profitiert das dynamische Verfahren relativ zur Anzahl der Wände bis 32. Dann fällt die Leistung ab, aber langsamer als beim globalen Verfahren, was am relativen Abstand der beiden Messlinien erkennbar ist. Erklärbar ist dies durch den quadratischen Zuwachs der Tests auf Schnitt der Bounding-Boxen. 5.3 Qualitätsüberprüfung Im Rahmen dieser Diplomarbeit wurde auf aufwändige Hörtests zur Überprüfung subjektiver Hörerlebnisse verzichtet. Dies ist zu rechtfertigen, da in den Sound-APIs solche Messungen massiv eingeflossen sind. So wurden bei Qsound mehr als 550.000 Test [Mut02] durchgeführt, bis man sich für die Einstellungen geeinigt hatte. Verschiedene Sound-APIs erzeugen abhängig von der Soundkarte und dem verwendeten Soundtreiber deutlich unterschiedliche Darstellungen [3DSS1, 3DSS2]. Trotzdem kann angenommen werden, dass z.B. das Einstellen der Nachhallzeit auf 5 Sekunden jeweils in einer Verhallung von 5 Sekunden resultiert. Hörtests durchzuführen ist aufwändig [Bla97, Groe02] und müsste für verschiede Sound-APIs erfolgen. Die subjektive Überprüfung, ob diese Verhallung glaubwürdig klingt, ist durch die Hörtests der Hersteller von Sound-APIs bereits erfolgt und KAPITEL 5. ÜBERPRÜFUNG DER GEOMETRIE-ENGINE 76 wäre somit redundant. Für die subjektive Evaluation von künstlicher Verhallung in interaktiven Anwendungen gibt es noch keine befriedigende Testverfahren [FJT02]. Auch andere Ansätze, die neue Wege der interaktiven Verhallung erforschen, wie der Beam-Tracing-Ansatz oder die Audio-Lösung in blue-c, haben keine Hörtests in diesem Bereich in ihren Veröffentlichungen [NSG02, TFNC01, FTC02, FTC03, TGD03] angeführt. Zusammenfassung von Kapitel 5 In diesem Kapitel wurde die Funktionsfähigkeit der Geometrie-Engine anhand praktischer Tests verifiziert. Dazu wurden Büro-Szenen und eine Höhle entworfen und Messungen darin durchgeführt. Anhand der Büro-Szenen konnte die Skalierung des Systems bei wachsender Anzahl von Sounds, GAPs und Listener verdeutlicht werden. Durch die HöhlenAnwendung konnte nachgewiesen werden, dass dynamische Geometrie in Echtzeit behandelt werden kann und zu einer sinnvollen Verhallung führt. Es wurde erklärt, warum ein subjektives Testverfahren zur auralen Überprüfung nicht nötig ist. Kapitel 6 Diskussion und Ausblick «Schwer zu sehen, in ständiger Bewegung die Zukunft ist.» (Aus dem Film Star Wars - Episode V - Das Imperium schlägt zurück) In dieser Arbeit wird eine Geometrie-Engine vorgestellt, die anhand von Informationen aus einer dynamischen Szenenbeschreibungen Werte für die Parameter des aktuellen aber komplexen Sound-Standards I3DL2 abstrahiert. Dazu werden acht Geometrie-AkustikPrimitive definiert, mit denen eine Akustik-Szene geometrisch, akustisch und logisch beschrieben werden kann. Durch die Verwendung allgemeinsprachlicher Begriffe und verständlichen Parameter lassen sich diese GAPs leicht kombinieren, um beliebige AkustikSzenen zu repräsentieren. Diese Szenenbeschreibung kann in einer XML-Datei gespeichert werden. Es geht in dieser Arbeit primär um die Überprüfung der Berechnung von Parameterwerten, da Sound-APIs eine verlässige Lösung für interaktive Akustik-Effekte anbieten, obwohl die daraus resultierende Darstellungen mitunter voneinander abweichen. Bei interaktiven Anwendungen werden diese Werte vom Sound-Designer mehr oder weniger willkürlich für ein Environment statisch gewählt. Die Akustiksimulatoren führen andere, sehr aufwändige Berechnungen durch, die mit Messdaten numerisch verglichen werden können. Die Herleitung der Berechnung der Parameterwerte durch die Geometrie-Engine, wie die Nachhallzeit eines Sounds, basiert auf Verfahren der Akustik, die numerisch überprüft werden können. Die Geometrie-Engine berechnet verschiedene, komplexe Akustik-Effekte und approximiert diese innovativ, wie etwa die Platzierung von virtuellen Sounds in der Flucht von Portalen. Eine hohe Fehlertoleranz wird berücksichtigt, damit das System auch bei dynamischer und fehlerhafter Verwendung zu Forschungszwecken stabil lauffähig bleibt. Die Qualität dieser Parameterwerte ist abhängig von der Genauigkeit der Szenenbeschreibung und der eingestellten Genauigkeit der Berechnungen. Es kann gezeigt werden, dass aus der Kombination von acht GAPs einer Szenenbeschreibung die Werte der Sound-Parameter abgeleitet werden können. 77 KAPITEL 6. DISKUSSION UND AUSBLICK 78 Das Geometrie-Akustik-Interface, das den Zugriff auf die Geometrie-Engine kontrolliert, beschränkt auf sinnvolle Weise die Freiheitsgrade der Geometrie-Engine und vereinfacht die Nutzung. Mit dem GAI können die GAPs und somit die Szene während der Laufzeit verändert werden, dynamische Geometrie wird dabei berücksichtigt. Das GAI bietet auch die Kontrolle über Berechnungsparameter, die den Aufwand und die Qualität beeinflussen. Die Verwendung des Sound-Kontextes mit der modularen Anbindung von Sound-APIs bietet dem System Raum für weitere Forschung und eröffnet durch die Abkapslung von der Geometrie-Engine die Nutzung in verteilen Systemen. Statt einer Szenenbeschreibung aus Environments mit festen I3DL2 Parameterwerten werden die geometrischen, akustischen und logischen Informationen in einer Szenenbeschreibung durch abstrakte GAPs gespeichert. Dadurch ist die Szenenbeschreibung getrennt von aktuellen Implementierungen heutiger Sound-Standards im interaktiven Bereich wie I3DL2. So bietet beispielsweise die Verwendung einer Material-Datenbank mit knapp 500 Datensätzen und achtfach gemessener Absorptionsgrade langfristige Szenenbeschreibungen und kurze Entwicklungszeiten zur Unterstützung zukünftiger Sound-APIs. Die vorbereitete Trennung von Geometrie-Engine und Sound-Kontext könnte in Zukunft über eine Netzwerkverbindung durchgeführt werden. Damit wäre das System skalierbar und die Rechenlast würde auf einem System zentriert werden, während dedizierte Sound-Server nur ihre jeweiligen Werte abrufen und dann darstellen. Somit könnte die Darstellung auch auf leistungsschwächeren Systemen erfolgen, was die Verwendung von multi-Listener in VR-Umgebungen deutlich begünstigt. Durch die Modularität des SoundKontextes sind auch weitere Anbindungen von Sound-APIs oder die Entwicklung eigener Sound-Engines möglich. Der Ansatz acht GAPs als Grundkonstrukte einer semantischen Szenenbeschreibung zu verwenden, hat gute Erfolge gezeigt. Statt aus einer Triangle-Soup1 Informationen zu extrahieren, agieren die GAPs und verwendeten Klassen durch ihre Eigenschaften in der Art und Weise miteinander, dass sie akustisch relevante Berechnungen ermöglichen. Die vereinfachte Repräsentation einer Akustik-Szenen durch eine Szenenbeschreibung mit akustischen Attributen eignet sich für die Ableitung der Sound-Parameter des I3DL2 Standards. Doch ist das System als Ganzes so konzipiert, beliebige akustische Anfragen zu ermöglichen und verschiedene Implementierungen einzubauen und miteinander zu vergleichen. Während die Spezifikation der definierten GAPs ausreichend erscheint, könnten sie in Zukunft individuell erweitert werden. So wäre eine Spezialisierung der Portale denkbar, mit weiteren Parameter wie Öffnungsart (seitlich schwingend, aufschiebend, sphärisch) und der Angabe der Aufhängungspunkte. Auch die Geometrie-Informationen könnten um abstrakte Begrifflichkeiten erweitert werden. Statt ein Fass mit vielen Flächen beschreiben zu wollen, könnten geometrische Grundobjekte definiert werden, wie Kugel, Zylinder, Kegel oder Bogen. Dadurch würde eine distanzabhängige Berechnung von Reflexionen ermöglicht. 1 Triangle-Soup: engl. Dreiecks-Suppe, beschreibt eine ungeordnete Menge an Dreiecken ohne Zusammenhangsinformation, die ein Modell oder eine Szene darstellen. KAPITEL 6. DISKUSSION UND AUSBLICK 79 Natürlich lässt eine solche Arbeit viel Raum für weitere Optimierung und zukünftige Forschung. Auf Grund bisher fehlender Datenbestände können zur Zeit z.B. der Streuungsgrad oder die winkelabhängige Absorption nicht berücksichtigt werden. Auch die Beugung an verschieden großen Reflektoren ist vereinfacht worden. Ebenfalls sind konzeptionelle Optimierungen möglich. Da das Gehör eine begrenzte räumliche Auflösung besitzt, wäre eine interne Aufteilung des Raumes in ein diskretes Gitter mit Audio-Voxel2 möglich, für die Werte vorberechnet werden können. Dieser Ansatz zur Verbesserung der Vorausberechnung kann unter verschiedenen Annahmen betrachtet werden. • Hörer-unabhängige Berechnungen (z.B. Nachhallzeit) – Statische Geometrie Für jeden Audio-Voxel könnten wichtige Werte, wie die Nachhallzeit vorberechnet werden. – Dynamische Geometrie Eine Vorberechnung wäre möglich, doch bei einer Veränderung der Szene müsste überprüft werden, ob sich ein Voxel verändert hat, dann müssten Werte entsprechend nachberechnet werden. Insgesamt könnte diese Lösung von redundanten Sound-Positionen profitieren. • Hörer-abhängige Berechnungen (z.B. frühe Reflexionen) – Statische Geometrie Theoretisch wäre eine Vorberechnung aller frühen Reflexionen möglich. Da aber ein paarweiser Abgleich jedes Audio-Voxels mit allen anderen quadratisch und eine Verfeinerung des Raumes kubisch wächst, liegt die Aufwandsabschätzung dieses Problems bei O(n6 ). Nur eine sinnvolle Begrenzung potentieller Audio-Voxel würde diesen Ansatz möglich machen. – Dynamische Geometrie Auch hier wäre eine Vorberechnung möglich, die aktualisiert werden müsste, wenn die Szene sich verändert. Insgesamt könnte diese Lösung von redundanten Listener-Positionen profitieren. Interne Vektorberechnungen können durch die Verwendung spezieller Befehlssätze des Hauptprozessors beschleunigt werden [SSE]. Die Verlagerung von Berechnungen auf die GPU einer Grafikkarte ist auch denkbar. Irgendwann in der Zukunft wird man entsprechend leistungsfähige Systeme besitzen, die die Qualität der Akustiksimulatoren in Echtzeit erreichen. Bis dahin sollte ein möglicher Weg zur Berechnung komplexer Akustik-Effekte auf einer dynamischen Szenenbeschreibung entwickelt werden. Daher sind sinnvolle Approximationen und effektive Darstellungsformen nötig. Die definierten GAPs, das GAI, die Geometrie-Engine kombiniert mit der Darstellung durch leistungsfähige Sound-APIs bieten eine Lösung in diesem Bereich an. 2 Voxel: engl. aus Volume und Pixel, bezeichnet eine quaderförmige Zelle innerhalb eines regelmäßig aufgeteilten Quaders oder unbegrenzten Raumes. KAPITEL 6. DISKUSSION UND AUSBLICK 80 Der hier dargestellten Ansatz kann in einer grafisch rechenintensiven Applikation wie einem Computerspiel genutzt werden, wenn einige Vereinfachungen durchgeführt werden. So kann für aktuelle Sound-API die Anzahl der berücksichtigten Absorptionsgrade reduziert, Redundanz in der Berechnung der Strahlschüsse berücksichtigt und die Fehlertoleranz des Systems zurückgefahren werden, um eine Leistungssteigerung zu bewirken. Der folgende Anhang vertieft und erklärt den Inhalt auf den Gebieten der Akustik, der Psycho-Akustik und Digital Audio. Als Teil der Aufgabenstellung verschafft diese Arbeit einem Neueinsteiger schnell einen Überblick in dieses Gebiet und bietet zahlreiche Quellennachweise und zusätzliche Hinweise. Anhang A Analoge Schallwelt «Die Echos wurden zwar leiser, weigerten sich jedoch hartnäckig, ganz zu verklingen. Sie tanzten hin und her und prallten fröhlich von den Wänden ab.» (Aus dem Buch Die Farben der Magie von Terry Pratchett) Das Geräusch bei der Geburt unseres Universum [Cra03] hat wohl niemand gehört. Und auch die Schallwellen von Blitz und Donner waren offensichtlich eher auf dieser Welt als Wesen, die diese wahrnehmen konnten. Schall ist nach dem DIN [DIN] Standard 1320 definiert als die Schallereignisse, die wir Menschen wahrnehmen können, doch treten Schallwellen auch ohne unsere Anwesenheit und ausserhalb unseres Hörspektrums auf. Folgende Abschnitte sollen dem Leser mit den physikalischen Grundlagen der Schallerzeugung und der Ausbreitung vertraut machen. Falls nicht zusätzliche Quellen explizit erwähnt sind, gelten für den Anhang A [Veit96, FV98, Wiki]. A.1 Schall-Erzeugung Da Schall eine Materialwelle ist, benötigt er zur Ausbreitung ein Medium. Im Gegensatz zu Licht ist Schall im Vakuum nicht existent. Damit ein Geräusch entsteht und sich ausbreitet, sind eine Schallquelle und ein Medium nötig. Als Schallquelle bezeichnet man einen schwingenden Körper, der mit einem elastischen Medium verbunden ist, das die Schwingung aufnimmt und transportiert. Das kann ein Gas, eine Flüssigkeit oder ein Festkörper sein. Die Teilchen, die das Medium bilden, werden in Schwingung versetzt und geben sie an ihre benachbarten Teilchen weiter. Dadurch kommt es zu Dichteänderungen, die sich bewegen. Auf diese Weise spricht man davon, dass sich der Schall in einem Schallfeld ausbreitet oder fortpflanzt. Ein anschauliches Beispiel ist ein Stein, der in einen See geworfen wird und dort Wellen verursacht. Genau wie im See die Wasserteilen sich zwar heben und senken, sich aber nicht mit der Welle bewegen, bleiben die Teilchen im elastischen Medium am Ort und schwingen nur auf kleinstem Raum. Eine Schallwelle ist also die sich fortpflanzende Druckveränderung. Nicht die schwingenden Teilchen, sondern die Schallwellen breiten sich in einem Medium mit einer gewissen Schallgeschwindigkeit aus. Die physikalische Definition von Schall ist daher die räumliche und zeitliche wellenartige 81 ANHANG A. ANALOGE SCHALLWELT 82 Schwankung der Druckverhältnisse im elastischen Medium. Im Folgenden werden Begriffe erklärt, die für das weitere Verständnis der Schall-Erzeugung wichtig sind. A.1.1 Schwingungen Die Auslenkung der Schwingung im Medium wird Amplitude genannt. Ein reiner Ton besteht aus einer Sinusschwingung mit fester Periodendauer T, die in Sekunden angegeben wird. Solche reinen Töne kommen in der Natur allerdings nicht vor. Die Frequenz f ist der reziproke Wert von T und wird in Hertz1 angegeben. Den Abstand benachbarter gleicher Schwingungszustände bezeichnet man als Wellenlänge λ. Liegen nach der HarmonieLehre mehrere Töne übereinander, entsteht ein Klang. Ist die Verteilung von Frequenzhöhe und Amplitudenstärke rein zufällig, entsteht weißes Rauschen. Im Gegensatz zu einzelnen Punkten im Frequenzspektrum bei Tönen und Klängen zeigen Geräusche ein kontinuierliches Frequenzspektrum. (a) Wellenform-Darstellung (b) Spektralform-Darstellung Abbildung A.1: Audiodaten (weisses Rauschen und fünf Töne) in verschiedenen Darstellungen. Die Abbildung A.1.1 zeigt exemplarisch eine halbe Sekunde weißes Rauschen gefolgt von fünf reinen Tönen bei 440 Hz, 880 Hz, 1760 Hz, 3520 Hz und 7040 Hz. Bei der Wellenform-Darstellung a) sieht man den Amplitudenausschlag und bei der SpektralDarstellung b) erkennt man deutlich die unterschiedliche Frequenzverteilung. Das Frequenzspektrum ist nach oben hin offen und ist willkürlich in vier Bereiche unterteilt (siehe Abb. A.2). Im Bereich von 16 Hz bis 20.000 Hz spricht man von Schall. Darunter liegt der Infraschall, darüber beginnt der Ultraschall. Frequenzen größer 1 GHz nennt man Hyperschall. Abbildung A.2: Das nach oben offene Frequenzspektrum. 1 Nach Heinrich Rudolf H ERTZ (Kurzzeichen Hz): 1 Hz = 1/sec ANHANG A. ANALOGE SCHALLWELT A.1.2 83 Schallgeschwindigkeit Die Geschwindigkeit, mit der sich eine Schallwelle ausbreitet, wird als Schallgeschwindigkeit c (in m/s) bezeichnet. Die Schallgeschwindigkeit kann als das Produkt von Frequenz f und Wellenlänge λ beschreiben werden: c = f ·λ. Der Aggregatzustände beeinflußt die Schallgeschwindigkeit eines Mediums. In Luft ist die Schallgeschwindigkeit abhängig von Temperatur, Luftfeuchtigkeit, Luftdruck und Kohlendioxidgehalt. Während jedoch die Größen Luftfeuchtigkeit, Luftdruck und Gasverhältnis zu vernachlässigen sind, hat die Temperatur einen entscheidenden Einfluß. Annäherungsweise kann man für Luft annehmen: q ◦ c = 331, 4 ϑ+273 273 m/s, ϑ = Temperatur in C (einheitenlos). Üblicherweise wird für Luft mit einer Temperatur von 15◦ C mit c = 340m/s gerechnet. In Flüssigkeiten und Festkörpern gelten für die Schallgeschwindigkeit anderen Herleitungen, die in der referenzierten Fachliteratur nachgeschlagen werden kann. In Tabelle A.1 sind einige Medien und ihre Schallgeschwindigkeiten aufgeführt. A.1.3 Schalldruck Der Schalldruck p ist die wichtigste lineare Schallfeldgröße2 . Wie oben erwähnt, kommt es zu lokalen Druckverhältnisse in einem Medium, wenn es einen Schall transportiert. Zur Beschreibung dieser Schallwelle kann der Verlauf des Drucks an einem bestimmten Ort benutzt werden. Druck ist die Kraft F, die auf eine Fläche A ausgeübt wird. Kraft wird in Newton gemessen: 1 N ist die Kraft, die man braucht um 1 kg um 1 m/s2 zu beschleunigen (die Gravitationskraft der Erde beschleunigt 1kg um 9.81 m/s2 ). Die allgemeine Einheit des Drucks ist die Kraft pro Fläche, sie wird mit Pascal bezeichnet. 1 Pa = 1 N/m2 = 1 kg/ms2 . Der annähernd statische atmosphärische Luftdruck liegt etwa bei 101.325 Pa. In der Akustik wird der Schalldruck in Mikropascal (µPa) gemessen und ist als die Druckschwankung eines Schallsignals definiert, die den Luftdrucks überlagert. p = AF Zu erwähnen ist, dass eine Angabe des Schalldrucks wertlos ist, ohne eine Angabe des Messabstand, da die Amplitude des Schalldrucks bei Kugelstrahlern mit 1/r der Entfernung abnimmt. A.1.4 Schallschnelle Unter der Schallschnelle v (in m/s) versteht man die Wechselgeschwindigkeit, mit der die Teilchen im Medium um ihren Ruhepunkt [Veit96] schwingen. Die Schallschnelle darf nicht mit der Schallgeschwindigkeit verwechselt werden. 2 Mit Schallfeldgröße werden in der Akustik lineare Größen zur Beschreibung eines Schallfelds bezeichnet. Dazu gehören Schalldruck, Schalldruckpegel, Schallschnelle, Schallschnellepegel, Schallauslenkung, Schnellepotential, Schallfluss, Hörfläche. ANHANG A. ANALOGE SCHALLWELT A.1.5 84 Schallintensität Die Schallintensität I (in mancher Literatur auch J) ist eine Schallenergiegröße3 und entspricht dem Produkt aus dem Schalldruck p und der Schallschnelle v und wird in W/m2 = N/ms = kg/s3 angegeben. I = p·v Die Amplitude der Schallintensität nimmt im Freifeld mit 1/r2 der Entfernung bei einem Kugelstrahler ab. A.1.6 Schallkennimpedanz Das Produkt aus Materialdichte ρ und Schallgeschwindigkeit c wird Schallkennimpedanz oder Schallimpedanz Z0 genannt. Auch das Verhältnis von Schalldruck p und Schallschnelle v beschreibt Z0 . Z0 = ρ · c = vp = Ns/m3 . Die Schallkennimpedanz kann unter anderm zur Berechnung des Schallreflexionsfaktors (siehe A.2.2) genutzt werden. In Tabelle A.1 erkennt man die Abhängigkeit der Schallkennimpedanz von den Größen Dichte und Schallgeschwindigkeit. Tabelle A.1: Eigenschaften exemplarische Medien. Medium Schallge- schwindigkeit (m/s) Dichte (kg/m3 ) Schallkennimpedanz (Ns/m3 ) Luft (trocken) +20◦ C Luft (trocken) -20◦ C Wasserstoff 0◦ C Helium Wasserdampf 130◦ C Wasser 20 ◦ C Knochen (kompakt) Holz Beton Eis Glas Stahl 344 319 1260 981 450 1.483 3.600 4.500 4.000 3.200 5.300 5.050 1,21 1,396 0,090 0,1785 0,54 998,2 1.700 600 2.100 920 2.500 7.700 416,24 445,32 113,40 175,11 243,00 1.480.330 6.120.000 2.700.000 8.400.000 2.944.000 13.250.000 38.885.000 A.1.7 Die Einheit Bel Bel (B) beschreibt eine Verhältniszahl zur Angabe von Leistungspegeln zum Logarithmus der Basis 10. In der Physik wird Pegel als das Verhältnis von Leistungen betrachtet. Ein Bel definiert also das Leistungsverhältnis 10:1. B= log10 II12 , wobei I1 and I 2 quadratische Energiegrößen sind. 3 Die Schallenergiegröße ist in der Akustik eine physikalische quadratische Größe zur Kennzeichnung der in ei- nem Schallfeld vorhandenen Schallenergie. Dazu gehören Schallintensität, Schallintensitätspegel, Schallleistung, Schallleistungspegel, Schallenergiedichte, Schalldichte. ANHANG A. ANALOGE SCHALLWELT 85 Als Untereinheit wurde das Dezibel (dB) als zehnten Teil eines Bels eingeführt. 1 dB entspricht dem Leistungsverhältnis von ca. 1,259:1. dB= 10 log10 II12 , wobei I1 and I 2 quadratische Energiegrößen sind. dB= 20 log10 pp21 , wobei p1 and p2 lineare Feldgrößen sind. Bel, als uneigentliche Einheit, ist dimensionslos und nicht im SI4 -Einheitssystem ver- treten. Benannt nach dem Physiker Alexander Graham B ELL wird sie vor allem in der Akustik, aber auch in vielen anderen Bereichen angewendet, bei denen mit Leistungspegeln gerechnet wird. Das Rechnen mit Leistungspegeln ist gewöhnungsbedürftig. Die Verdopplung der Leistung entspricht der Addition des Pegels etwa um den Wert drei. Es gilt: 2 2 2 2 xdB + xdB = 10 log10 pp12 + 10 log10 pp21 = 10 log10 2 pp12 = 10 log10 pp12 + 10 log10 2 = xdB + 3, 01 Beispiel: 20 dB + 20 dB ≈ 23 dB In den Sound-APIs wird die Abschwächung eines Signals in mB angegeben, was 1 100 dB entspricht. A.1.8 Schalldruckpegel Da die Größenunterschiede gängiger Schalldrücke mehrere Größenordnungen umfasst, werden üblicherweise Schallereignisse logarithmisch als Pegel dargestellt. Der Schalldruckpegel L p ist das logarithmische Maß für das Verhältnis zwischen dem gemessenen Schalldruck p und einem Bezugsschalldrucks p0 . Aufgrund der verallgemeinerten Empfindlichkeit des menschlichen Ohres wurde der Bezugsschalldruck willkürlich auf 20 µPa festgelegt (siehe Anhang B.2). Dieser Schalldruck entspricht einem Schalldruckpegel von 0 dB. Es gilt: L p = 20 log pp0 in dB Der maximale Schalldruckpegel würde durch eine maximale Schwankung des Schalldrucks entstehen. Da der Luftdruck bei etwa 100.000 Pa liegt, und der Schalldruck diesen auf ein Vakuum reduzieren, und zum zweifachen Luftdruck verdoppeln könnte, ergäbe dies etwa einen maximalen Schalldruckpegel von 190 dB. Beim Explosionsknall kommt es zu einem Sonderfall. In der Tabelle A.2 finden sich einige praktischen Beispiele für Schalldruckpegel im Alltag: Tabelle A.2: Richtwerte für Schallpegel verschiedener Geräusche. Verkehrslärm an lauter Strasse Sehr laute Sprache Normale Sprache Ruhiger Raum tagsüber Ruhiger Raum nachts 4 frz.: 70-80 dB 70 dB 60 dB 30-35 dB 15-25 dB Système International d’Unités, Internationales Einheitensystem ANHANG A. ANALOGE SCHALLWELT 86 A.2 Physikalisches Phänome der Schall-Ausbreitung Schallwellen breiten sich im Medium aus und sie erfahren mit zurückgelegter Strecke eine Abschwächung, oder sie treffen auf Hindernisse. Es können mehrere verschiedene physikalische Phänomene und daraus resultierende Akustik-Effekte auftreten: A.2.1 Schallinterferenzen Schallwellen können sich örtlich überlagern und auslöschen (siehe Abb. A.3), da sich die Druckverhältnisse im Medium akkumulieren oder abschwächen. Diese gegenseitigen Beeinflussungen der Schallwellen nennt man Schallinterferenzen [Krum]. In einem Raum können durch regelmäßige Reflexionen (s.u.) so genannten stehenden Schallwellen entstehen. Interferenzen treten auch bei den Schallfeldern von Lautsprechern auf. Ein Nutzen von Interferenzen wird sich durch Anti-Schall erhofft. Das schon 1933 von Paul L UEG angemeldete Patent beschreibt ein Verfahren, um Lärm gezielt auszulöschen. In diesem Bereich wird aktiv geforscht z.B. an der Bergischen Universität Wuppertal [DASP] oder von der Firma Sennheiser [Senn1]. Erste Produkte sind Computer-Lüfter oder ein Kopfhörer zur Lärmminderung [Senn2]. Abbildung A.3: Mathematische Interferenzen: Zwei Schwingungen (rot/grün) resultieren in der schwarzen Schwingung.6 A.2.2 Reflexion Eine schallharte7 Fläche kann als Reflektor fungieren, wenn sie etwa 5-mal größer ist, als die Wellenlänge einer planaren, aufprallenden Schallwelle. In diesem Zusammenhang ist das Bild der Schallstrahlen hilfreich, die wie Lichtstrahlen an einer Fläche reflektiert werden (siehe Abb. A.4 a) ). Nach dem Reflexionsgesetz entspricht der Einfallswinkel dem Ausfallswinkel und Einfallsstrahl und Ausfallstrahl liegen in einer Ebene. Ist die ankommende Schallwelle gebeugt, wie in b), kann man die Reflexion an einer Fläche auch als neue, halbkugelförmige Schallquelle verstehen. 6 Bildquelle: 7 Schallhart http://www.livinggraphs.com/enu/products/mw/images/mwwimage.jpg beschreibt den Übergang von einem sehr dünnen Medium in ein sehr dichtes Medium. ANHANG A. ANALOGE SCHALLWELT (a) Reflexion von planaren Schallwellen 87 (b) Reflexion von gebeugten Schallwellen Abbildung A.4: Reflexionen an planaren Flächen. Der frequenzabhängige Schallreflexionsfaktor r beschreibt das Verhältnis des Schalldrucks pr der reflektierten Schallwelle und dem Schalldruck pe der einfallenden Schallwelle. Der Schallreflexionsfaktor kann auch als Verhältnis der Differenz und der Summe der Schallkennimpedanzen Z0 der verschiedenen Medien ausgedrückt werden. r= pr Z02 − Z01 = pe Z02 + Z01 Der Schallreflexionsgrad ϕ beschreibt das Verhältnis der Schallintensität der reflektierten Schallwelle Ir und der Schallintensität der einfallenden Schallwelle Ie oder als Quadrat des Reflexionsfaktors r. ϕ= Ir = r2 Ie 13.250.000−416 2 = 0, 9998 So ist beispielsweise ϕ von Glas aus Luft kommend ca. ϕ = 13.250.000+416 13.250.000−1.480.330 2 und aus Wasser kommend ca. ϕ = 13.250.000+1.480.330 = 0, 6384 (Vergleiche Tabelle A.1). Die Reflexionseigenschaften hängen auch vom Einfallswinkel ab und am besten wird der Schall gespiegelt, wenn er senkrecht auf die Fläche trifft. Die Abbildung A.5 verdeutlicht die frequenzabhängige Reflexionseigenschaften an Flächen mit Strukturen. Besitzt die Oberfläche Strukturen, die etwa 5-mal größer sind als die Wellenlänge λ, so wird die Schallwelle spekulär reflektiert (a). Sind die Wellenlänge und die Größe der Strukturen etwa gleich groß, so ist die Reflexion diffus (b). Ist die Wellenlänge dagegen etwa 5-mal so groß wie die Strukturen so findet eine spekuläre Reflexion an der gedachten Rückseite der Wand statt (c). (a) Reflexion mit relativ kleiner (b) Reflexion mit ähnlich großer (c) Reflexion mit relativ großer Wellenlänge Wellenlänge Wellenlänge Abbildung A.5: Reflexion an Strukturen mit unterschiedlichen Wellenlängen λ. ANHANG A. ANALOGE SCHALLWELT A.2.3 88 Schallabsorption Trifft eine Schallwelle auf eine Fläche, so wird nur ein Teil reflektiert. Ein gewisser Teil der Leistung tritt in das andere Medium ein, wobei man von Schallabsorption spricht. Diese Leistung wird dem Schallfeld vor der Fläche entzogen. Dabei ist der Schallabsorptionsgrad α abhängig von der Frequenz des Schallsignals. Da sich Reflexion und Absorption ergänzen gilt α + ϕ = 1. Die absorbierte Leistung erfährt Dissipation und Transmisson. Für den Schalldissipationgrad δ und den Schalltransmissionsgrad τ auf. Es gilt α = δ + τ. Abbildung A.6: Leistungsverteilung beim Eindringen in ein zweites Medium. A.2.3.1 Dissipation Dissipation beschreibt den Vorgang der Energieumwandlung in Reibungswärme und der damit ansteigenden Entropie. In der Akustik wird also Schallenergie durch die Schwingung der Moleküle des Mediums in Wärme umgewandelt. A.2.3.2 Transmission Transmission ist die Durchwanderung von Schallwellen durch ein Medium oder das Durchdringen eines Hindernisses. Besonders in der Bauakustik wird die Transmission behandelt, da sich der Schall auch innerhalb von Rohren oder Wänden auf Haupt- und Flankenwegen fortpflanzt. A.2.4 Beugung Licht wirft hinter einem Hindernis einen Schatten, da die Wellenlänge des Lichts in der Regel sehr viel kleiner ist als die Ausmaße des Hindernisses. Die Beugung des Lichts spielt im Alltag keine Rolle. Dagegen ist Beugung des Schalls ein bekanntes Phänomen, da die Wellenlängen um einige Dimensionen größer sind. Bei der Schallausbreitung vor einer Wand kann eine Schattenwirkung auftreten, doch beeinflusst die Größe des Hindernisses die Ausprägung sehr stark. Dies gilt gleichermaßen bei der Schallausbreitung durch eine Öffnung oder Blende (siehe Abb. A.7). Ist die Öffnung ANHANG A. ANALOGE SCHALLWELT 89 wie in a) größer als die Wellenlänge, so entsteht ein scharf abgegrenztes Schallbild hinter der Öffnung. Ist die Blende so groß wie die Wellenlänge des Schalls oder noch kleiner wie in b), so erfahren ebene Schallwellen eine so starke Beugung, dass hinter der Öffnung neue Kugelschallwellen entstehen. (a) Beugung an relativ großer Öffung (b) Beugung an relativ kleiner Öffung Abbildung A.7: Beugung an verschieden großen Öffnungen und Schallwellen mit der Wellenlänge λ. A.2.5 Brechung Trifft eine Schallwelle gegen eine Trennfläche zweier Medien, so wird der Schall nicht nur reflektiert, sondern ein Teil tritt auch in das andere Medium ein. Dabei erfahren die Schallwellen eine Richtungsänderung, die abhängig von dem Verhältnis der Schallgeschwindigkeiten in den beiden Medien ist. Das Medium mit der kleineren Schallgeschwindigkeit wird das akustisch dichtere Medium genannt, in dem die Brechung stets zur Normalen erfolgt (siehe Abb. A.8). Der alltägliche Effekt der Richtungsabweichung bei der Brechung von Schall ist eher vernachlässigbar. In der Ultraschalltechnik werden so genannte Schalllinsen zur Fokusierung von Schallsignalen verwendet. Beim Eintreten des Schalls in ein anderes Medium wird der Schalldruckpegel abhängig von der Differenz der Eigenschaften der Medien abgeschwächt. Abbildung A.8: Brechung in ein dichteres Medium. ANHANG A. ANALOGE SCHALLWELT 90 A.3 Akustische Effekte der Schall-Ausbreitung Akustik-Effekte sollen Eigenschaften oder Veränderungen des Schallsignals beschreiben, die als Kombination verschiedener physikalischer Phänomene auftreten. A.3.1 Schalldämmung Die Schalldämmung wird die Behinderung der Schallausbreitung durch schallreflektierende Hindernisse genannt. Durch eine erhöhte Reflexion wird der Schall diffus und gemindert. Die Schalldämmung wird oft mit der Schalldämpfung verwechselt und muss unterschieden werden [Koll]. A.3.2 Schalldämpfung Die Schalldämpfung geschieht durch die Behinderung der Schallausbreitung durch schallschluckende Hindernisse. Durch ein hohe Absorption wird die Schallenergie dem Schallfeld entzogen und teilweise in Wärme umgewandelt und so gemindert. Pflanzt sich der Schall im Medium fort, so wird der Schall auch gedämpft. A.3.3 Bündelung Bündelung bezeichnet einen Sonderfall der Reflexion an konkav8 gekrümmten Flächen. Dabei kann es abhängig von der Krümmung und der Schallquellenposition zu verschiedene Arten der Fokussierung kommen. A.3.4 Streuung Streuung bezeichnet einen Sonderfall der Reflexion an gekrümmten Flächen. Sie kann sowohl an konvexen9 wie an konkaven Flächen auftreten, abhängig von der Krümmung und der Schallquellenposition. A.3.5 Verhallung Verhallung nennt man die Ausbreitung einer Schallwelle in einer Umgebung. Dabei können alle physikalischen Phänomene verantwortlich sein. Die Reflexionen an Flächen sind der offensichtliche Grund, warum eine Schallwelle sich überall in einem Raum verbreitet. Mit jeder Reflexion fächert sich das Signal weiter auf, bis schließlich das eingeschlossene Medium von einer Vielzahl an Reflexionen durchflutet ist. Bei jeder Reflexion tritt eine Dämpfung auf, die abhängig vom Winkel und der Materialeigenschaft das wieder abgestrahlte Signal beeinflusst. Der Schall kann sich um Kanten beugen oder Interferenzen bilden, die den Schalldruck in manchen Bereichen verstärken oder abschwächen. Dabei spricht man von stehenden Wellen. Hält der Schallimpuls an, so ist das Schallfeld gefüllt von verschiedenen Schalldruckpegeln, die allgemein als Hall bezeichnet werden. Zum Beispiel ist in der Nähe eines 8 lat.: 9 lat.: concav, ausgehöhlt, einwärts gewölbt convex, gerundet, nach außen gewölbt ANHANG A. ANALOGE SCHALLWELT 91 offenen Fensters weniger Hall als in der Mitte eines Raumes. Nach Ende des Schallimpulses ist die Schallenergie nach einer gewissen Zeit vollständig absorbiert. A.3.6 Obstruktion Mit Obstruktion [IASIG99] wird die Verdeckung der Schallquelle mit einem Objekt und damit eine Behinderung des Direktschalls gemeint. Je nach Größe des Hindernisses kann man von einer eher ungestörten Ausbreitung des Halls ausgehen. A.3.7 Exklusion Die Exklusion [3DSS2] beschreibt den Ausschluss des Hallsignals, während der Direktschall weitesgehend ungehindert zu einem Hörer vordringen kann. Dies ist zum Beispiel bei einer Öffnung der Fall, wenn die Schallquelle und der Hörer auf unterschiedlichen Seiten der Öffnung positioniert sind. A.3.8 Okklusion Die Okklusion [IASIG99] entsteht durch das Abschliessen einer Schallquelle von einem Hörer. Weder der Direktschall noch der Hall kann ungehindert den Hörer erreichen. Das Schallsignal beim Hörer wird durch Transmission erzeugt. A.3.9 Doppler-Effekt Dieser Abschnitt könnte auch unter B.3 angeführt werden, da der Doppler-Effekt erst bei der Wahrnehmung Gestalt annimmt. Doch da die Ursachen rein physikalischer Natur sind, wird er in dieser Stelle erklärt. Der Doppler-Effekt ist im Alltag gegenwärtig und wird schon von Kindern beim Spielen oft nachgeahmt. Christian D OPPLER (1803- 1853) formulierte 1842 folgende Aussage: «Die Schwingungszahl einer Wellenbewegung an einem Beobachtungsort ändert sich, wenn der Beobachter und die Erregungsstelle der Welle gegeneinander bewegt werden.» Bei einem vorbeifahrenden Wagen werden die Schallschwingung im Medium in Fahrtrichtung gestaucht und hinter dem Fahrzeug entzerrt. Dies resultiert in einer höheren bzw. niedrigeren Frequenz des Schallsignals. Wie aus den Kapiteln über Schwingung erklärt, bedeutet eine Erhöhung der Frequenz eine Erhöhung der Tonlage und umgekehrt eine niedrigere Frequenz eine tiefere Tonlage. Genau diesen Effekt approximiert das Formel1-begeisterte Kind mit der hohen Tonlage eines i’s und dem nachfolgenden tiefen Ton des u’s. Die Berechnung der Frequenzänderungen bei ruhender Schallquelle und bewegten Empfänger unterscheiden sich von denen bei bewegter Schallquelle und ruhendem Empfänger. Formeln sind in [Veit96, Uhl] zu finden. Der Doppler-Effekt tritt auch bei Lichtwellen auf und ist Grund für die 1929 von H UBBLE entdeckte Rot-Verschiebung der meisten Sterne im expandierenden Universum [Haw88]. ANHANG A. ANALOGE SCHALLWELT A.3.10 92 Akustische Eigenschaften von Medien Die Schallausbreitung hängt von den Materialeigenschaften der verschiedenen Medien ab. Die wichtigste Eigenschaft ist der Aggregatzustand, d.h. ob ein Medium fest, flüssig oder gasförmig ist. Die Schallgeschwindigkeit in dem Medium ist eine wichtige Größe, die in Kapitel A.1.2 erklärt wurde. Der akustische Unterschied zwischen verschiedenen Schallgeschwindigkeiten ist besonders nach dem Einatmen von Helium hörbar. Durch die höhere Schallgeschwindigkeit (siehe Tabelle A.1) des Heliums wird die Frequenz beeinflusst was in einer höheren Tonlage resultiert, weil c = f + λ ⇒ f = c/λ. Da die Schallgeschwindigkeit in normaler Luft temperaturabhängig ist, klingen auch Instrument in unterschiedlichen Umgebungen unterschiedlich hoch. Auch die räumliche Richtungsbestimmung bei der Wahrnehmung ist abhängig von der Schallgeschwindigkeit und den über die Distanz verursachten Frequenzveränderungen. Unter Wasser kann der Mensch deshalb kaum Schallquellen orten, weil die Schallgeschwindigkeit dort fast viermal so hoch ist wie in Luft. A.3.11 Akustische Eigenschaften von Materialien Wie in Kapitel A.3.10 schon angedeutet, hängt die Ausprägung der physikalischen Phänomene von der Materialbeschaffenheit ab. Eine Holzvertäflung reflektiert anders als Glas, eine Schneedecke absorbiert anders als eine raue Betonwand. Zusammenfassend kann man sagen, dass der Einfallwinkel, der Schallabsorptionsgrad, der Schalltransmissionsgrad, Schallreflexionsgrad und der Schallstreuungsgrad wichtige Parameter zur Beschreibung von Materialien sind. Um diese zu erhalten müssen aufwendige Messungen vorgenommen werden. Es gibt zahlreiche Materialdaten bezüglich des winkel-unabhängigen Schallabsorptionsgrades. Doch wie in A.2.2 erklärt, ist die Reflexion auch abhängig von der Größe des Reflektors. Es gibt Untersuchungen [Bor02], wonach die geometrische Komplexität eines Modells durch gut gewählte Schallstreuungsgrade drastisch reduzieren werden kann. Leider liegen in den Materialbeschreibungen noch keine Streuungsgrade vor, um von der Aussage profitieren zu können. A.4 Berechnungsmodelle der Raumakustik Um die komplizierten Phänomene und Effekte erfassen zu können, sind Begriffe definiert und Berechnungen entwickelt worden, die das Feld der Akustik genauer beschreiben. In diesem Abschnitt werden einige wenige Ansätze aus der Raumakustik genauer erklärt. A.4.1 Äquivalente Absorptionsfläche Eine Fläche mit dem Flächeninhalt S besitzt abhängig von der Frequenz f einen speziellen Schallabsorptionsgrad α f . Dann ist die frequenzabhängige äquivalente Absorptionsfläche A f = S · α f . Zur Verdeutlichung denke man sich eine Wand mit 10m2 Fläche und einem Absorptionsgrad α1000 = 0, 1 bei 1.000 Hz. So ist A1000 = 10m2 · 0, 1 = 1m2 . Das entspricht ANHANG A. ANALOGE SCHALLWELT 93 9 m2 eines vollständig reflektierenden Materials und 1 m2 eines vollständigen Absorbers. Die äquivalente Absorptionsfläche beschreibt also die Fläche eines hypothetischen vollständigen Absorbers und wird in Sabin [TFD] angegeben. Dabei entspricht die Fläche von einem Quadrat-Fuss einem Sabin. A.4.2 Nachhallzeit Die Art und Weise wie ein Schallsignal verhallt, ist maßgeblich für die Charakteristik einer Umgebung verantwortlich. Die Nachhallzeit (Reverb Time) TRT 60 ( f ) ist willkürlich definiert als die Zeit, die vergeht, damit der Schalldruckpegel in einem Schallfeld nach Ende eines Impulses um 60 dB, also auf ein Tausendstel, fällt. Nach DIN 1804110 [DIN] sollte die Nachhallzeit in kleinen bis mittelgroßen Räumen unter einer Sekunde liegen. Konzertsäle dagegen haben etwa eine Nachhallzeit von 1,5 bis 2 Sekunden [Tenn02]. Offensichtlich ist dieser Wert frequenzabhängig, da der Absorptionsgrad an Reflektoren frequenzabhängig ist. W.C. S ABINE (1869-1919) hat frühzeitig eine Formel zur empirischen Berechnung der Nachhallzeit angegeben, die heute noch überwiegend in geschlossenen Räumen mit einem durchschnittlichen Absorptionsgrad bis 0,3 ihren Nutzen findet. Nach S ABINE ist: TRT 60Sabin ( f ) = 0, 163 V ∑Af s Dabei ist V das Raumvolumen und ∑ A f die Summe der äuqivalenten Absorptionsflächen aller Flächen im Raum. Für Räume mit niedrigen Nachhallzeiten wird die Berechnung nach E YRING empfohlen, die aus dem Produkt der Reflexionsgrade hergeleitet ist. Die Nachhallzeit nach E YRING ist: V TRT 60Eyring ( f ) = 0, 163 − ln(1 − αRaum )Sges s Dabei ist αRaum der räumlicher Mittelwert des Schallabsorptionsgrades und Sges die Gesamtfläche aller Raumbegrenzungen in m2 . Die S ABINE’sche Nachhallfomel wird in großen Umgebungen ungenau, da die Schalldämpfung des Mediums nicht berücksichtig wird. Beide Formeln gelten in geschlossenen Räumen, da sonst V unendlich groß wäre. Anzumerken ist auch, dass diese Berechnungen nicht von der Position einer Schallquelle abhängen, da es in geschlossenen Räumen nur zu leichten Schwankungen in dem Schalldruckpegel des Halles kommt. Doch kann man sich leicht vorstellen, dass die Nachhallzeit von der Position der Schallquelle abhängt, wenn sie sich auf ein offenes Fenster zu bewegt. Je mehr sie sich dem vollständigen Absorber nähert, desto mehr Schallleistung wird dem Schallfeld entzogen, da sich der vom Fenster bedeckte Raumwinkel vergrößert. 10 DIN 18041: Hörsamkeit in kleinen bis mittelgroßen Räumen. (1968) ANHANG A. ANALOGE SCHALLWELT A.4.3 94 Hallradius Geht man von einem akustischen Kugelstrahler aus, so nimmt in einem freien Schallfeld11 der Schalldruckpegel des Direktschalls mit 1/r der Entfernung ab. In einem Raum mit Reflexionen hingegen bildet sich überall ein annähernd gleicher Schalldruckpegel durch vielfache Reflexionen, der allgemein als Hall bezeichnet wird. Die Punkte, an denen der Direktschall den gleichen Pegel hat wie der Hall, definieren den Hallradius rH einer Schallquelle. Überwiegt der Anteil des Direktschalls den Anteil des Hall bei einem Hörer, so befindet dieser sich innerhalb des Hallradius. Der Hallradius ist wichtig zur Beschreibung der Deutlichkeit von Signals, vor allem von Sprache. Man kann den frequenzabhängigen Hallradius mit Hilfe q der äquivalenten Absorptionsfläche A (in m2 ) berechnen. √ A rH = 50 ≈ 0, 14 A m Beispiel a): Ein kubischer Raum mit einer Seitenlänge von 3 m hat Begrenzungsflächen, die bei einer bestimmten Frequenz den Absorptionsgrad 0,1 haben. Somit ist A = 5,4 m2 und rH = 0,329 m. Beispiel b): Ein quadratischer Raum mit einer Seitenlänge von 20 m und einer Höhe von 3 m hat Begrenzungsflächen, die bei einer bestimmten Frequenz den Absorptionsgrad 0,2 haben. Somit ist A = 128 m2 und rH = 1,6 m. 11 Umgebung, in der kaum Reflexionen auftreten (oft fälschlich mit schall-frei bezeichnet). Anhang B Psycho-Akustik «Wenn Du auslöschst Sinn und Ton — was hörst Du dann?» (Frage japanischer Zen-Meister an ihre Schüler) Dieses Kapitel beschreibt die Psycho-Akustik, was als der Vorgang der menschlichen Rezeption von Schallsignalen verstanden wird. Ein Geräusch oder die Musik, die wir Menschen wahrnehmen, sind die neuronalen Stimulationen in unserem Gehirn, wenn die Schallwellen auf unser Trommelfell treffen und dieses in Schwingung versetzt wird. Das Hörorgan, welches im Innenohr liegt, ist das erste Sinnesorgan, welches bereits nach 4 21 Monaten nach der Befruchtung vollständig funktionsfähig ist. Der Volksmund hat den Ausspruch ”Das Auge schätzt, das Ohr misst.” geprägt. Versucht man einen Vergleich der Fähigkeiten der beiden Sinnesorgane, so ergeben sich einige Das Hörspektrum beim menschlichen Ohr liegt zwischen 16Hz und 20.000Hz. Eine Oktave ist durch die Frequenz-Verdopplung definiert. Ausgehend vom Kammerton A’ bei 440Hz liegt die entsprechende höhere Oktave A” also bei 880Hz. Somit ist das Hörspektrum des Ohres etwa 10 Oktaven breit. Das Sehspektrum des menschlichen Auge ist ”nur” eine Oktave breit, von etwa 380nm (Violett) bis 760nm (Purpur). Die Dynamik des Bereiches von 0dB, der unteren Hörschwelle, bis zur Schmerzgrenze bei etwa 130dB, entspricht etwa dem 10 Billionenfachen. Den Ausschlag des Trommelfells um 0,000.000.01mm, das ist weniger als die Größe eines Wasserstoffatoms, kann das Ohr wahrnehmen. Paradoxerweise wäre dieser Ausschlag kleiner als die Wellenlänge des sichtbaren Lichtes. Somit kann man die Schwankung der Luftmoleküle zwar hören, aber nicht sehen. Hinzu kommt, dass das Ohr aufeinander folgende Reize etwa 7mal schneller verarbeiten kann als das Auge. Wenn wir mit der Schnelligkeit unseres Ohres Fernsehen könnten, würden wir statt Bewegungen einzelne Standbilder oder sogar einzelne Linien sehen. Im Folgenden wird die Anatomie des menschlichen Ohres und einige seiner Fähigkeiten genauer behandelt. Falls nicht zusätzliche Quellen explizit erwähnt sind, gelten für den Anhang B [Bla97, Spi03, Wiki]. 95 ANHANG B. PSYCHO-AKUSTIK 96 B.1 Anatomie des menschlichen Ohres Die Ohren liegen nach den Konventionen der Schädelvermessung auf einer horizontalen Ebene. Wenn man von der Symmetrie des Kopfes oder der Ohren spricht, so meint man nur die Spiegelung an der Sagitalebene1 , die senkrecht von Vorne und Hinten durch den Schädel verläuft. Das menschliche Ohr kann funktionell und anatomisch in drei Abschnitte unterteilt werden (vergleiche Abb. B.1). Als medizinisches Fachbuch kann [HNO] empfohlen werden. Abbildung B.1: Schema des menschlichen Ohres.2 B.1.1 Äußeres Ohr Das äußere Ohr besteht aus der Ohrmuschel (Pinna) und dem äußeren Gehörgang bis zum Trommelfell. Dieser Bereich ist zur Außenwelt offen und somit im Normalfall mit Luft gefüllt, beim Tauchen jedoch mit Wasser. Durch die anatomische Form der Pinna besteht eine starke Abhängigkeit bezüglich der Richtung und der Frequenz des Schalls, der zum Trommelfell geleitet wird. Die Pinna wirkt wie ein Schallfänger und ein Richtungsfilter, indem sie Schall oberhalb von 1.500 Hz deutlich und individuell modifiziert. Sie ist maßgeblich für das räumliche Hören verantwortlich, welches in B.4 erklärt wird. An dieser Stelle sei nur kurz auf die beweglichen Ohren der Katzen hingewiesen, die im Gegensatz zu den Menschen ohne den Kopf zu drehen genauer eine Schallquelle fokussieren können. B.1.2 Mittelohr Das Mittelohr ist der mit Luft gefüllt Hohlraum, welcher von dem Trommelfell (Membrana Tympani) und der knöchernen Abgrenzung des Innenohrs eingefasst ist. Durch die E U STACH ’sche Röhre besteht ein Luftkanal zum Nasenrachen, der zum so genannten Druckausgleich zwischen Mittel- und äußerem Ohr genutzt wird. Die drei Gehörknöchelchen verstärken den ankommenden Schall etwa 22-fach durch das Hebelgesetz und geben ihn mechanisch über das ovale Fenster an das Innenohr weiter. Dazu überträgt der am Trommelfell befestigte Hammer (Malleus) die Schwingung über den Amboß (Incus) and den 1 Die Sagittalebene wird von der sagittalen (lat. “Pfeil”, von hinten nach vorne) und vertikalen Achse aufgespannt. 2 Bildquelle: http://www.regiosurf.net/supplement/wahrn/hoeren/hoeren.htm ANHANG B. PSYCHO-AKUSTIK 97 Steigbügel (Stapes) weiter, der wiederum mit der elastischen Membran des Innenohrs, dem ovalen Fenster, verwachsen ist. Bei hoher Schallbelastung reduzieren kleine Muskeln die Verstärkung und verringern somit eine Schädigung des Innenohrs. B.1.3 Innenohr Das mit der Körperflüssigkeit Perilymphe gefüllte Innenohr besteht aus der Hörschnecke (Cochlea) und dem Gleichgewichtsorgan und ist durch das ovale und runde Fenster mit dem Mittelohr verbunden. Die Flüssigkeit dient dem Schutz und der Versorgung der hoch sensiblen Organe und der Wahrnehmung zweier Sinne. Der Orientierungssinn erfolgt durch drei Bogengänge, der Hörsinn in der Cochlea. Die Hörschnecke enthält zwei Kammern, getrennt durch die Basilarmembran, die mit empfindlichen Haaren bedeckt ist und mit dem Hörnerv (Nervus Statoacusticus) verbunden ist, der die Nervenimpulse zum Gehirn leitet. Die Basilarmembran dient der Wahrnehmung des Schalls, da die Hörschnecke in unterschiedlichen Bereichen für verschiedene Frequenzen mehr oder weniger empfindlich ist. Dadurch kann das Gehirn verschiedene Tonhöhen unterscheiden. Da im Zentralnervensystem (ZNS) die Nervenimpulse von beiden Ohren zusammengeführt werden, werden dort auch Störimpulse herausgefiltert und die räumliche Zuordnung der Schallquellen durchgeführt. B.2 Physiologie des Hörens Unser Ohr reagiert bereits auf sehr feine Druckschwankungen. Eine Abweichung von 0,2 Milliardstel vom Luftdruck wird schon wahrgenommen. Man hat diesen kleinsten, gerade noch wahrnehmbaren Schalldruck als Bezugsschall verwendet. Die Hörschwelle liegt daher als Schalldruckpegel ausgedrückt bei 0 dB. Wie man in der Abbildung B.2 a) sieht ist der Mensch bei verschiedenen Frequenzen unterschiedlich empfindlich für den Schall. (a) Frequenzabhängige Hörschwelle (b) Frequenzabhängige gefühlte Lautstärke Abbildung B.2: Frequenzabhängigkeit des Gehörs.3 Wie in Kapitel A.1.3 erwähnt, überlagert der Schalldruck den dauerhaften Luftdrucks, der etwa bei 100.000 Pa liegt. Eine Kniebeuge verursacht etwa eine Veränderung des 3 Bildquelle: http://www.dasp.uni-wuppertal.de/ars_auditus ANHANG B. PSYCHO-AKUSTIK 98 Schalldrucks um 10 Pa. Ein normales Gespräch verursacht Schalldruckschwankungen von etwa 0,01 Pa bis 1 Pa. Ein Mensch mit einem normalen Gehör ist in der Lage von 0 dB bis etwa 130 dB zu hören. Je nach Mensch führt ein andauernd hoher Schalldruckpegel ab 70dB zu Schädigung und ab 120 dB bis 130 dB erfährt man den Schall schmerzhaft, man spricht von der Schmerzgrenze. Wie die Abbildung B.2 b) zeigt, ist auch das Lautstärkeempfinden frequenzabhängig. Eine Erhöhung um etwa 10 dB wird als Verdopplung der gehörten Lautstärke wahrgenommen, obwohl eine Erhöhung um 3 dB ja einer Verdopplung des Schalldrucks entspricht. Um ein angepasstes Bild der gefühlten Lautstärke zu bekommen, kann der Schalldruckpegel mit einem Korrekturfilter angepasst werden. Am häufigsten wird der A-Filter benutzt, welches man mit dB(A) gekennzeichnet wird. Obwohl das Ohr Schalldruck logarithmisch wahrnimmt, hat der Mensch das logarithmische Maßsystem kein Gefühl. Es ist daher äußerst schwierig, Schallpegel zu schätzen. Ein Akustiker weiß lediglich aus Erfahrung, für welche Geräusche er einen bestimmten Schallpegel anzusetzen hat (siehe Tab.: A.2). B.3 Rezeption des Schallsignals Die Rezeption eines Schallereignisses resultiert in einem auditiven Ereignis beim Hörer. Dabei müssen das Schallereignis und das auditive Ereignis nicht in ihren Eigenschaften übereinstimmen. Viele Versuche zeigen, dass das wahrgenommene Ereignis z.B. in der Position, Amplitude oder Entfernung teilweise stark von der physikalischen Schallquelle abweichen kann, was aber nicht zwingend zur Folge hat, dass das auditive Ereignis falsch wäre. Es gibt auch visuelle Effekte, wie den Effekt, eine grafische Wiederholung ab 60 Hz als ein Standbild aufzufassen, die zeigen, dass auch das Auge die physikalische Welt anders wahrnimmt, ohne dabei etwas ”falsch” zu machen. Nur einige dieser Effekte werden im Rahmen dieser Arbeit erwähnt. Ein durch Luftschall übertragenes auditives Ereignis wird in drei temporale Bereiche, dem Direktschall, den frühen Reflexionen und dem Nachhall, unterteilt. Die Abbildung B.3 zeigt die schematische Impulsantwort4 eines Signals in einer Umgebung. Allgemein unterscheidet man zwischen so genannten frühen Reflexionen und dem Nachhall, der aus der Überlagerung zahlreichen Reflexionen entsteht. B.3.1 Direktschall Die Schallwellen, die auf dem direkten Weg von der Schallquelle über ein Medium den Rezeptor, in diesem Fall das menschliche Ohr, erreichen werden Direktschall genannt. Sie erfahren nur eine Dämpfung hinsichtlich des Mediums abhängig von der Länge der zurückgelegten Strecke. Im Allgemeinen kann man davon ausgehen, dass etwa ab 3 Meter Abstand zu einer kugelförmigen Schallquelle, sich die Schallwellen planar ausbreiten. Darunter muss man die Wölbung der Schallwellen in Betracht ziehen, da sie temporale Effekt in der Wahrnehmung verursachen. 4 Ausgangssignal eines Systems, dem am Eingang ein Dirac-Impuls zugeführt wird. ANHANG B. PSYCHO-AKUSTIK 99 Abbildung B.3: Schema einer Impulsantwort eines verhallten Signals. B.3.2 Frühe Reflexionen Das menschliche Hörorgan ist in der Lage sehr schnelle Folgen von Reizen zu verarbeiten. Da der Mensch auf Grund der Reflexionen ein Raumgefühl entwickelt und nicht nur Schallquellen, sondern auch Objekte sogar hinter sich wahrnehmen kann, ist eine nähere Betrachtung der Reflexionen nötig. Frühe Reflexionen (early Reflections) sind die Reflexionen, die mit nicht mehr als 80 ms Verzögerung beim Hörer eintreffen, relativ zum Direktschall. Bei einem mit Luft gefüllten Raum entspricht diese Laufzeit einer Strecke von etwa 27 Metern. Wenn bei niedriger Verhallungsdichte weniger als 2.000 Reflexionen [CM78] pro Sekunde am Ohr eintreffen, werden diese als Einzelimpulse wahrgenommen, auch wenn dies nicht bewusst geschieht. Jede Reflexion kommt dabei aus einer eigenen Richtung mit eigenen Ausprägung. Wenn ein Schall über n Reflektoren den Rezeptor erreicht, spricht man von Schall n-ter Ordnung. Frühe Reflexionen geben dem Menschen entscheidende Hinweise darauf, welche Objekte in der Nähe sind und wie diese beschaffen sind. B.3.3 Nachhall Der Nachhall (Reverberation) beschreibt die Vielzahl von diffusen Reflexionen hoher Ordnung, die relativ zum Direktschall nach 80 ms beim Hörer eintreffen. Der Nachhall gibt dem Menschen entscheidende Hinweise in welcher Umgebung er sich befindet. Die Geschwindigkeit des Abklingen eines Nachhalls ist ein entscheidender Hinweis auf das auditive Raumgefühl. Durch eine hohe Verhallungsdichte nimmt das Ohr keine Einzelimpulse mehr war [CM78]. B.3.4 Knochenschall Gelangt die von einer Schallquelle abgestrahlte Energie nicht über Schwingungen der Membrana Tympani zum Innenohr sondern direkt dorthin, spricht man von Knochenschall oder Körperschall. Der Knochenschall liegt im Alltag etwa 50 dB unter dem Luftschall und spielt daher bei Menschen mit funktionsfähigen Gehör eine untergeordnete Rolle. Der taube B EETHOVEN biss auf ein Stück Holz, welches an seinem Klavier angebracht war, um mit Hilfe des Knochenschalls weiter komponieren zu können. ANHANG B. PSYCHO-AKUSTIK B.3.5 100 Cochlea-Implantate Neuere Techniken machen es möglich bei Menschen mit Gehörlosigkeit direkt durch elektronische Impulse ein Hörereignis auszulösen [Coch]. Cochlea-Implantate reizen die Hörschnecke nach einer Signalverarbeitung an zwölf unterschiedlichen Stellen. Dadurch werden die Sinneszellen ähnlich gereizt, als wenn sie durch entsprechende Schallimpulse angeregt wären. B.4 Räumliches Hören Der Begriff des räumlichen Hörens ist im Grunde genauso ein Pleonasmus wie ein runder Kreis. Das auditive Erlebnis, welches ein Mensch durch die Rezeption von Schall erlebt, kann nicht unräumlich sein. Zu jederzeit findet im ZNS eine Verarbeitung des Signals statt, welches aufgrund mehrere Effekte zu einer Positionierung des auditiven Ereignisses führt. Eine gängige Art der Beschreibung von Positionen von Schallquellen und auditiven Ereignissen geschieht durch ein eigenes Koordinatensystem des Hörers. Dabei liegt der Mittelpunkt einer Kugel auf der Höhe beider Ohren und in deren Mitte. Dann kann durch die Angabe des horizontale Winkels (Azimuth), des vertikalen Winkels (Elevation) und die Distanz jeder Punkt eindeutig beschrieben werden. Bei der Wiedergabe von künstlichen Schallereignissen kann es zu ungewollten Erfahrungen kommen. So kann es z.B. beim Hören mit Kopfhören zu einer unerwünschten Positionierung des auditiven Ereignisses innerhalb oder ausserhalb (out-of-head-sensation) des eigenen Kopfes führen. Die individuelle Frequenzveränderungen durch die Schultern und der Pinna ist besonders wichtig bei der auditiven Erfahrung. Das Gehör wertet temporale und qualitative Hinweise in einem Schallsignal aus. B.4.1 Temporale Veränderung Durch die unterschiedliche Lage der beiden Ohren treffen Schallimpulse von einer Schallquelle, die nicht auf der Sagittalebene liegen, zu unterschiedlichen Zeiten ein. Die Zeitdifferenz zwischen den Impulsen an den beiden Ohren wird Interaural Time Difference [IASIG98], im Folgenden ITD, genannt. Das ZNS verarbeitet die ITD maßgeblich am Anfang von Schallereignissen und sie ist wichtig zur Positionierung auditiver Ereignisse auf der horizontalen Ebene. Die Abbildung B.4 verdeutlicht △s als Laufzeitdifferenz bei einem Ohrabstand d und Richtungswinkel α der Schallwellen. B.4.2 Qualitative Veränderung Liegt eine Schallquelle auf einer der beiden Seiten der Ohren, so empfängt ein Ohr den Schallimpuls deutlicher als das andere. Dies liegt zum einen an den unterschiedlichen Streckenlängen, deutlicher aber an der verursachten Beugung am abgewandten Ohr und die zusätzlich Frequenzveränderung an beiden Ohren durch die Pinna und den Schultern. Der qualitative Unterschied der ankommenden Signale wird Interaural Intensity Difference 5 Bildquelle: http://www.dasp.uni-wuppertal.de/ars_auditus ANHANG B. PSYCHO-AKUSTIK 101 Abbildung B.4: Verschiedene Laufzeiten an den beiden Ohren.5 [IASIG98] oder kurz IID genannt. Es hat sich herausgestellt, dass besonders die Positionierung auditiver Ereignisse mit vertikaler Ausrichtung oder hinter dem Hörer durch die IID ausgelöst werden. B.4.3 Räumliche Auflösung Die räumliche Auflösung der auditiven Ereignisse ist abhängig von deren Richtung. Vor einem Hörer liegt die horizontale Auflösung bei etwa 1◦ , rechtwinklig zu dem Hörer ist die Ungenauigkeit der Ortung etwa drei bis zehnmal so stark, hinter dem Hörer ist die Ungenauigkeit (localisation blur) nur etwa doppelt so groß wie von vorne. Da die Laufzeiten bei einer vertikalen Ausrichtung der Schallquelle keine Laufzeitveränderung verursacht, liegt die Genauigkeit der Ortung bei minimal 4◦ , bei unbekannten Geräuschen auch deutlich darüber. Bandbegrenzte Schallsignale kleiner als 2/3 einer Oktave sind überhaupt nicht auditiv ortbar. Diese Experimente zeigen, dass die wahrgenommene Richtung eines auditiven Ereignisses nicht von der Richtung der Schallquelle abhängt, sondern nur von den Frequenzveränderungen des binauralen Schallsignals. Anhang C Digitale Schallwelt «’Nein’, sagte der Knabe schließlich, und seine Stimme vibrierte eindrucksvoll. Um einen solchen Nachhall zu bewirken, sind entweder ausgeprägte okkulte Fähigkeiten erforderlich oder die teuren Geräte eines modern eingerichteten Audiostudios.» (Aus dem Buch Der Zauberhut von Terry Pratchett) Erst seit wenigen Jahrzehnten ist die Speicherung und die Verarbeitung von digitalem Audiomaterial möglich geworden, da die erforderliche Übertragungsgeschwindigkeit und der nötige Speicherplatz vorhanden war. Mit der Einführung der CD1 als Speichermedium, Anfang der 80er Jahre des vorherigen Jahrhunderts verbreitete sich digitalisiertes Audiomaterial auch rasant außerhalb eines Computers im Alltag. Heutzutage gibt es zahlreiche Anwendungen bei denen digitalisierte Schallereignisse gespeichert, komprimiert oder übertragen werden. Angefangen von den digitalen Übtragungsprotokollen von ISDN2 -, Netzwerk- oder Mobilfunk-Telefonie für die Sprachübertragung und deren Komprimierung reicht das Spektrum über MP33 -Musik und Geräte zur Wiedergabe bis zur digitalen High-End Studiotechnik zur CD- oder DVD4 -Produktion. Auch im so genannten Home-Entertainment-Bereich bieten DVD-Player, Spielekonsolen und Hifi-Verstärker heutzutage Anschlüsse für digitale Tonübertragung. Im Folgenden wird der Bereich der digitalen Audio-Technik beleuchtet, mit der Gewichtung auf Formate und Techniken, die vor allem in einem Computer zum Einsatz kommen. Falls nicht zusätzliche Quellen explizit erwähnt sind, gelten für den Anhang C [Co02, Wiki]. C.1 Digitalisierung Damit Audiomaterial digital vorliegt, muss dieses entweder digital generiert werden, z.B. durch physikalisch basierte Klangsynthesizer5 , oder es wird aus der analogen Form in eine 1 CD = Compact Disc = Integrated Services Digital Network 3 MP3 = MPEG1 Layer 3, Audiocodec 4 DVD = Digital Versatile Disc 5 Syntheziser: Elektronisches Instrument zur Generierung künstlicher Klänge oder Geräusche. 2 ISDN 102 ANHANG C. DIGITALE SCHALLWELT 103 digitale Abbildung überführt. Da in der analogen Klangwelt der Schall zeit- und wertkontinuierlich vorliegt, ist es nötig diese beiden Dimensionen diskret anzunähern. Dabei wird zu einem festen Zeitpunkt ein Wert der Amplitude festgesetzt und gespeichert. Die Häufigkeit der Abtastpunkte und die Genauigkeit des dann gespeicherten Pegels werden im Folgenden erklärt. C.1.1 Abtastrate Die Abtastrate oder Samplerate gibt an, wie oft ein Audiosignal pro Sekunde abgetastet wird und wird in Kilohertz (kHz) angegeben. Beispiele für Abtastraten sind in der Tabelle C.1 zu sehen. Tabelle C.1: Übliche Abtastraten. niedrige Qualität mittlere Qualität MiniDisk Hohe Qualität (Audio-CD) DAT (Digital Audio Tape) Ultra High (Studio) 11 kHz 22 kHz 33 kHz 44,1 kHz 48 kHz 96 kHz Wie im Kapitel über das menschliche Hören aufgezeigt wurde, kann der Mensch Frequenzen etwa im Bereich 16 Hz bis 20 kHz wahrnehmen. Nach dem Abtasttheorem von S HANNON muss ein bandbegrenztes6 Signal mit der Frequenz f mit der doppelten Frequenz, also 2 f , abgetastet werden, damit es später exakt rekonstruiert werden kann. Die halbe Abtastfrequenz f wird auch N YQUIST-Frequenz genannt. Für das menschliche Ohrvermögen würde das eine Samplerate von 40 kHz ergeben. Nun erkennt man leicht, dass die Wahl der Abtastrate einer CD mit 44,1 kHz kein Zufall war. Moderne Soundkarten der vierten Generation bieten Abtastraten bis 96 kHz. C.1.2 Bitauflösung Die Bitauflösung oder Bitrate gibt an, mit welcher Genauigkeit die Amplitude an einem bestimmten Zeitpunkt gespeichert wird. Die Überführung in ein System mit begrenzter Auflösung wird Quantisierung genannt. Gängige Bitauflösungen liegen bei 8, 16, 20 oder 24 Bit. Bearbeitet man Audiodaten nachträglich, so entstehen immer wieder neue Rundungsfehler, die sich bei niedrigen Bitauflösungen durchaus hörbar auswirken können. Bei steigernder Bitauflösung sinkt die Fehlerabweichung des kleinsten Fehlers. Die Tabelle C.2 zeigt die Anzahl der diskreten Werte bei unterschiedlichen Bitauflösungen. Je mehr Speicherplatz zur Verfügung steht, desto genauer wird die Dynamik des Signals quantisiert. 6 Ein bandbegrenztes Signal wird z.B. durch einen Tiefpass-Filter erzeugt, der hohe Frequenzen (Obertöne) absenkt. ANHANG C. DIGITALE SCHALLWELT 104 Tabelle C.2: Übliche Bitauflösungen. Bitrate 8 16 20 24 C.1.3 Anzahl der Messwerte Fehlerabweichung in % 28 = 256 216 = 65.538 220 = 1.048.576 224 = 16.777.216 0,390625 0,00152588 0,00009537 0,00000596 Dynamik Die Dynamik bezeichnet die Differenz zwischen der kleinsten und größten Amplitude, die ein Aufnahmegerät oder ein Abspielgerät darstellen kann. Im Allgemeinen wird dieser Wert bei Mikrophonen angegeben, die den Schall aufnehmen. Aber auch für die verschiedenen digitalen Speicherformate, wie der Audio-CD oder einer magnetischen Kassette, kann die Dynamik angegeben werden. Erinnern wir uns daran, dass Dezibel ein Verhältnis von Kräftepegeln angibt. Im Dynamikbereich bezeichnet 0 dB also den unteren, darstellbaren Grenzwert. Tabelle C.3 zeigt einige theoretische Dynamikwerte im Vergleich. Tabelle C.3: Dynamik gängiger Audiotechniken und -ereignisse. Vinyl Schallplatte Analoge Musik-Kassette 8 Bit Abtastung 16 Bit Abtastung (Audio-CD) Orchester C.1.4 65 dB 55 dB 48 dB 96 dB ca. 110 dB Signal-Rausch-Abstand Der Signal-Rausch-Abstand, der auch oft mit SNR (Signal to Noise Ratio) abgekürzt wird, beschreibt das logarithmische Verhältnis des Signals zum Rauschen. Es beschreibt im Gegensatz zur theoretischen Qualitätsangabe der Dynamik, einen praktischen Wert zur Angabe von Aufnahme- und Wiedergabe-Qualität. Gemessen wird die SNR ebenfalls in dB, da es sich um ein Verhältnis von Leistung handelt. C.2 Digitale Audio-Formate Um die digitalen Audiodaten auch speichern zu können, sind im Laufe der Zeit zahlreiche Formate entwickelt worden, die jedes für sich zu einem bestimmten Zeitpunkt gute Existenz-Gründe hatte. Alle Formate können hier nicht aufgeführt werden und viele sind inzwischen veraltet, andere waren von Beginn an proprietär oder hardware-abhängig. Einige Formate, auf die nicht näher eingegangen wird, sind: .SND, .VOC, .VOX, .AU, .AIFF, .QT, .RA. ANHANG C. DIGITALE SCHALLWELT C.2.1 105 PCM / WAV PCM (Pulse Code Modulation) ist eine Modulationsform, die ein analoges Signal binär kodiert. Sie dient nicht nur bei der Übertragung von Sprache auf einem Netzwerk [Tan03], sondern auch zur Speicherung von unkomprimierten Audiodaten. Dieses Format wird z.B. bei Audio-CDs und DAT-Kassetten verwendet. Dabei werden für jede Audiospur diskret die Daten abhängig von der Samplerate und der Bitrate abgespeichert. Neben der linearen PCM, bei der die Quantisierungsintervalle gleich groß sind, gibt es auch die dynamische PCM mit verschieden großen Quantisierungsintervallen. Die differenzielle PCM (DPCM) speichert die Differenz aufeinanderfolgender Abtastwerte statt den Signalwerten. Wird das PCM-Audiomaterial in einer WAV-Datei eingebunden entsteht eine unkomprimierte WAV-Datei. Der Informationsblock der WAV-Datei (Header) beschreibt in welchem Format die Audiodaten vorliegen. Es können auch komprimierte Formate in einer WAVDatei verwendet werden. C.2.2 MP3 und andere Komprimierungen Es wird zwischen drei Arten der Kodierung unterschieden, die unterschiedliche Komprimierungsarten zulassen. Die direkte Kodierung (PCM), die Entrophiekodierung (z.B. Huffmann) und die Quellenkodierung (z.B. DPCM, MP3). Eine Übersicht findet man in [Hen04]. Während MP3 eine verlustbehaftete Komprimierung auf Basis der Psycho-Akustik verwendet, kann auch eine Komprimierung durch das Aufteilen des Audiosignals in seine Komponenten erreicht werden. Dazu wird das Audiosignal mit Hilfe der F OURIER7 Transformation mathematisch in sein Frequenzspektrum zerlegt, und die Amplituden jeweils einzeln kodiert [Tan03]. Erste Komprimierungstechniken in dem Audiobereich waren µ-law und a-law Kompression, um speziell die Sprachqualität bei den damals sehr begrenzten Sample- und Bitraten zu erhöhen. Heutige Codecs8 arbeiten auf dem vollständigen Frequenzgang und erreichen sehr gute Wiedergabequalität. An dieser Stelle werden nur Fraunhofer MP3, Ogg Vorbis und MPEG4 [MPEG4] genannt. C.3 Digitale Schall-Erzeugung Digitale Audiodaten können auch künstlich generiert werden. Dies geschieht zum Beispiel in modernen Synthesizern oder Software-Synthesizern, die analoge Synthesizer oder physikalische Tonerzeugung virtuell nachahmen. Einer der bekanntesten Synthesizer dieser Art ist der Nord Lead 2 der Firma Clavia [Clavia]. Andere Ansätze beschäftigen sich mit der Berechnung von Geräuschen, ohne bestehendes Audiomaterial zu verwenden. Man spricht von Physic-Modelling oder Sound-Synthese. Einen ausführlicher Überblick erhält man in [Co02]. 7 Durch die Fourier-Transformation kann eine Funktion als Summe von Sinus- oder Kosinusfunktionen verschiedener Frequenz, Phase und Amplitude dargestellt werden. 8 Akronym aus Kodierung und Dekodierung, Signal-Wandler. Literaturverzeichnis [3DSS1] 3D Sound Surge: Gamer’s Guide to 3D sound and reverb engines. http://www.3dsoundsurge.com/features/articles/3DSoundEngines/ 3DSoundEngines.html [3DSS2] 3D Sound Surge: Gamer’s Guide to 3D sound and reverb APIs. http://www. 3dsoundsurge.com/features/articles/APIs/APIs.html [AFS03] W. Ahnert, S. Feistel, O. Schmitz: MODERN TOOLS IN ACOUSTIC DESIGN OF CONCERT HALLS AND THEATRES - USE AND LIMITATIONS OF COMPUTER SIMULATION AND AURALISATION, XIII Session of the Russian Acoustical Society Moscow, August 25-29, 2003. http://www.akin. ru/Docs/Rao/Ses13/AA2.PDF [AL02] J. Auger, J. Loizeau: Audio Tooth Implant, 2002. http://www.auger-loizeau.com [Ars] M. Kremer: Ars Auditus, Akustik-Gehör-Psychoakustik. http://www.dasp.uni-wuppertal.de/ars_auditus/ [Beg94] D. R. Begault: 3D Audio for Virtual Reality and Multimedia, Academic Press Professional, Cambridge, 1994. [BIO] BionicFX, AVEX. http://www.bionicfx.com/ [Bla97] Jens Blauert: Spatial Hearing - The Psychophysics of Human Sound Localization. MIT Press, 1997. [BlueC] blue-c Webseite. http://blue-c.ethz.ch [Bor02] I. Bork: Bericht vom 3. Ringvergleich zur Raumakustischen Simulation, Physikalisch-Technische-Bundesanstalt (PTB) Braunschweig, DAGA, 2002. http://www.ptb.de/de/org/1/_index.htm [CATT] CATT, Akustik Simulator. http://www.catt.se [CEA] CEA, The Consumer Electronics Association: Hall of Fame. http://www.ce. org/publications/hall_of_fame/jensen_p_01.asp [Clavia] Clavia, Nord Lead 2. http://www.clavia.se/nordlead2/ 106 LITERATURVERZEICHNIS [CM78] 107 L. Cremer, H. Müller: Principles and Applications of Room Acoustics, Volume 1, Applied Science, 1978. [Co02] Perry R. Cook: Real Sound Synthesis for Interactive Applications, A K Peters Ltd., 2002. [Coch] Institut für Angewandte Physik, Universität Innsbruck: Forschung Cochlea Implantate. http://info.uibk.ac.at/c/c7/c728/Cochlea.html [CoD] Call of Duty. Infinity Ward. http://www.callofduty.com [Cra03] J. G. Cramer: The Sound of the Big Bang. University of Washington, 2003. http://faculty.washington.edu/jcramer/BBSound.html [Cre1] Creative: CREATIVE’S PURCHASE OF AUREAL’S ASSETS APPROVED. http://us.creative.com/corporate/pressroom/releases/welcome. asp?pid=6179 [Cre2] Creative: EAGLE. http://developer.creative.com/landing.asp?cat= 1&sbcat=32&top=39 [Crytek] Crytek GmbH: Marco Corbetta, Martin Mittring, persönliche Kommunikation. http://www.crytek.de [DASP] DASP, Institut für Nachrichtentechnik, Bergische Universität Wuppertal, Prof. Dr.-Ing. Detlef Krahé. http://www.dasp.uni-wuppertal.de [Dave02] Sven Havemann: Höhlenzeitalter, iX Magazin für professionelle Informationstechnik, Heise-Verlag, (11), November 2002. http://www.graphics.tu-bs.de/dave [DIN] DIN, Deutsches Institut für Normung e.V.. http://www.din.de [DTU] Technische Universität Dänemark, Acoustic Technology. http://www.dat.dtu.dk [EASE] EASE, Akustik Simulator. http://www.sda-softwaredesign.de [EAX] Creative: Evironmental Audio Extensions EAX 2.0, 1999. http://www.soundblaster.com/eax [Factor5] Factor5: Thomas Engel, persönliche Kommunikation. http://www.factor5.com [FJT02] Thomas Funkhouser Princeton University, Jean-Marc Jot Creative Technology Ltd., Nicolas Tsingos: SIGGRAPH 2002 Course Notes - “Sounds Good To Me!”, Computational Sound for Graphics, Virtual Reality, and Interactive Systems. http://www.cs.princeton.edu/~funk/course02.pdf [FMOD] Firelight Technologies Pty.: FMOD Sound System. http://www.fmod.org LITERATURVERZEICHNIS [FTC03] 108 T. Funkhouser, N. Tsingos, I. Carlbom, G. Elko, M. Sondhi, J. West, G. Pingali, P. Min, A. Ngan: A Beam Tracing Method for Interactive Architectural Acoustics, The Journal of the Acoustical Society of America (JASA), 2003. http://www.cs.princeton.edu/~funk/jasa01.pdf [FTC02] T. Funkhouser, N. Tsingos, I. Carlbom, G. Elko, M. Sondhi, J. West: Modeling Sound Reflection and Diffraction in Architectural Environments with Beam Tracing, (invited paper) Forum Acusticum, Sevilla, Spain, September, 2002. http://www.cs.princeton.edu/~funk/sevilla02.pdf [FV98] W.Fasold und E. Veres: Schallschutz und Raumakustik in der Praxis. Verlag für Bauwesen, 1998. [Gal02] V. Gal, C. Le Prado, J.B. Merland, S.Natkin, and L. Vega: Processes and tools for sound design in computer games. In Proceedings International Computer Music Conference, September 2002. http://deptinfo.cnam.fr/Enseignement/DESSJEUX/infoeleves/ ICMC20025.pdf [Gar99] W. Gardner: 3D Audio and Acoustic Environment Modeling, 1999. http:// www.harmony-central.com/Computer/Programming/3d-audio.pdf [Gia03] Michael Giacchina: Call of Duty soundtrack. http://www.michaelgiacchino.com [Gar98] W. Gardner: 3-D Audio Using Loudspeakers. Kluwer Academic Publishers, Norwell, MA. USA, 1998. http://sound.media.mit.edu/Papers/ gardner_thesis.pdf [GPG3] Dante Treglia: Game Programming Gems 3, Charles River Media, 2002. [Groe02] Matti Gröhn: LOCALIZATION OF A MOVING VIRTUAL SOUND SOURCE IN A VIRTUAL ROOM, THE EFFECT OF A DISTRACTING AUDITORY STIMULUS, International Conference on Auditory Display, Kyoto, Japan, July 2-5, 2002. http://www.icad.org/websiteV2.0/Conferences/ ICAD2002/proceedings/43_MattiGrohn.pdf [GWN03] M. Gross, S. Würmlin, M. Naef, E. Lamboray, C. Spagno, A. Kunz, E. KollerMeier, T. Svoboda, L. Van Gool, S. Lang, K. Strehlke, A. Vande Moere, and O. Staadt. blue-c: A spatially immersive display and 3D video portal for telepresence. In SIGGRAPH 2003 Conference Proceedings, ACM SIGGRAPH Annual Conference Series, pp. 819827, July 2003. http://graphics.ethz. ch/Downloads/Publications/Papers/2003/gro03/p_Gro03.pdf [Hagia] The Byzantine Monuments: THE CHURCH OF HAGIA EIRENE. http://www.patriarchate.org/ecumenical_patriarchate/chapter_ 4/html/hagia_eirene.html [HAVOK] Havok: Havok 2 Physic Engine. http://www.havok.com LITERATURVERZEICHNIS [Haw88] 109 Stephen W. Hawking: Eine kurze Geschichte der Zeit, Die Suche nach dem Urkraft des Universums. Rowohlt, 1988. [Hen04] Hendrich, Norman: Vorlesung Medientechnologie - Audiokodierung, SS2004. http://tech-www.informatik.uni-hamburg.de/lehre/ ss2004/vorlesungen/medientechnik/04-audio-kodierung.pdf [HL2] Valve Cooperation: Half-Life 2. http://www.half-life2.com [HNO] Strutz, J., Mann, W., Praxis der HNO-Heilkunde, Kopf- u. Halschirurgie, Georg Thieme Verlag, 2000. [IASIG98] Interactive Audio Special Interest Group IASIG: 3D Audio Rendering and Evaluation Guidelines Level 1, 1998. http://iasig.org/pubs/pubs.shtml [IASIG99] Interactive Audio Special Interest Group IASIG: 3D Audio Rendering and Evaluation Guidelines Level 2, 1999. http://iasig.org/pubs/pubs.shtml [IDMT] IDMT, Fraunhofer Institut für Digitale Medientechnologie, Thema Klangfeldsynthese. http://www.idmt.fraunhofer.de/projekte_themen/index. htm?klangfeldsynthese [ISO3382] Raumakustische Grössen nach ISO-3382, 1997. http://www. virtuallyaudio.ch/publikationen/iso_3382/iso_3382.htm [JOS] Global JOS Index. http://ccrma.stanford.edu/~jos/GlobalJOSIndex. html [Jot97] J.-M. Jot: ”Efficient models for reverberation and distance rendering in computer music and virtual audio reality”, Proc. 1997 International Computer Music Conference. http://citeseer.ist.psu.edu/jot97efficient.html [Jot00] J.-M. Jot: Proposal for IA-SIG 3D Audio Rendering Guideline Level 3 (13DL3), Game Developer Conference 2000. http://www.gdconf.com/archives/2000/jeanmarc.pdf [Kaj86] J. T. Kajiya: The render equation. Computer Graphics 20, 1986 [Koll] Birger Kollmeier, Medizinische Physik Uni Oldenburg. http://medi. uni-oldenburg.de/html/teaching_download.html [Krum] Jürgen Krummenauer: Mapel in der Schule, Überlagerung von Wellen. http://php.learnline.de/angebote/blickpunktmatnat/autoren/ krummenauer/maple/schueler/html/ueberlagerung1.htm LITERATURVERZEICHNIS [Lok02] 110 Lokki, T., Savioja, L., Väänänen, R., Huopaniemi, J., and Takala, T.: Creating Interactive Virtual Auditory Environments, IEEE Computer Graphics and Applications, special issue ”Virtual Worlds, Real Sounds”, vol. 22, no. 4, pp. 49-57, July/August 2002. http://csdl.computer.org/comp/mags/cg/2002/04/g4toc.htm [Mah01] Diana Phillips Mahoney: Thanks to advanced simulation and visualization techniques, sound has never looked so good, Computer Graphics World August, 2001. http://cgw.pennnet.com/Articles/Article_Display.cfm? Section=Articles&Subsection=Display&ARTICLE_ID=108474 [MPEG4] M4IF, MPEG Industry Forum. http://www.m4if.org [Mut02] J. Mutanen: I3DL2 and Creative EAX. Research Seminar on Digital Media, 2002. http://www.tml.hut.fi/Opinnot/Tik-111.590/2002s/Paperit/ mutanen_sempaper2002_OK.pdf [NFF03] T. Neumann, C. Fünfzig, D. Fellner: TRIPS - A Scaleable Spatial Sound Library for OpenSG. Eurographics Partner Event OpenSG, 2003. http://www.eg.org/EG/DL/PE/OPENSG03 [NSG02] M. Naef, O. Staadt, and M. Gross: Spatialized audio rendering for immersive virtual environments. In Proceedings of the ACM Symposium on Virtual Reality Software and Technology 2002, pp. 6572, November 2002. http://graphics.ethz.ch/Downloads/Publications/ Papers/2002/p_Nae02.pdf [OAL] OpenAL. http://www.openal.org [Odeon] Odeon, Akustik Simulator. http://www.dat.dtu.dk/~odeon/ [Pas] Laurin Paschek: Die Akustik des neuen Porsche Cayenne. http://www. all4engineers.de/preview.php?cms=&lng=de&alloc=33&id=25 [PGG] Princton Graphics Group. http://www.cs.princeton.edu/gfx/ [Pong] David Winter: Pong-Story. http://www.pong-story.com/pcpong.htm [QSL] QSound Labs. http://www.qsound.com [RAD1] Rad Game Tools: Miles Sound System Features. http://www.radgametools.com/mssds.htm [RAD2] Rad Game Tools: Miles Sound System. http://www.radgametools.com/miles.htm [Ramsete] Ramsete, Akustik Simulator. http://www.ramsete.com [RMM00] E. Riegelsberger, M. Mason, S. Mishra, Aureal Inc.: Advancing 3D Audio through an Acoustic Geometry Interface, Game Developer Conference 2000. http://www.gdconf.com/archives/2000/riegelsb.pdf LITERATURVERZEICHNIS [Rue] 111 Martin Rücker: Akustik-Design in der Autoindustrie. http://www.sueddeutsche.de/automobil/artikel/929/21908/ [San96] J. Sandvad: Dynamic aspects of auditory virtual environments. Proc. 100th Audio Engineering Society Convention, preprint 4226, 1996. [SB] Soundblaster Spezifikationen. http://www.tarigon.de/tramp/sblaster.html [Scha] Thomas Hart Dachausbau, Schallschutz. http://www.trockenausbau-hart.de/schallschutz.php [SEN1] Sensaura: Sensaura announce 30 million milestone at ECTS 2000. http:// www.sensaura.com/news/pr.php?article=pr020.inc [SEN2] [SEN3] Sensaura: Terratec launch first ever Sensaura MultiDrive powered audio soundcard. http://www.sensaura.com/news/pr.php?article=pr011.inc Sensaura: NVIDIA and Sensaura sign licensing agreement. http://www.sensaura.com/news/pr.php?article=pr021.inc [SEN4] Sensaura: SENSAURA VIRTUAL EAR GIVES GAMERS CONTROL OF 3D POSITIONAL AUDIO, 1999. http://www.sensaura.com/news/pr.php?article=pr015.inc [Seng1] [Seng2] Eberhard Sengpiel: Forum für Mikrofonaufnahmetechnik und Tonstudiotechnik. http://www.sengpielaudio.com/Stereofonie-Welche.pdf Eberhard Sengpiel: Forum für Mikrofonaufnahmetechnik und Tonstudiotechnik. http://www.sengpielaudio.com/ StereoFuerLautsprUndKopfhoerer1.pdf [Senn1] Sennheiser Electronic GmbH & Co. KG: NoiseGard. http://www.sennheiser.com/noisegard/noisegard/index.html [Senn2] Sennheiser Electronic GmbH & Co. KG: PXC 250. http://www.sennheiser.com/sennheiser/icm.nsf/root/04924 [Spi03] Manfred Spitzer: Musik im Kopf. Schattauer, 3te Auflage, 2003 [SSE] Diverse SSE Informationen: http://www.tommesani.com/Docs.html und http://www.codeproject.com/cpp/sseintro.asp [Sta03] P. Stampfl: 3deSoundBox a Scalable, Platform-Independent 3D Sound System for Virtual and Augmented Reality Applications, EG2003 Posters. http:// www.eg.org/EG/DL/Conf/EG2003/poster/papers/stampfl.pdf [Tan03] Tanenbaum, Andrew S., Computer Networks, Prentice Hall, 2004 LITERATURVERZEICHNIS [TCE] 112 T.C. Electronic: M-One XL Effektgerät. http://www.tcelectronic.com/M-OneXL [Tenn02] H. P. Tennhardt: Richtwerte für Nachhallzeiten großer Auditorien, Institut für Erhaltung und Modernisierung von Bauwerken e.V. an der TU Berlin, 2002. http://www.iemb.de/veroeffentlichungen/infobl\ %E4tter/infoblatt-2-2002.pdf [TFD] Farlex Inc.: The Free Dictionary. http://www.thefreedictionary.com/sabin [TFNC01] N. Tsingos, T. Funkhouser, A. Ngan, I. Carlbom: Modeling Acoustics in Virtual Environments Using the Uniform Theory of Diffraction, Computer Graphics (SIGGRAPH 2001), Los Angeles, CA, August, 2001. http://www.cs.princeton.edu/~funk/sig01.pdf [TGD03] N. Tsingos, E. Gallo, G. Drettakis: Perceptual Audio Rendering of Complex Virtual Environments, REVES/INRIA Sophia-Antipolis, 2003. http://www-sop.inria.fr/reves/personnel/Nicolas.Tsingos/ publis/sig2004_final.pdf [TI] The Inquirer: Creative snaps up Scipher Sensaura business. http://www.theinquirer.net/?article=13027 [Uhl] K. Uhlmann, Universität der Bundeswehr München: Angewandte Physik, Akustik. http://www.unibw-muenchen.de/campus/ETTI/we1/uhlmann/ AP_Ak_03.pdf [VAT] VRML 2.0 Audio Tutorial. http://www.dform.com/inquiry/tutorials/vrmlaudio/ [Veit96] Ivar Veit: Technische Akustik. Vogel Fachbuch, Kamprath-Reihe, 5te Auflage 1996. [VIA] VIA: Sensaura and VIA Announce Licensing Agreement for 3D Audio Technology. http://www.via.com.tw/en/Digital\%20Library/ PR030304VIA-Sensaura.jsp [VML96] VRML 2.0 Spezifikation, 1996. http://www.graphcomp.com/info/specs/sgi/vrml/spec/ [Wen01] E. Wenzel: Effect of increasing system latency on localization of virtual sounds with short and long duration. Proceeding of ICAD 2001, Espoo, Finnland, August 2001. http://www.acoustics.hut.fi/icad2001/proceedings/ papers/wenzel.pdf [Wiki] Wikimedia Foundation Inc.: Wikipedia - Die freie Enzyklopädie. http://de.wikipedia.org Index äquivalente Absorptionsfläche, 56, 59, 92 A3D, 30 Abtastrate, 23, 103 Akustik-Effekte, 5, 23, 24, 55, 64 Akustiker, 1, 98 Faltung, 28 First-Person, 12 FMOD, 24, 30, 33, 50 frühe Reflexionen, 3, 60, 99 Frequenz, 82, 103 Frequenzspektrum, 1, 18, 82 Akustiksimulator, 5, 16 Amplitude, 19, 82, 103 Gehör, 1, 14, 19, 98 auditives Ereignis, 2, 98 künstliches, 4, 18 Geometrie-Akustik-Interface, 7, 37, 45 Geometrie-Akustik-Primitiv, 7, 37, 39 Beam-Tracing, 15, 76 Geometrie-Engine, 7, 37, 49 Geräusch, 2, 82 GPU, 16, 79 Bel, 84 Bezugsschall, 97 binaural, 6, 15, 19, 101 Bitauflösung, 23, 103 Hörer, 2, 11 Hörschwelle, 95, 97 blue-c, 34, 76 Hörtest, 21, 75 Hall Cochlea, 97, 100 Codec, 105 -Modell, 5 -gerät, 5, 34 Darstellung, 4, 11, 28 DAVE, 33 -radius, 93 -raum, 5, 35 -signal, 2 Dezibel, 56, 85, 93, 104 DirectSound3D, 14, 22, 29 HRTF, 15, 19, 20 DirectX, 29 Direktschall, 3, 24, 62, 93, 99 I3DL1, 23, 36 I3DL2, 24, 29, 36 I3DL3, 28, 65 Dissipation, 88 Dolby-Digital, 11, 20 Doppler-Effekt, 23, 91 IID, 19, 101 Impulsantwort, 3, 15, 21, 28, 65, 98 Dynamik, 95, 104 ITD, 19, 100 EAGLE, 32 Klang, 82 EAX, 14, 29 Environment, 6, 21, 28, 36 Knochenschall, 21, 99 Koordinatensystem, 12, 14, 100 Kugelstrahler, 83 Exklusion, 38, 91 Eyring, 56 Lautsprecher, 4, 18, 19, 21, 86 113 INDEX 114 Listener, 11 GAP, 40 Material, 41, 92 Medium, 42, 92 Membrana Tympani, 96 MIDI, 5 Miles Sound System, 31 monaural, 19 Mono, 19 multi-Listener, 13, 34, 52 Nachhall, 2, 3, 62, 99 -ausbreitung, 2, 14, 15, 62 -beugung, 2, 88 -brechung, 2, 89 -dämmung, 17, 90 -dämpfung, 17, 40, 90 -dissipationgrad, 88 -druck, 83–85 -druckpegel, 56, 85 -energiegröße, 84 -ereignis, 2 -geschwindigkeit, 64, 81, 83 -intensität, 84 Nachhallzeit, 56, 59, 93 Nyquist, 103 -interferenz, 2, 86 -kennimpedanz, 84 -quelle, 2, 13, 81 Obstacle, 42 -reflexion, 2, 86 -reflexionsfaktor, 84, 87 Obstruktion, 24, 38, 91 Okklusion, 24, 38, 91 OpenAL, 29 PCM (Pulse Code Modulation), 105 Physic-Modelling, 105 Pinna, 96 Portal, 42 Positionierung, 5, 100, 101 QSound, 30 Qsound, 75 Quad, 20 -reflexionsgrad, 51, 87, 92 -schnelle, 83 -schutz, 2 -signal, 2, 21, 83, 93 -streuungsgrad, 51, 92 -transmission, 51, 62, 88 -transmissionsgrad, 51, 88, 92 -welle, 81 Schallfeld, 81 -ausbreitung, 17 -größe, 83 Quantisierung, 103 freies, 4, 93 schallhart, 86 Raumakustik, 2, 92 Raumeffekt, 24, 25, 65 Schmerzgrenze, 95, 98 Shannon, 103 Sound, 13 Raumgefühl, 2, 99 Reflektor, 39, 60, 86 Reverb-Engine, 16, 28 Reverb-Volumen, 57 Reverv-Volumen, 58 Room, 43 Sabine, 56, 59, 93 Sagitalebene, 96 Schall, 19, 81 -absorption, 2, 88 -absorptionsgrad, 51, 59, 88, 92 -API, 16, 21, 22, 28, 29 -Kontext, 37, 50 -Server, 8, 33 -chip, 11, 29–31 -karte, 8, 11, 19, 31, 103 -objekt, 13 -pfad, 63, 64 -positionierung, 18, 20, 23 -treiber, 29, 37, 50 3D-, 14 INDEX 115 ambienter, 13 GAP, 41 gerichteter, 14 Listener-dependent (LDS), 51, 57, 64, 68 Omni-, 14 virtueller, 8, 62 Soundkarte, 103 Sphere-Point, 57 Split-Screen, 13 Stereo Kopfhörer-, 20 Lautsprecher-, 20 Szenenbeschreibung, 4, 16, 37, 39, 43 Tiefpass-Filter, 24, 103 Ton, 82 Top-View, 12 TRIPS, 33, 52 Verhallung, 2, 65, 90 Virtual-Reality, 8, 32, 34 Volume-Point, 57, 61 VRML, 14, 33 Wall, 41 WAV-Datei, 105 weißes Rauschen, 82 Wellenfeld-Synthese, 21 Wellenlänge, 82, 83, 86 Wiederholungsrate, 14, 45, 68 XML-Format, 7, 43