3DA² Foundation Virtual Reality: Akustik TEIL I
Vorwort — 2026: Der Geist in der Strahlverfolgung
The most beautiful thing we can experience is the mysterious. It is the source of all true art and science.
— Albert Einstein
Einunddreißig Jahre sind vergangen, seit ich zuletzt vor meiner Amiga-Farm saß, deren Lüfter wie ein müder Drache warme Luft über meinen Schreibtisch bliesen, während der Bildschirm mit den gerasterten CRT-Farben einer Welt leuchtete, die nicht mehr existiert — weder in der Hardware, noch im Gedächtnis, noch selbst in der kollektiven Nostalgie jener, die einst behaupteten, sie hätten sie zu Hause gehabt. Ich war damals erst ein fünfundzwanzigjähriger junger Mann, mit wilden Augen und der Überzeugung, dass Klang wie Ton geformt werden könne, dass Räume vor ihrer Errichtung imaginiert werden könnten und dass die Hallzeiten einer Konzertpause in Tokio aus einem Schlafzimmer in Malmö mit nur einem 68030-Chip, einigen ARexx-Skripten und einer unvernünftigen Menge Kaffee simuliert werden könnten. Ich nannte es 3DA² Foundation: Virtual Reality: Acoustics Part I. Es war nie dazu bestimmt, beendet zu werden. Es sollte ein Anfang sein.
Und doch bin ich hier — mit deutlich graueren Haaren, viel vorsichtiger in meinen Schritten, aber nicht weniger überzeugt. Die Welt hat sich weiterbewegt. VR wurde zu einem Kopfhörer, den man trägt, um seiner Arbeit zu entfliehen. Spatial Audio ist heute ein Haken in der Plugin-Liste Ihrer DAW. Strahlverfolgung dient nun dazu, fotorealistische Autoinnenausstattungen in Unreal Engine zu rendern, nicht um die hallende Nachklangdauer einer Stein Kapelle im 14. Jahrhundert in Lübeck zu simulieren. Die Amiga ist Museumstaub. ARexx? Eine Fußnote in einem PDF über Retro-Computing der 1990er-Jahre. Meine Doktorarbeit — diese ausufernde, obsessive, wunderschöne Unordnung aus heuristischer Strahlverfolgung, chaotischen Materialantworten und pseudowissenschaftlichen Postulaten, verpackt in einem schwedisch-englischen Slang — wurde aufgegeben. Nicht weil sie gescheitert wäre, sondern weil niemand sonst sich dafür interessierte. Keine Finanzierung. Kein akademisches Interesse. Nur ich, eine Farm von Amiga-Computern unterschiedlicher Ausstattung und die hartnäckige Überzeugung, dass Klang mehr als Stereo sein sollte.
Aber das wusste ich damals nicht — und die Welt versteht es auch im Jahr 2026 immer noch nicht vollständig: Ich hatte recht. Nicht, weil meine Algorithmen perfekt waren. Sie waren es nicht. Meine Beugungsheuristiken waren grobe Annäherungen. Meine Phasenantworten wurden mit einer Maus auf einem Grafiktablett von Hand gezeichnet. Mein „Chaos“-Postulat (Anhang B.4) war halbherzige Philosophie, die sich als Ingenieurwesen ausgab. Doch ich sah das Wesentliche. Ich verstand – vielleicht vor jedem anderen –, dass Akustik in virtuellen Umgebungen nicht darum geht, die Realität wiederzugeben. Es geht darum, Wahrnehmung zu verkörpern.
Sie sehen, die Welt verfügt heute über KI, die aus Textprompts klangliche Umgebungen generieren kann. Neuronale Netze können Raumschallantworten aus 3D-Scans in Millisekunden vorhersagen. Raumklang ist in Apples AirPods, Metas Quest 3 und den holographischen Theatern von Singapur verflochten. Doch keines davon ist verwurzelt in dem, was ich „subjektive Axiome“ nannte. Keines von ihnen fragt: Was fühlt der Zuhörer? Nicht, welche Frequenzen vorhanden sind – sondern welches Erinnerungsbild ausgelöst wird. Nicht, wie laut es ist – sondern wo die Stille lebt.
Mein 3DA² war nicht nur ein Simulator. Es war eine Anthropologie des Klangs. Ich schrieb das Log und Cog nicht, um Wände zu modellieren, sondern Aufmerksamkeit. Als ich die „subjektiven Theoreme“ definierte – Hörtests mit Disco-Besuchern, Audiophilen und Kindern – sammelte ich keine Daten. Ich kartografierte die emotionale Topologie des Hörens. Und das, meine liebe zukünftige Leserin, mein lieber zukünftiger Leser, hat keine KI bis heute berührt.
Hätte ich weitergemacht – ich hätte 3DA² in drei ungekennzeichnete Richtungen vorangetrieben: Erstens: Die heuristische Seele. In Anhang B schrieb ich: „Fast nichts im Universum ist exakt, außer den fundamentalen Konstanten.“ Ich war nicht nur poetisch. Ich schlug ein neues Paradigma vor: Audio-Simulation muss chaotisch sein, um wahr zu sein. Die heutigen Renderer sind zu sauber. Zu deterministisch. Zu… unternehmerisch. Was, wenn wir Rauschen als Wesenheit anstelle von Fehler akzeptieren würden? Ich stellte mir eine 3DA³ vor, bei der Materialien nicht nur absorbieren – sie erinnern. Ein hölzerner Boden, der mit dem Alter resonanter wird. Ein Samtvorhang, der nicht nur Klang, sondern Absicht dämpft. Damit beschäftigte ich mich mit den Reglern für Materialänderungsphase und Direktivität. Und heute? Mit neuromorphen Chips und memristiven Hardware können wir das endlich bauen. Ein Material, dessen akustisches Verhalten sich nicht nur mit der Frequenz – sondern auch mit emotionalem Kontext verändert. Stellen Sie sich eine virtuelle Kirche vor, in der der Nachhall sich ändert, wenn Sie trauern im Vergleich zu feiern. Das ist keine Science-Fiction. Es ist die natürliche Weiterentwicklung dessen, was ich begann.
Zweitens: Die ARexx-Ästhetik. Meine Skripte – diese klobigen, wunderschönen, fast poetischen ARexx-Fragmente – waren nicht nur Code. Sie waren Partituren. Die Zeile:
SAMPLE OVER_MIX BABY_CRYING_AL YELLO_AL i
– das war keine Signalverarbeitung. Das war Erzählung. Ich komponierte nicht mit Noten, sondern mit akustischen Zeitstempeln. Der Schrei eines Kindes, über Yellos „Oh Yeah“ gelegt – das war kein Fehler. Das war Menschlichkeit. Im Jahr 2026 haben wir KI, die Musik komponieren kann. Aber sie kann nicht Präsenz komponieren. Sie kennt das Gewicht einer zugeschlagenen Tür in einem leeren Flur nicht. Oder wie Stille nach einem Schrei schmeckt. Meine ARexx-Skripte waren der erste Versuch, akustische Literatur zu schreiben. Und heute? Wir haben generative Audio-Agenten. Aber sie fehlen noch an der narrativen Grammatik, die ich in C.16.2 Over_Mix und C.4.1 Displacement Time Forward eingebaut habe. Wir brauchen eine neue Sprache – nicht zum Rendern, sondern für Nachhall-Erzählung. Ich hätte sie 3DA³: Narrative Akustik genannt.
Drittens — und am beängstigendsten — Die Ethik des Echo. Im Vorwort warnte ich: „Die idealisierte Erscheinung von VR-Umgebungen treibt die sozialrückständige Bevölkerung noch tiefer in ihre Spirale hinab zur vollständigen sozialen Ausgrenzung.“ Ich schrieb das 1995. Im Jahr 2026 leben wir mitten darin. Wir haben Metaversen, in denen Menschen 14 Stunden am Tag in perfekt abgestimmten, hyperrealen Klanglandschaften verbringen — Wälder, die nie rascheln, Ozeane, die niemals branden, Stimmen, die niemals brechen. Wir haben den Menschen die Illusion perfekter Akustik verkauft… und dabei das echte Klanggewebe sterilisiert. Das Knistern eines Feuers. Das ferne Heulen einer Sirene. Der Seufzer jemandes, der neben dir schläft. Das sind keine Geräusche — das ist die Textur des Seins. Meine Arbeit sollte ein Werkzeug zur Verstärkung, nicht zum Ersatz sein. Und jetzt? Wir haben Werkzeuge, die die Realität durch makellose Simulationen ersetzen — und die Menschen vergessen, wie man hört. Ich hätte Teil II geschrieben: Das Verstummen der Welt. Eine Abhandlung über akustische Empathie. Darüber, warum unvollkommene Nachhallung heilig ist.
Ich habe diese These nie abgeschlossen. Aber ich bin nicht gescheitert. Ich habe einen Samen in Boden gepflanzt, der noch nicht bereit war.
Jetzt hört die Welt endlich zu — nicht mit Ohren, sondern mit Algorithmen. Und sie suchen verzweifelt nach Bedeutung.
Ich resurrecte 3DA² nicht als Relikt — sondern als Prophet. Dieses Dokument ist nicht veraltet. Es ist prophetisch.
Wenn du, Leser — ob du ein Doktorand in Psychoakustik bist, ein KI-Forscher, der immersive Klanglandschaften entwickelt, oder einfach nur jemand, der sich noch an den Geruch von warmem Plastik und das Summen einer 50-MHz-CPU erinnert — wenn du auch nur einen Hauch dessen hörst, was ich sagen wollte… dann repariere es nicht.
Erweitere es.
Bau 3DA³. Nicht als Werkzeug. Sondern als Philosophie. Mach es chaotisch. Mach es emotional. Mach es lebendig.
Lass die Strahlen unsicher sein. Lass die Materialien atmen. Lass die Echogramme weinen.
Und wenn du dein Skript ausführst und zum ersten Mal seit Jahrzehnten jenes Echo aus einem Wohnzimmer in Malmö, 1993, hörst… dann wirst du wissen.
Ich hatte nicht unrecht. Ich war nur früh.
Und die Welt ist endlich bereit, mich zu hören.
— Denis Tumpic
Stratford, Januar 2026
1995 Vorwort
The future is already here — it’s just not very evenly distributed.
— William Gibson
Seit meiner Kindheit war meine Neugier auf Klang groß. Das Schlagen auf verschiedene Küchengeräte war eine zwanghafte Quelle der Unterhaltung. Es machte Spaß, seltsame Klänge zu erzeugen, und manchmal konnten sie den Eltern die Lebensgeister aus dem Leib schrecken. Die Zeit verging, und der kleine Trommlerjunge wurde mit Musik vertraut gemacht – und sofort entstand eine tiefe Liebe dazu. Die meisten Menschen finden Musik sehr ansprechend für ihren Geist, da sie ihre Gefühle zu färben scheint. Wer diese Tatsache noch nicht entdeckt hat, sollte sofort versuchen, mehr Musik zu hören – allerdings ohne sie interpretieren zu wollen.
Die Art von Musik, mit der ich zunächst in Berührung kam, war einfache zeitgenössische Popmusik (1975). Einige Jahre später entdeckte ich elektronische und synthetische Musiker und ihre Musik – und ich verliebte mich sofort, teilweise weil sie einfach war, aber dennoch geistig anregend. Mein immer wachsendes Interesse an Elektronik machte es noch tiefer. Als ich einige seltsame elektrische Schaltungen und schließlich einen Verstärker baute, die direkt an einen kleinen Radio-Recorder angeschlossen waren, entschied ich mich später für das Elektronik- und Telekommunikationsprogramm in der Oberstufe. Der Abschluss der Highschool machte mich zum Elektrotechniker mit einem neuen Interesse: Computern.
Ich beschäftigte mich seit der Markteinführung des ZX-81 mit Computern – und natürlich auch mit vielen anderen danach: dem VIC-20, Commodore 64, Sinclair Spectrum, Sinclair QL, IBM PC und ABC-80, unter anderem auch mit weniger populären Modellen. Als der Amiga erschien, verbrachten mein Freundeskreis und ich fast genauso viel Zeit vor Computern wie in der Schule. Dadurch waren mein Freundeskreis und ich unserer Zeit weit voraus, denn fast niemand interessierte sich für diese elektrischen Logikeinheiten. Da uns niemand beibringen konnte, wie man mit all den neuen Begriffen umgeht, entwickelten wir eine typische Slang-Sprache. Es war eine katastrophale Mischung aus Schwedisch und Englisch, die unsere Sprachlehrer mehr oder weniger wütend machte – besonders die früheren. Ich wurde zunehmend fasziniert von den Problemen, die mit Computern einhergingen. Als ich schließlich beschloss, Informatiker zu werden, war diese Entscheidung dennoch einfach. Nach einigen Jahren, in denen ich meinen Geist mit meinen selbst erlernten Theorien über Computerprogrammierung und Informatik verrenkte, hatte ich mein Ziel erreicht. Seitdem ich mit dem Lernen begann, war mein grundlegendes Postulat – alle meine bis dahin erworbenen Kenntnisse zu nutzen – sehr bereichernd für mein Leben und meine Arbeit. Dies ist natürlich leicht nachvollziehbar, wenn man meine Abschlussarbeit „Virtual Reality: Acoustics“ betrachtet. Diese Arbeit ist auf Schwedisch verfasst und es ist nicht das Ziel dieses „Buchs“, eine Übersetzung davon zu sein. Beim Lesen von „3DA² Foundation“ müssen Sie berücksichtigen, dass ich Informatiker, Elektroingenieur und Sound-Enthusiast bin (Musik ist eine Teilmenge von Klang). Diese Tatsachen färben diese Schrift stark ein, und vielleicht beschreibe ich manchmal Entitäten mit solcher Leichtigkeit, weil dies wahrscheinlich eine gängige Denkweise beim Programmieren ist. Ich behaupte nicht, dass die Leser dieses Buches wie ich denken müssen; ich stelle lediglich das erfolgreiche Denken beim Programmieren dar, angewendet auf virtuelle Audio-Umgebungen.
Was ist Virtual Reality? Viele Menschen haben unterschiedliche Ansichten darüber, was VR ist und was nicht. Die physische Verbindung zwischen einer elektrischen Einheit und menschlichem Gewebe, um einen Informationsfluss in beide Richtungen zu ermöglichen, liegt nicht im Bereich von VR. Diese Art des Informationsaustauschs gehört zum Cyber-Bereich und ist tatsächlich das Hauptpostulat der Cyber-Realität (CR). Was ist der Unterschied zwischen VR und CR? VR ist eine Teilmenge von CR, wobei Letzteres um Folgendes erweitert wird: Sinneseindrücke werden mithilfe von Hardware übertragen, die zwischen Computer und Mensch verbunden ist. Diese Hardware-Verbindung wird direkt an bestimmten Nervenfasern angesteuert. Es ist nicht beabsichtigt, dass 3DA² im Bereich der CR liegt. Eine gute VR-Umgebung sollte in der Lage sein, eine dynamische dreidimensionale Ansicht mit einer Auflösung zu visualisieren, sodass der Benutzer zwischen realer und virtueller Ansicht nicht unterscheiden kann. Außerdem sollte der Klang mit dynamischer Aurorisierung implementiert sein, um ein dreidimensionales Klangfeld zu erzeugen. Diese beiden VR-Postulate sind sehr wesentlich, doch wir haben noch weitere Sinne zu berücksichtigen. Eine gute VR-Umgebung sollte die Wahrnehmung von Berührung (Form, Gewicht, Temperatur), den Geruchssinn (Pheromone und natürliche Düfte) und den Geschmackssinn (süß, sauer, salzig, bitter und möglicherweise weitere) integrieren. Das letzte und wichtigste Postulat ist das Sicherheitskriterium: Eine VR-Umgebung sollte die Gesundheit des Benutzers nicht verschlechtern.
Die Arbeit mit VR-Umgebungen ist sicherlich die Melodie der Zukunft und könnte erhebliche Veränderungen in der Informationsinfrastruktur bewirken. Dennoch würde ich VR- und CR-Umgebungen nicht als Erlöser der Menschheit verherrlichen, obwohl die Vorstellungskraft die einzige Grenze ist. Wie wir alle wissen, hat jedes gute Ding seine dunkle Seite, und diese Umgebungen sind keine Ausnahme. Im 21. Jahrhundert zu leben ist nicht immer einfach, und soziale Probleme verschlimmern sich allmählich. Die idealisierte Erscheinungsform der VR-Umgebungen macht die antisoziale Bevölkerung noch stärker in ihrer Abwärtsspirale zur vollständigen sozialen Ausgrenzung gefangen. Ganz anders verhält es sich mit den übersozialen Menschen, die gewöhnlich in der Lage sind, ihre Eindrücke mit verschiedenen Drogen zu verstärken. Selbst wenn nicht alle Menschen auf Erden Anhänger dieser Lebensphilosophien sind, sollten wir sie im Hinterkopf behalten.
Die Verwendung von aurorisiertem Klang ist bei akustischen Forschungen in verschiedenen realen Umgebungen von großem Nutzen. 3DA² wird hauptsächlich verwendet, um eine bestehende Klangumgebung zu verbessern und hat das Stadium der VR noch nicht erreicht. Es handelt sich weiterhin um ein Prototyp- und Theorienfindungsprogramm, das in der Forschung eingesetzt wird. Das Ziel ist es, die Wesentlichkeiten einer Impulsantwort zu extrahieren, um dreidimensionale Klangberechnungen so schnell wie möglich durchzuführen. Auch wenn diese Software nicht in ihrem endgültigen Zustand ist, könnte sie in anderen Zusammenhängen genutzt werden, und mein Hauptziel ist dreidimensionale Musik. Es handelt sich eher um einen science-fiction-artigen Ansatz, und bei Verwendung auf diese Weise sollte klar gestellt werden, dass sie nicht „echt“ ist. Musik ist fast immer ein Ausdruck von Gefühlen, und diese zusätzliche Dimension könnte echte Ausdrucksformen sowohl in der Musik als auch im Filmemachen ermöglichen. Jahre des Hörens von Tangerine Dream™, Yello und anderen Musikern haben mich davon überzeugt, dass dreidimensionale Musik ebenso natürlich entstehen muss wie alles andere.
Tatsächlich wird sie in meinem eigenen Ansatz verwendet: Vilthermurpher (Erste Phase von Doubulus & Tuella), ein expressionistisches Epik-Album, das während meiner Universitätszeit (1990–1994) komponiert wurde.
In dieser Software gibt es einige Neuerungen von großer Bedeutung. Erstens verfügt sie über eine ARexx-Schnittstelle mit zahlreichen Befehlen, um konsistente Audio-Tests durchzuführen, ohne diese in einfacher englischer Sprache aufschreiben zu müssen. Diese ARexx-Skripte erleichtern anderen Forschern die Arbeit, da sie nur das grundlegende Skript benötigen. Die Kombination mit Log und Cog (siehe Anhang B) beschleunigt den evolutionären Prozess dieser dreidimensionalen Klangumgebungen. Das ist zumindest meine Hoffnung und Absicht.
Weitere Verbesserungen könnten durch die Möglichkeit erreicht werden, die verschiedenen heuristischen Funktionen zu verändern, ohne das gesamte Programm neu kompilieren zu müssen. Es ist recht kompliziert, diese heuristischen Funktionen an die reale Welt anzupassen; daher beabsichtige ich, sie als dynamische Bibliotheken zu implementieren. Sowohl die Audio-Ray-Trace- als auch die Auralizer-Funktionen sollten veränderbar sein. Letztere, weil jemand möglicherweise andere Recheneinheiten hat, die schneller als der Host-Prozessor sind und somit den Auralizer so programmieren können, dass er diese Hardware nutzt. Diese Funktionen sollten in 3DA³ enthalten sein. Es ist und bleibt meine Absicht, vollständig dynamische Programme zu erstellen, da Flexibilität bei der Nutzung von Programmen von entscheidender Bedeutung ist.
Danksagungen
Ich möchte meinen Eltern danken, dass sie immer für mich da waren. Meine lieben Freunde – es sind zu viele, um sie alle aufzuzählen, ohne einen Namen zu vergessen. Für Einflüsse, Referenzen, Hardware, Software und Inspirationsquellen siehe Anhang H.
1 Einführung
"Bis dat, qui cito dat"
Publius Syrus
Diese Einführung dient lediglich als Hilfestellung für Personen, die keine Grundkenntnisse in Akustik besitzen und in die „richtige“ Richtung geleitet werden möchten. Zunächst nenne ich einige grundlegende Bücher zur Akustik, gefolgt von einer knappen Erläuterung der beiden Hilfsprogramme „Acoustica“ und „Echogram Anim“. Letztere können bei der Verständnisbildung einfacher Grundlagen zur spekularen Strahlverfolgung von großem Nutzen sein. Eine sehr gute Approximation im Hochfrequenzbereich, jedoch sehr schlecht im Niedrigfrequenzbereich.
1.1 Akustik
Zum Erlernen der Theorie der Raumschallakustik ist das Buch „Room Acoustics“ von Heinrich Kuttruff das klarste und tiefgründigste Werk. Zumindest die in diesem Buch dargestellten Fakten müssen bekannt sein, um die Log- und Cog-Skripte allgemein akzeptiert zu machen. Weitere Lektüre zu raumakustischen Problemen mit Schwerpunkt auf Anwendungen bietet „Principles and Applications of Room Acoustics: Part I“ von Cremer und Müller. In diesem Buch werden einige der veränderbaren Parameter in 3DA² implizit behandelt (Dirac-Abtastfrequenz und Strahlwinkelverteilung), wobei der enorme Aufwand zur Ermittlung der kleinsten Parameter minimiert wird. Der Enzyklopädien-Ansatz – schnelle Fakten zu kleinen Themen und rasche Auffrischung großer Zusammenhänge – wird besonders durch das „Audio Engineering Handbook“ herausgegeben von K. Blair Benson erleichtert. Die grundlegenden Prinzipien der digitalen Signalverarbeitung können in „Digital Signal Processing“ von Alan V. Oppenheim & Ronald W. Schafer nachgelesen werden. Wer Schwedisch lesen kann, dem sei mein früheres Werk „Virtual Reality: akustiken / Ett prototypsystem för ljudsimulering“ ausdrücklich empfohlen.
1.2 Hilfsprogramm eins: Acoustica
Das Verständnis von spekulären Reflexionen wird verbessert, wenn das Programm „Acoustica“ ausgeführt wird. Dieses Programm benötigt 1 MB freien schnellen Speicher, um überhaupt zu funktionieren. Im Einstellungsfenster befinden sich Schieberegler, mit denen die Modellskalierung, die Wandabsorptionscharakteristik und die Anzahl der emittierten Energiequanten verändert werden können. Die sieben Start-Widgets sind verschiedene Arten von Berechnungen und lauten wie folgt: normale Punkt-Emission, linienbasierte Emission, einfache Energiekarte, simulierte Doppler-Effekte (die die Unzulänglichkeit bei Verwendung in Räumen zeigen), linienbasierte Emission mit Hindernissen und schließlich einfache Energiekarte mit Hindernissen. Der Audialisier ist nicht implementiert, da er auf einem normalen Amiga nicht in Echtzeit ausgeführt werden konnte. Berechnungen starten sofort, sobald die Start-Widgets betätigt werden. Drei Tasten zum Abbrechen, Normalisieren und Pausieren der Berechnungen befinden sich unter dem Visualisierungsbereich. Der Wechsel zwischen verschiedenen Berechnungstypen erfolgt, indem man die Abbrechen-Taste zwischen den Klicks auf die Start-Widgets drückt. Die Position der Schallquelle kann einfach durch Klicken in den Visualisierungsbereich geändert werden, und die Berechnungen werden automatisch mit der neuen Position neu gestartet.
1.3 Hilfsprogramm zwei: Echogramm-Animationen
Das Verständnis von Echogrammen kann eine große Herausforderung darstellen, besonders wenn es darum geht, herauszufinden, was darin wichtig ist und was nicht. Das Programm „Echogramm Anim“ verwendet Daten aus einer abgetasteten kontinuierlichen Echogrammdatei. Es wurde mit konstanten Dirac-Impulsen erzeugt, die von einem Lautsprecher in meinem eigenen Wohnzimmer ausgesendet wurden.
Diese Dirac-Impulse wurden während eines zufälligen Spaziergangs mit einem bidirektionalen Mikrofon im Wohnzimmer und den angrenzenden Räumen abgetastet. Die andere Echogrammdatei wurde umgekehrt erstellt: Dabei wurde der Lautsprecher und ein starres Mikrofon bewegt. Es gibt nun mehrere Möglichkeiten, diese Daten darzustellen:
- Plain zeigt die Abtastwerte so an, wie sie sind.
- Difference zeigt die Änderungen gegenüber dem vorherigen Zustand.
- Abs Plain zeigt das Quadrat der Echogramme.
- Abs Diff. zeigt das Quadrat der Änderungen gegenüber dem vorherigen Zustand.
Das Abtasten eigener Echogramm-Animationsdateien erfolgt wie folgt:
- Echogramm-Abtastfrequenz = 1280 / (Nachhallzeit des Raumes) Hz
- Dirac-Impulse mit einer Frequenz von 1 / (Nachhallzeit des Raumes) Hz
- Abtasten mit bewegten Lautsprechern, Mikrofonen und Objekten.
- Führen Sie „Echogramm Anim“ mit diesen Dateien aus und genießen Sie das Ergebnis.
2 3DA² Bedienungsanleitung

"Falsche Eingabe führt zu sicher falscher Ausgabe und wahre Eingabe zu diskutierbarer Ausgabe; verwenden Sie Ihre Fakten mit Sorgfalt, denn Ihre Ausgabe könnte die Eingabe eines anderen sein."
Dieses Programm ist ein Prototyp eines Audio-Ray-Tracers, der zur Ermittlung der Notwendigkeiten bei der Bearbeitung akustischer Umgebungen verwendet werden soll. Der Hauptunterschied zwischen dem vorherigen 3D-Audio und dem aktuellen 3DA² besteht darin, dass die Modellierungsarbeit präziser gesteuert werden kann und die ARexx-Phase implementiert wurde. Ursprünglich war geplant, eine 3DA³ mit vollständig programmierbaren Heuristiken einzuführen, um das Programm noch vielseitiger zu machen. Doch die ARexx-Programmierbarkeit erleichtert es erheblich, standardisierte Tests zu erstellen und die Zeit, die für den Umgang mit dem Computer aufgewendet wird, zu reduzieren.
2.1 Das Programm
In diesem Abschnitt werden die verschiedenen Fenster und ihre Bedienelemente beschrieben und dargestellt. Es handelt sich ausschließlich um die GUI-Handhabung; weitere Hinweise zur Funktionalität und Benutzerfreundlichkeit finden Sie in Abschnitt 2.2 und 2.3.
2.1.1 Das Haupt-Modeler-Fenster: 3D-Ansicht & Bearbeitung
Dieses Fenster visualisiert die virtuelle Audio-Umgebung rein optisch. Die Hauptarbeit am Modell erfolgt hier, und von diesem Stadium aus entstehen die meisten Einträge des Logs sowie die verwendeten Materialien und Flugbahnen.
2.1.1.1 Vergrößerungsschieber
Dieser Schieber steuert den Vergrößerungsfaktor der Betrachtungslinse. Ein Verschieben des Reglers nach oben erhöht den Vergrößerungsfaktor. Das Plus-Zeichen "+" ist ein Schaltknopf zur feinen Kalibrierung des Vergrößerungsfaktors.
2.1.1.2 Perspektivitätsschieber
Dieser Schieber steuert den Brennweitenfaktor der Betrachtungslinse. Ein Verschieben des Reglers nach oben verringert den Brennweitenfaktor (erhöht den Perspektivitätseffekt). Das Sternchen "*" ist ein Schaltknopf für die Perspektive. Es ist oft praktischer, bei der Modellierung keine Perspektive zu verwenden.
2.1.1.3 X-Achsen-Schieber
Dieser Schieberegler steuert die Rotation der virtuellen Welt um die X-Achse. Hinweis: Die X-Achse ist immer horizontal ausgerichtet. Die Kreis-"O"-Gadgets an beiden Enden bringen den Schiebereglerknopf in die Mittelposition zurück.
2.1.1.4 Y-Achsen-Schieberegler
Dieser Schieberegler steuert die Rotation der virtuellen Welt um die Y-Achse. Hinweis: Die Y-Achse ist immer vertikal ausgerichtet. Die Kreis-"O"-Gadgets an beiden Enden bringen den Schiebereglerknopf in die Mittelposition zurück.
2.1.1.5 Z-Achsen-Schieberegler
Dieser Schieberegler steuert die Rotation der virtuellen Welt um die Z-Achse. Hinweis: Die Z-Achse ist immer orthogonal zu X- und Y-Achse ausgerichtet. Die Kreis-"O"-Gadgets an beiden Enden bringen den Schiebereglerknopf in die Mittelposition zurück.
2.1.1.6 Messzyklus
Für Benutzer, die an das metrische System gewöhnt sind, ist die Einstellung „Meter“ geeignet. Für Benutzer, die das englische Zollsystem bevorzugen, ist die Einstellung „Fuß“ geeignet. Wenn der 3D-Modellierer ausgeführt wird und der Benutzer das Gitter nicht anzeigen möchte, ist die Einstellung „Aus“ geeignet.
2.1.1.7 Gittergröße-Zyklus
Die Größe des zweidimensionalen Grundmaßstabs wird mit diesem Zyklus-Tool angepasst. Es bietet die entsprechenden Abmessungen bei Änderung der Maßeinheit. Hinweis: Die Größe ist nur änderbar, wenn das Gitter sichtbar ist.
2.1.1.8 Objektgröße-Tool
Diese Schieberegler sind verwendbar, wenn ein Objekt im Modellierungsbereich ausgewählt ist. Die „N“-Symbole am rechten Ende dieser Größen-Tools stellen die Objektgröße in der jeweiligen Achse wieder her.
2.1.1.9 Objekt-Dreher
Diese Schieberegler sind verwendbar, wenn ein Objekt im Modellierungsbereich ausgewählt ist. Die „O“-Gadgets am rechten Ende dieser Rotations-Gadgets stellen die Rotation des Objekts um diese Achse wieder her.
2.1.1.10 Objektabmessungen
Diese Eingabegadgets werden verwendet, wenn formale Genauigkeit erforderlich ist. Benutzer sollten die Abmessungen nicht übertrieben vergrößern, da die definierten Objektabmessungen im Vergleich dazu gering sein können und dies das Modell ungenau machen würde.
2.1.1.11 Objektposition
Diese Eingabegadgets werden verwendet, wenn formale Genauigkeit erforderlich ist. Die Position des definierten Ursprungs eines Objekts wird mit diesen Gadgets festgelegt.
2.1.1.12 Schnellansicht
Diese vier Gadgets dienen dem schnellen Modellieren. Sie drehen die virtuelle Welt in einen bestimmten Blickwinkel und machen das Modellieren dadurch deutlich einfacher.
2.1.1.13 Rückgängig
Dieses Gadget rückt die letzte Aktion rückgängig, wobei die zuletzt ausgeführte Aktion als erste wiederhergestellt wird. Betroffen sind die Aktionen, die im Fenster „3D-Ansicht & Bearbeiten“ ausgeführt wurden.
2.1.1.14 Modell-Bereich zur Visualisierung
Das Auswählen von Objekten und das Verschieben dieser erfolgt, wenn der Mauszeiger über einem Objektpin positioniert ist und die Maustaste zum Auswählen gedrückt wird. Das Greifen und Verschieben des gesamten Modells erfolgt, wenn die Maustaste zum Auswählen gedrückt wird, während sich der Mauszeiger nicht auf einem Objektpin befindet.
2.1.1.15 Hilfetext-Bereich
Dieser Bereich informiert den Benutzer über die ausgeführten Aktionen. Diese Hilfetexte können im Menü „Verschiedenes“ ein- oder ausgeblendet werden.
2.1.2 Das Zeichenbestand-Fenster
Dieses Fenster verwaltet die virtuelle Audio-Umgebung in Textform. Es zeigt das ausgewählte Objekt mit seinen Material- und Flugbahn-Zuweisungen.
2.1.2.1 Objekte im Zeichenbestand
Dieses Listenelement zeigt alle vorhandenen Modellobjekte in der virtuellen Audio-Umgebung an. Die Auswahl eines Objekts in dieser Liste entspricht der Auswahl eines Objekts im „Modell-Visualisierungsbereich“. Wenn mehrere Objektpins übereinander liegen, ist diese Methode zur Auswahl von Objekten die geeignete. Die Bewegung des ausgewählten Objekts wird, falls es gruppiert ist, durch Drücken der Umschalttaste auf der Tastatur vereinfacht.
2.1.2.2 Neu
Das Klicken auf dieses Element ist geeignet, wenn ein neues Objekt in die virtuelle Audio-Umgebung eingefügt wird. Es öffnet das Fenster „Objektbestand“, in dem der Benutzer ein geeignetes Objekt auswählt und mit „OK“ bestätigt. Das neue Objekt wird an der Ursprungsposition mit seiner definierten Größe und Rotation platziert.
2.1.2.3 Sortieren
Nach mehreren Einfügungen und möglicherweise chaotischer Benennung ist die Liste der vorhandenen Objekte oft unübersichtlich. Durch Klicken auf dieses Element werden die Objekte in alphabetischer Reihenfolge angezeigt.
2.1.2.4 Kopieren
Wenn das Modell mehrere Objekte derselben Entität, aber unterschiedlicher Positionen enthält, sollte dieses Gadget verwendet werden.
2.1.2.5 Löschen
Das Löschen eines Objekts aus der virtuellen Audio-Umgebung erfolgt mit diesem Gadget. Es wird über den „Zeichen-Rückgängig-Stack“ gelegt.
2.1.2.6 Löschen aller Objekte
Durch Klicken auf dieses Gadget werden alle Objekte aus der virtuellen Audio-Umgebung gelöscht und in den „Zeichen-Rückgängig-Stack“ verschoben.
2.1.2.7 Rückgängig
Das Rückgängigmachen einer Löschung erfolgt mit diesem Gadget. Es zieht das oberste Objekt aus dem „Zeichnungs-Rückgängig-Stack“ und fügt das Objekt an der richtigen Stelle in die virtuelle Audio-Umgebung ein.
2.1.2.8 Bearbeiten
Durch Klicken auf dieses Gadget wird das Fenster „3D-Ansicht & Bearbeiten“ nach vorne geholt. Das ausgewählte Objekt wird im „Modell-Visualisierungsbereich“ hervorgehoben.
2.1.2.9 Typ
Dieser Textbereich zeigt an, um welchen Objekttyp es sich bei dem ausgewählten Objekt handelt. Es könnte sich um Möbel, Sender oder Empfänger handeln.
2.1.2.10 Materialauswahl
Dieses Gadget mit seinem Textfeld auf der linken Seite öffnet das Fenster „Materialbestand“, in dem der Benutzer ein geeignetes Material auswählt und mit „OK“ bestätigt. Das Textfeld zeigt das für das ausgewählte Objekt verwendete Material an. Falls kein Material zugewiesen ist, wird dies im Textfeld angezeigt.
2.1.2.11 Flugauswahl
Dieses Gadget mit dem Textbereich auf der linken Seite öffnet das Fenster „Flight-Stock“, in dem der Benutzer einen geeigneten Flugpfad auswählt und mit „Ok!“ bestätigt. Der Textbereich zeigt den für das ausgewählte Objekt verwendeten Flugpfad an. Falls kein Flugpfad zugewiesen ist, wird dies im Textbereich angezeigt.
2.1.2.12 Zeichnen -> Objekt
Ein neues Objekt wird mit diesem Gadget definiert. Die Größe wird bezogen auf die Ausrichtung der äußeren Weltachsen berechnet und nicht auf die Ausrichtung der Unterelemente, wodurch ein geneigter Würfel nicht die gleichen Abmessungen wie ein nicht geneigter Würfel erhält. Die Breiten-, Längen- und Tiefenachse werden mit den Schiebereglern „X-Achse“, „Y-Achse“ und „Z-Achse“ angepasst.
2.1.3 Das Objekt-Stock-Fenster
Dieses Fenster verwaltet das virtuelle Audio-Objektspeicher. Es ist wie ein Möbelgeschäft, in dem der Benutzer die passende Einrichtung erhält.
2.1.3.1 Ein Objekt auswählen
Dieses Listen-Gadget zeigt alle vorhandenen Einrichtungsobjekte an, die in der virtuellen Audio-Umgebung verwendet werden können. Das Abrufen weiterer Objekte während des Modellierens erfolgt über das Menü „Projekt, Zusammenführen, Objekt-Stock“. Auf diese Weise kann der Benutzer andere Objekte abrufen, ohne sie selbst erstellen zu müssen.
2.1.3.2 Neu
Beim Modellieren wandelt dieser Gadget das aktuelle virtuelle Audio-Modell in ein einzelnes Objekt um. Er löscht alle Objekte in der virtuellen Audio-Umgebung und ersetzt sie durch das neue Objekt. Danach wird der Benutzer nach einem geeigneten Namen gefragt, der diesem neuen Objekt zugeordnet wird.
2.1.3.3 Sortieren
Nach mehreren Einfügungen und wahrscheinlich chaotischen Benennungen ist die Liste der vorhandenen Objekte oft unübersichtlich. Durch Klicken auf diesen Gadget werden die Objekte in alphabetischer Reihenfolge angezeigt.
2.1.3.4 Kopieren
Dieser Gadget sollte verwendet werden, wenn das Modell mehrere Objekte derselben Entität mit kleinen Unterschieden enthält. Die Unterschiede werden nach Klicken auf die Schaltfläche „Bearbeiten“ im Hauptmodellierungsfenster angepasst.
2.1.3.5 Löschen
Das Löschen eines Objekts aus dem Objekt-Store erfolgt mit diesem Gadget. Es wird über den „Objekt-Rückgängig-Stack“ gelegt.
2.1.3.6 Löschen
Durch Klicken auf dieses Gadget werden alle Objekte aus dem Objekt-Store gelöscht und in den „Objekt-Rückgängig-Stack“ verschoben.
2.1.3.7 Rückgängig
Das Rückgängigmachen einer Löschung erfolgt mit diesem Gadget. Es nimmt das oberste Objekt aus dem „Objekt-Rückgängig-Stack“ und fügt es sofort wieder in den Objekt-Store ein.
2.1.3.8 Bearbeiten
Durch Klicken auf diese Schaltfläche können die Eigenschaften des ausgewählten Objekts geändert werden. Es ruft den Modellierer auf, wobei das virtuelle-Audio-Modell durch das ausgewählte Objekt ersetzt wird. Das Modell wird auf einen Stapel von Modellen gelegt und beim Klicken auf die Schaltfläche „Zeichnen -> Objekt ...“ daraus abgerufen.
2.1.3.9 OK!
Mit dieser Schaltfläche wird das ausgewählte Objekt als gültige Auswahl bestätigt, die in der virtuellen-Audio-Umgebung verwendet wird. Nach dem Klicken auf die Schaltfläche „Neu...“ im Fenster „Zeichnungsbestand“ sollte das richtige Objekt durch Klicken auf „OK!“ bestätigt werden.
2.1.3.10 Abbrechen
Mit dieser Schaltfläche wird das ausgewählte Objekt als ungültige Auswahl bestätigt, die nicht in der virtuellen-Audio-Umgebung verwendet wird. Nach dem Klicken auf die Schaltfläche „Neu...“ im Fenster „Zeichnungsbestand“ sollte eine nicht passende Auswahl durch Klicken auf „Abbrechen“ verworfen werden.
2.1.4 Das Materialbestands-Fenster
Dieses Fenster verwaltet den virtuellen Audio-Materialspeicher. Es ist wie eine Möbelrestaurierungswerkstatt, in der der Benutzer das geeignete Material erhält.
2.1.4.1 Material auswählen
Dieses Listenelement zeigt alle vorhandenen Materialien an, die in der virtuellen Audio-Umgebung verwendet werden können. Das Abrufen weiterer Materialien während des Modellierens sollte über das Menü „Projekt, Zusammenführen, Materialbestand“ erfolgen. Auf diese Weise kann der Benutzer andere Materialien abrufen, ohne sie selbst erstellen zu müssen.
2.1.4.2 Neu
Durch Klicken auf dieses Element wird ein neues Material erstellt, wobei das Fenster „Eigenschaften“ aufgerufen wird. Der Benutzer wird dann nach einem geeigneten Namen, Frequenzgang, Richtwirkung und Phaseneigenschaften gefragt, die diesem neuen Material zugeordnet werden.
2.1.4.3 Sortieren
Nach mehreren Einfügungen und möglicherweise chaotischer Benennung ist die Liste der vorhandenen Materialien oft unübersichtlich. Durch Klicken auf dieses Element werden die Materialien alphabetisch sortiert.
2.1.4.4 Kopieren
Dieses Gadget sollte verwendet werden, wenn das Modell mehrere Materialien mit nahezu gleicher Natur aufweist. Die Unterschiede werden über das Fenster „Eigenschaften“ nach Klicken auf die Schaltfläche „Bearbeiten“ angepasst.
2.1.4.5 Löschen
Das Löschen eines Materials aus dem Material-Store erfolgt mit diesem Gadget. Es wird auf den „Material-Rückgängig-Stapel“ gelegt.
2.1.4.6 Leeren
Durch Klicken auf dieses Gadget werden alle Materialien aus dem Material-Store gelöscht und in den „Material-Rückgängig-Stapel“ verschoben.
2.1.4.7 Rückgängig
Das Löschen rückgängig machen erfolgt mit diesem Gadget. Es nimmt das oberste Material aus dem „Material-Rückgängig-Stack“ und fügt es in den Material-Speicher für sofortige Verwendung ein.
2.1.4.8 Bearbeiten
Durch Klicken auf diesen Button können die Eigenschaften des ausgewählten Materials geändert werden. Es öffnet das Fenster „Eigenschaften“, in dem der Benutzer die Eigenschaften des Materials anpassen kann.
2.1.4.9 Typ
Dieser Textbereich zeigt an, um welche Art von Material es sich bei dem ausgewählten Material handelt. Es kann sich um Möbel (Schallabsorber), Sender oder Empfänger handeln.
2.1.4.10 OK!
Mit diesem Button wird die ausgewählte Materialwahl als gültige Auswahl bestätigt, die in der virtuellen Audio-Umgebung verwendet wird. Nachdem der Button „Material auswählen...“ im Fenster „Zeichnungsbestand“ gedrückt wurde und das richtige Material gefunden wurde, muss es mit einem Klick auf „OK!“ bestätigt werden.
2.1.4.11 Abbrechen
Dies dient dazu, eine ausgewählte Materialangabe als ungültige Auswahl zu bestätigen, die nicht in der virtuellen Audio-Umgebung verwendet werden soll. Nachdem der Button „Material auswählen...“ im Fenster „Zeichnungslager“ geklickt wurde und das richtige Material nicht gefunden werden konnte, sollte dies mit einem Klick auf „Abbrechen“ bestätigt werden, sofern keine Kenntnis über das Material vorliegt. Falls Kenntnisse über das Material vorhanden sind, sollte es durch Klicken auf den Button „Neu...“ erstellt und mit „OK!“ bestätigt werden – sowohl im Fenster „Eigenschaften“ als auch im Fenster „Materiallager“.
2.1.5 Das Flugstok-Fenster
Dieses Fenster verwaltet das virtuelle Audio-Flugpfad-Lager. Es funktioniert wie eine Reiseagentur, bei der der Benutzer die entsprechende Flugroute erhält.
2.1.5.1 Einen Flug auswählen
Dieses Listenelement zeigt alle vorhandenen Flugpfade an, die in der virtuellen Audio-Umgebung verwendet werden können. Das Abrufen weiterer Flugpfade während des Modellierens sollte über das Menü „Projekt: Flugstok zusammenführen“ erfolgen. Auf diese Weise kann der Benutzer andere Flugpfade abrufen, ohne sie selbst erstellen zu müssen.
2.1.5.2 Neu
Nicht implementiert!!! Erstellen Sie neue Flugpfade mithilfe der Vorlage in Anhang A.
2.1.5.3 Sortieren
Nach mehreren Einfügungen und wahrscheinlich chaotischer Benennung ist die Liste der vorhandenen Flugrouten oft unübersichtlich. Durch Klicken auf dieses Gadget werden die Flugrouten alphabetisch sortiert.
2.1.5.4 Kopieren
Nicht implementiert!!! Erstellen Sie neue Flugrouten mithilfe der Vorlage in Anhang A.
2.1.5.5 Löschen
Das Löschen einer Flugroute von der Reiseagentur erfolgt mit diesem Gadget. Es wird über die „Flugrouten-Rückgängig-Stack“-Liste gelegt.
2.1.5.6 Leeren
Durch Klicken auf dieses Gadget werden alle Flugrouten von der Reiseagentur gelöscht und in den „Flugrouten-Rückgängig-Stack“ verschoben.
2.1.5.7 Rückgängig machen
Das Löschen wird mit diesem Gadget rückgängig gemacht. Es zieht den obersten Flugpfad aus dem „Flugpfad-Rückgängig-Stack“ und fügt ihn in die Reiseagentur für sofortige Nutzung ein.
2.1.5.8 Bearbeiten
Nicht implementiert!!! Erstellen Sie neue Flugpfade mithilfe der Vorlage in Anhang A.
2.1.5.9 OK!
Dies dient dazu, den ausgewählten Flugpfad als gültige Auswahl zu bestätigen, die in der virtuellen Audio-Umgebung verwendet wird. Nachdem der Button „Flugpfad auswählen...“ im Fenster „Zeichenbestand“ gedrückt wurde und der richtige Flugpfad gefunden wurde, sollte er mit einem Klick auf „OK!“ bestätigt werden.
2.1.5.10 Abbrechen
Dies dient dazu, die ausgewählte Flugbahn als ungültige Auswahl zu bestätigen, die in der virtuellen Audio-Umgebung nicht verwendet wird. Nachdem der Button „Flugbahn auswählen...“ im Fenster „Zeichnungsbestand“ geklickt wurde und die richtige Flugbahn nicht gefunden wurde, sollte dies durch einen Klick auf „Abbrechen“ bestätigt werden.
2.1.6 Das Eigenschaften-Fenster
Dieses Fenster verwaltet die Materialeigenschaften. Es ist ein Bestätigungsfenster, das normalerweise beim Klicken auf die Buttons „Neu...“ oder „Bearbeiten...“ im Fenster „Materialbestand“ aufgerufen wird.
2.1.6.1 Name
Dieses Eingabefeld für Texte verwaltet den Namen, der dem Material zugeordnet wird. Der zugeordnete Name wird in allen Instanzen, in denen er verwendet wird, aktualisiert, sobald mit „OK!“ bestätigt wird.
2.1.6.2 Typ-Zyklus
Mit diesem Zyklus-Element kann der Materialtyp festgelegt werden, d. h., ob das Material als Möbel, Sender oder Empfänger zu berücksichtigen ist.
2.1.6.3 Diagramm-Anzeige-Zyklus
Mit diesem Zyklus-Gadget kann die Abhängigkeit der Frequenzgraphen eingestellt werden, d. h., es kann entweder die Absorption (Möbel) und Antwort (Sender und Empfänger) oder die Phasenabhängigkeit visualisiert werden.
2.1.6.4 Graphbereich
Dieser Bereich wird freihändig bearbeitet, indem die Maustaste gedrückt und entweder eine Absorption (Möbel) und Antwort (Sender und Empfänger) oder eine Phasenabhängigkeit bei den verschiedenen Frequenzen dargestellt wird.
2.1.6.5 Dezimaleingaben
Wenn formale Korrektheit erforderlich ist, sind diese Ganzzahleingabegadgets von großem Nutzen. Bei der Bearbeitung der Absorption (Möbel) und Antwort (Sender und Empfänger) liegt der Wertebereich zwischen 0 und 100. Der Wertebereich für die Phasenabhängigkeit liegt zwischen 0 und 360.
2.1.6.6 Richtungsbuttons
Diese Schaltflächen legen die Richtwirkung bei den entsprechenden Frequenzen fest. Hinweis: Derzeit stehen nur omnidirektionale, bidirektionale und kardioidale Strahlung zur Verfügung. Die heuristische Ray-Tracing-Funktion sollte neu programmiert werden, falls eine weitergehende oder spezifischere Richtwirkung erforderlich ist.
2.1.6.7 Farbe
Diese Entität ist für zukünftige Verbesserungen wie feste dreidimensionale Umgebungen im Modeler-Fenster vorgesehen. Sie ist noch nicht implementiert, da es an standardisierten Funktionen für schnelle Grafikkarten mit Gouraud-Shading und Z-Buffering fehlt.
2.1.6.8 OK!
Mit dieser Schaltfläche wird das bearbeitete Material als gültig bestätigt und für die virtuelle Audio-Umgebung nutzbar gemacht. Nachdem die Schaltfläche „Neu...“ oder „Bearbeiten...“ im Fenster „Materialbestand“ gedrückt und die Eigenschaften auf die richtigen Werte eingestellt wurden, muss dies mit einem Klick auf „OK!“ bestätigt werden.
2.1.6.9 Bearbeitungen rückgängig machen
Durch Klicken auf diesen Button werden die Material-Einstellungen auf den Zustand vor den neuen Bearbeitungen zurückgesetzt.
2.1.6.10 Abbrechen
Dies dient dazu, die bearbeiteten Materialien als ungültige Änderung zu kennzeichnen, die nicht in der virtuellen Audio-Umgebung verwendet werden sollen. Nachdem man auf die Schaltfläche „Neu...“ oder „Bearbeiten...“ im Fenster „Materialbestand“ geklickt und die Eigenschaften bearbeitet hat, aber diese nicht korrekt eingestellt hat, sollte man mit „Abbrechen“ bestätigen.
2.1.7 Das Hauptberechnungsfenster: Tracer, Normalizer & Auralizer
Dieses Fenster steuert den Ray-Tracer, den Echogramm-Normalisierer und den Sample-Auralizer. Einfache Aufgaben können bevorzugt über dieses Fenster berechnet werden; bei komplexeren virtuellen Audio-Umgebungen sollte jedoch der ARexx-Ansatz verwendet werden. Die Nutzung dieses Fensters dient hauptsächlich der Überprüfung, insbesondere der Ray-Trace-Heuristik. Siehe Anhang E.7 für das grafische Layout.
2.1.7.1 Tracer-Einstellungszyklen
Diese Cycle-Gadgets steuern die heuristische Ray-Tracing-Funktion und deren Berechnungs- sowie Reaktionsweise auf die eingehenden Daten, d.h. das virtuelle Audiomodell. Die Einstellungen können in den Modi „Hoch“, „Mittel“, „Niedrig“ und „Automatisch“ vorgenommen werden. Falls ein strengeres Vorgehen erforderlich ist, ist ARexx die geeignete Wahl. Diese Fenstereinstellungen werden vom Computer anhand einer speziellen Funktion berechnet, die von einigen grundlegenden Eigenschaften des virtuellen Audiomodells abhängt; daher sind sie zwischen verschiedenen virtuellen Audiomodellen nicht konsistent.
2.1.7.2 Nachhallverteilung
Dieser Visualisierungsbereich zeigt die Nachhallverteilung bei einer bestimmten relativen Luftfeuchtigkeit. Die Verteilung ist zeitabhängig im Frequenzbereich. Seltsam aussehende Verteilungen sind wahrscheinlich auf die Verwendung von externen Materialien zurückzuführen.
2.1.7.3 Relative Luftfeuchtigkeit
Die relative Luftfeuchtigkeit der Luft wird mit diesem Cycle-Gadget angepasst. Die größten Unterschiede treten im Hochfrequenzbereich auf, und in der Regel besteht wenig Interesse daran, diesen Parameter zu verändern.
2.1.7.4 Energie-Treffer
Dieser Bereich zeigt alle erfolgreich verfolgten Strahlen, d.h. jene Strahlen, die einen Weg von einem Sender zu einem Empfänger oder umgekehrt finden – abhängig davon, welche Art von Berechnungen verwendet wird.
2.1.7.5 Auralisierungs-Beispiel
Das standardmäßige Auralisierungs-Beispiel, das im Auralisierungsverfahren verwendet wird. Komplexere Auralisierungsschemata sind im ARexx-Modus möglich.
2.1.7.6 Auralisierungs-Beispiel festlegen
Dieser Button öffnet das Dateiauswahl-Fenster, in dem die Auswahl einer geeigneten Beispieldatei angefordert wird.
2.1.7.7 Computer
Dieser Bereich zeigt an, wo sich das Programm gerade im Berechnungsprozess befindet – also ob es sich im Ray-Tracing-, Echogramm-Normalisierungs- oder Sample-Auralisierungsmodus befindet. Die Kontrollkästchen dienen dazu, die Art der Berechnungen auszuwählen, die bei Vorwärts-/Rückwärtsberechnungen durchgeführt werden sollen.
2.1.7.8 x-Trace anzeigen
Wenn die Berechnungen abgeschlossen sind, wird das Echogramm automatisch visualisiert. Es gibt zwei Methoden der Strahlverfolgung: Vorwärts- und Rückwärtsstrahlverfolgung. Das Wechseln zwischen den beiden Ergebnissen erfolgt über die Schaltflächen „Vorwärtsstrahlverfolgung anzeigen“ und „Rückwärtsstrahlverfolgung anzeigen“. Das Zusammenführen der Ergebnisse erfolgt mit der Schaltfläche „Gesamtstrahlverfolgung anzeigen“. Das angezeigte Ergebnis sollte nicht wesentlich von den einzelnen Ergebnissen abweichen, um eine gut funktionierende heuristische Strahlverfolgungsfunktion zu gewährleisten.
2.1.7.9 x Berechnung
Es gibt zwei Methoden der Strahlverfolgung: Vorwärts- und Rückwärtsstrahlverfolgung. Die Durchführung einer Vorwärtsstrahlverfolgung erfolgt mit der Schaltfläche „Vorwärtsberechnung“, die Rückwärtsstrahlverfolgung mit der Schaltfläche „Rückwärtsberechnung“. Eine Konsistenzprüfung zur Sicherstellung einer gut funktionierenden heuristischen Strahlverfolgungsfunktion wird üblicherweise mit beiden Berechnungsverfahren durchgeführt; die „Gesamtberechnung“ ist eine Kurztaste dafür.
2.1.7.10 Pause ||
Wenn der Computer eine extreme Rechenleistung erfordert, kann die Berechnung durch Drücken dieser Schaltfläche vorübergehend angehalten werden.
2.1.7.11 Berechnung stoppen!
Wenn plötzlich „Ich habe das vergessen!“ im Kopf aufkommt, ist diese Schaltfläche hilfreich.
2.1.7.12 Empfänger-Zyklus
Dieses dynamische Zyklus-Element steuert, welcher Empfänger bei der Anzeige des normalisierten Echogramms berücksichtigt werden soll. Es enthält alle Empfängerobjektnamen im Menü. Die Änderung des Empfängers aktualisiert automatisch den Echogramm-Anzeigebereich.
2.1.7.13 Sender-Zyklus
Dieses dynamische Zyklus-Element steuert, welcher Sender bei der Anzeige des normalisierten Echogramms berücksichtigt werden soll. Es enthält alle Senderobjektnamen im Menü. Die Änderung des Senders aktualisiert automatisch den Echogramm-Anzeigebereich.
2.1.7.14 Echogramm-Bereich
Dieser Visualisierungsbereich zeigt das normalisierte Echogramm nach einer Berechnungssitzung. Bei ersten Berechnungen wird der erste aufgefundene Sender/Empfänger (abhängig vom Berechnungstyp) dargestellt. Die Verwendung eines Sample-Bearbeitungsprogramms könnte verwirrender sein; daher ist dieser Bereich nicht für tiefgehende Überlegungen oder Theoriebeweise gedacht.
2.1.8 Das Einstellungsfenster
Dieses Fenster verwaltet die Einstellungsdatei, die beim Start von 3DA² verwendet wird. In einigen Fällen könnte die Verwendung eines normalen Editors einfacher sein, aber die Standard-Dateiauswahlfunktionen sind von großem Nutzen.
2.1.8.1 Starre Pfade
Diese Eingabefelder für Zeichenketten dienen entweder der Tastatureingabe oder der Bestätigung der Auswahl beim Klicken auf die Schaltfläche „Setzen…“.
2.1.8.2 RGB-Farbanpassung
Die Farben werden durch Auswahl einer bestimmten Farbe und anschließendes Verschieben der R-, G- und B-Schieberegler auf die entsprechenden visuellen Farbwerte angepasst. Die Farbe wird in Echtzeit aktualisiert.
2.1.8.3 Anwenden
Wenn es sich um eine temporäre Änderung der Einstellungen handelt, sollte diese Schaltfläche nach den Bearbeitungen gedrückt werden.
2.1.8.4 Änderungen speichern
Wenn es grundlegende Änderungen an den Einstellungen gibt, sollte diese Schaltfläche nach den Korrekturen gedrückt werden.
2.1.8.5 Bearbeitungen rückgängig machen
Wenn ein Fehler aufgetreten ist oder versehentlich eine Änderung vorgenommen wurde, stellt diese Schaltfläche die vorherigen Einstellungen wieder her.
2.1.8.6 Abbrechen
Wenn keine Änderung der Einstellungen erforderlich ist, sollte diese Schaltfläche gedrückt werden; danach sind alle Einstellungen wieder wie vor dem Aufruf dieses Fensters.
2.2 Wie man virtuelle Audio-Umgebungen modelliert
Dieser Teil befasst sich mit den wesentlichen Aspekten der Modellierungsarbeit und geht davon aus, dass die Programmbedienung bereits bekannt ist. Der schnellste Weg, das Programm kennenzulernen, besteht darin, einige Zeit damit zu experimentieren. Mit der Zeit beschleunigen sich die Bedienverfahren zunehmend. Es ist an der Zeit, den folgenden Teil zu lesen, sobald das Gefühl aufkommt, die Funktionen und Positionen der Bedienelemente zu verstehen.
2.2.1 Die Wesentlichkeiten extrahieren
Die Modellierungsarbeit ist der schwierigste Teil bei der Arbeit mit virtuellen Audio-Umgebungen, besonders wenn der Nutzer sich noch in einer Anfängerphase befindet und die Besonderheiten der heuristischen Ray-Tracing-Funktion nicht kennt. Selbst wenn diese Funktion vom Modellierer selbst geschrieben wurde – was häufig der Fall ist – muss betont werden, dass es nicht vorhersagbar ist, alle Auswirkungen dieser Funktion zu kennen.
In der Regel wird keine extrem hohe Genauigkeit angestrebt, weshalb es besser ist, nicht alles bis ins kleinste Detail detailliert darzustellen. Die erforderliche Genauigkeitsstufe hängt natürlich von den Raumabmessungen und den verwendeten Einstellungen ab. Höhere Diffraktions-, Frequenz- und Phasengenauigkeit implizieren zwangsläufig eine höhere Genauigkeitsanforderung.
Es ist in der Regel sehr schwierig, das richtige Granularitätsniveau zu finden; ganz zu schweigen davon, dass es stark von den heuristischen Funktionen abhängt. Daher ist es von entscheidender Bedeutung, das Protokoll angemessen zu führen (siehe B.5).
2.2.2 Modellieren
Der Eingabeschritt für das gewünschte Audio-Modell ist relativ einfach. Zunächst wird das Fenster „Drawing-Stock“ geöffnet, entweder über das Menü oder durch „Right-Amiga D“. In diesem Fenster sind alle Objekte vorhanden, die im virtuellen Audio-Modell existieren. Natürlicherweise ist bei einem Neustart des Programms keine einzige Entität vorhanden. Der zweite Schritt besteht darin, alle größeren Objekte und die Raumgrenzen einzufügen; eine konsistente Benennung dieser Elemente ist für den Modellierer von großem Vorteil. In diesem Stadium ist das Granularitätsniveau äußerst entscheidend, da eine Modellierung auf falscher Ebene Berechnungen sehr mühsam oder extrem fehlerhaft machen kann.
Nach der eigentlichen Modellierarbeit – üblicherweise mit deaktivierter Perspektive – sollten die Materialzuweisungen vorgenommen werden. Die Auswahl der Materialien ist keine einfache Aufgabe. Oft weisen glatte, harte und schwere Objekte nahezu vollständige Reflexionseigenschaften auf, während umgekehrt flauschige Materialien mit vielen Löchern diese Eigenschaften kaum aufweisen. Dies ist lediglich eine Faustregel; das richtige Material sollte entweder in einem Referenzbuch zu Absorptionskoeffizienten gesucht oder mit der neuesten Methode gemessen werden. Letzteres ist teurer, und eine solche Genauigkeit ist normalerweise nicht erforderlich.
Bislang handelt es sich bei dem virtuellen Audio-Modell um einen statischen Typ; die Zuweisung einer Flugbahn zu einigen Objekten macht das Modell jedoch sofort dynamisch. Da dieses Programm ein Prototyp für die reale Implementierung dreidimensionaler Audio-Umgebungen ist, wurde die Erstellung der Flugbahnen auf benutzerdefinierte Programme übertragen, die vom in Abschnitt A.4 beschriebenen Template abgeleitet wurden.
Nach diesen Schritten sollte die eigentliche Ray-Tracing-Berechnung durchgeführt werden. Falls Unsicherheiten bestehen, ob die heuristische Funktion gut verhaltensmäßig ist, sind die beiden Berechnungsmethoden sehr nützlich, um die Ergebnisse zu überprüfen.
2.2.3 Aufteilung der Arbeit
Die Zusammenarbeit mehrerer Personen an einem gemeinsamen Problem ist ebenfalls möglich, und die natürliche Aufteilung der Arbeitslast erfolgt in folgende Phasen: das Team für die primitive Objektmodellierung, das Team für die Materialdefinition und das Team für die Flugbahngenerierung. Das Team für die Objektmodellierung könnte seine Arbeit so aufteilen, dass es sich auf verschiedene Teile des virtuell-audiellen Modells konzentriert.
2.2.4 Zusammenführen der Arbeit
Das Zusammenführen der Arbeiten kann eine schwierige Aufgabe sein. Normalerweise gibt es jemanden im Entwicklungsteam, der die Namenskonventionen aller anderen kennt – das hilft enorm. Es ist äußerst wichtig, dass alle klare und beschreibende Namen für Objekte, Materialien und Flugbahnen verwenden, um das Zusammenführen so einfach wie möglich zu gestalten. Normalerweise sollte die eigentliche Ray-Tracing-Berechnung erst danach durchgeführt werden, und es sollte betont werden, dass bei der Arbeit mit großen Modellen gut funktionierende Heuristiken eine grundlegende Voraussetzung sein müssen.
2.2.5 Die Log-Cog-Schrift
Die Durchführung wissenschaftlicher Arbeiten mit 3DA² basiert auf bestimmten Grundvoraussetzungen, die in Anhang B beschrieben sind. Dennoch kann die Aufteilung der Arbeitslast ernsthafte Probleme bezüglich dieser Kriterien verursachen. Daher ist es äußerst wichtig, dass alle Beteiligten die in Anhang B dargelegten Fakten genau kennen.
Die Aufteilung der Log-Einträge sollte natürlich genauso erfolgen wie die Aufteilung der Modellierung. Die Log-Einträge müssen klar und beschreibend sein und von gesamten Team verstanden werden. Im Gegensatz dazu sollte die Cog-Kompilierung von der Person durchgeführt werden, die über das strengste Wissen in Bezug auf virtuell-audielle Umgebungen verfügt.
2.3 Wie man 3DA² ARexx-Skripte schreibt
Wer bereits mit verschiedenen Anwendungen programmiert hat, sollte keine Probleme mit den ARexx-Programmierfunktionen haben. Das Erlernen von ARexx ist nicht das Ziel dieses Abschnitts; es gibt eine Vielzahl von Büchern über ARexx und die Programmierung damit. Daher werden hier nur einige einfache Beispiele gezeigt, die den Kern der 3DA² ARexx-Schlüsselwörter in Aktion zeigen.
Das erste Beispiel ist eine statische Wohnzimmersituation mit einer Hi-Fi-Stereoanlage. Danach wird die statische Wohnzimmersituation mit vier Kanälen dargestellt. Als Abschluss der statischen Modelle wird ein Raum mit verschiedenen Klängen aus allen Richtungen eingefügt.
Beim Übergang zu dynamischen Umgebungen ist die eher unterhaltsame Klassenraum-Situation mit viel Chaos das erste einfache Beispiel. Die komplexere Umgebung eines Bahnhofs, Hafens und Flughafens in einer Großstadt zeigt das volle Potenzial von ARexx-Skripten in dynamischen Modellen.
Schließlich beginnen die Science-Fiction-Modelle für Sci-Fi-Audio-Umgebungen mit dem Beispiel eines Raums, dessen Grenzen wachsen. Das letzte Beispiel findet außerhalb des Mond-Lagerplatzes statt, mit einer Atmosphäre (natürlich !!!) und verschiedenen wirren Geräuschen. Diese beiden letzten Beispiele sind reine Science-Fiction und sollten nicht als wissenschaftliches Ergebnis in irgendeinem Log oder Cog betrachtet werden. Dennoch könnten Inkonsistenzen in der heuristischen Funktion festgestellt werden, weshalb es sehr nützlich sein könnte, in allen wissenschaftlichen Aspekten nicht zu streng zu sein.
2.3.1 Startbeispiel
/******************************************************************
* *
* 3DA² Simple script. *
* *
* Denis Tumpic 1995 *
* *
* External data: *
* SIMPLE_ROOM, BODY_PARTS, SENDERS_RECEIVERS *
* START_SAMPLE, SAMPLE_L, SAMPLE_R, END_SAMPLE *
* *
* Computed data: *
* AURALIZED_L, AURALIZED_R *
* *
******************************************************************/
/* Load and run 3DA² */
ADDRESS COMMAND "run 3DA²:3DA² REXX >NIL:"
/* Send messages to 3DA^2 */
ADDRESS "3DAUDIO.1"
/* Load an audio model */
LOAD DRAWING "SIMPLE_ROOM"
/* Load body parts as primitive objects*/
LOAD OBJECTS "BODY_PARTS"
/* Load diverse senders and receivers */
LOAD MATERIALS "SENDERS_RECEIVERS"
MEASURE METER /* Meter as measuring unit */
/* Insert ears */
OBJECT INSERT EAR LEFT_EAR 0.1 0.9 0
OBJECT INSERT EAR RIGHT_EAR -0.1 0.9 0
/* Map healthy ear characteristics */
OBJECT MATERIAL LEFT_EAR HEALTHY_EAR
OBJECT MATERIAL RIGHT_EAR HEALTHY_EAR
/* Insert speakers */
OBJECT INSERT SPEAKER LEFT_SPEAKER -2.0 1.0 2
OBJECT INSERT SPEAKER RIGHT_SPEAKER 2.0 1.0 2
/* Map RTL3 speaker characteristics */
OBJECT MATERIAL LEFT_SPEAKER TDL_RTL3
OBJECT MATERIAL RIGHT_SPEAKER TDL_RTL3
CLEAR OBJECTS /* Clearing unnecessary data */
CLEAR MATERIALS /* Clearing unnecessary data */
/* Non excessive data format */
AUDIOTRACE SETTINGS SMALL_DATA MEMORY
/* Simple trace settings */
AUDIOTRACE SETTINGS ALL 50 1.0 25 0.0 0.0 0.0 0.0
/* Normalize the echograms */
ECHOGRAM SETTINGS LINEAR_NORMALIZE
/* Echogram sample frequency & data width */
AURALIZE SETTINGS DIRAC_SAMPLE_FREQUENCY 44100
AURALIZE SETTINGS DIRAC_SAMPLE_DATA_WIDTH 32
/* Resulting auralized sample frequency and data width */
AURALIZE SETTINGS SOUND_SAMPLE_FREQUENCY 44100
AURALIZE SETTINGS SOUND_SAMPLE_DATA_WIDTH 16
SPECIAL_FX FLASH /* Flash screen */
SPECIAL_FX PLAY_SOUND START_SAMPLE /* Audio message */
CALL TIME('R') /* Reset clock */
/* Trace from the left speaker to the left ear */
AUDIOTRACE FORWARD LEFT_SPEAKER LEFT_EAR
/* Trace from the right speaker to the right ear */
AUDIOTRACE FORWARD RIGHT_SPEAKER RIGHT_EAR
/* Integrate the echogram from 0 to 80 ms */
u=ECHOGRAM_WEIGHT FORWARD LEFT_SPEAKER LEFT_EAR G(X)*G(X) 0 0.08
/* Integrate the echogram from 80 ms to infinity */
d=ECHOGRAM_WEIGHT FORWARD LEFT_SPEAKER LEFT_EAR G(X)*G(X) 0.08 -1
/* Write the clarity of this virtual-audio environment */
SAY 'This VAE\'s Clarity is ' 10*log(u/d)/log(2) 'db.'
/* Compute normalized echogram and convolve it with left sample */
AURALIZE FORWARD LEFT_SPEAKER LEFT_EAR SAMPLE.L AURALIZED.L 0 -1
/*Compute normalized echogram and convolve it with right sample */
AURALIZE FORWARD RIGHT_SPEAKER RIGHT_EAR SAMPLE.R AURALIZED.R 0 -1
/* Write elapsed computing time */
SAY 'Computing time='TIME(\'E\')' seconds.'
/* Flash screen */
SPECIAL_FX FLASH
/* Audio message */
SPECIAL_FX PLAY_SOUND END_SAMPLE
/* End 3DA² session */
QUIT
2.3.2 Einfaches statisches Modell
/******************************************************************
* *
* 3DA² Simple Static model, Vivaldi-quadriphony to auralization *
* *
* Denis Tumpic 1995 *
* *
* External data: *
* LIVING_ROOM_ENVIRONMENT *
* START_SAMPLE *
* VIVALDI_FL, VIVALDI_FR (The front channels, quadraphonic) *
* VIVALDI_RL, VIVALDI_RR (The rear channels, quadraphonic) *
* END_SAMPLE *
* *
* Temporary data: *
* VIVALDI_FAL, VIVALDI_FAR *
* VIVALDI_RAL, VIVALDI_RAR *
* *
* Computed data: *
* VIVALDI_AL, VIVALDI_AR *
* *
******************************************************************/
/* Load and run 3DA² */
ADDRESS COMMAND "run 3DA²:3DA² REXX >NIL:"
/* Send messages to 3DA² */
ADDRESS "3DAUDIO.1"
/* Load an audio model */
LOAD DRAWING "LIVING_ROOM_ENVIRONMENT"
/* Non excessive data format */
AUDIOTRACE SETTINGS SMALL_DATA MEMORY
/* Simple trace settings */
AUDIOTRACE SETTINGS ALL 15 1.0 25 0.0 0.0 0.0 0.0
/* Normalize the echograms */
ECHOGRAM SETTINGS LINEAR_NORMALIZE
/* Echogram sample frequency & data width */
AURALIZE SETTINGS DIRAC_SAMPLE_FREQUENCY 8192
AURALIZE SETTINGS DIRAC_SAMPLE_DATA_WIDTH 32
/* Resulting auralized sample frequency and data width */
AURALIZE SETTINGS SOUND_SAMPLE_FREQUENCY 44100
AURALIZE SETTINGS SOUND_SAMPLE_DATA_WIDTH 16
/* Flash screen */
SPECIAL_FX FLASH
/* Audio message */
SPECIAL_FX PLAY_SOUND START_SAMPLE
/* Reset clock */
CALL TIME('R')
/* Trace from the left front speaker to the left ear */
AUDIOTRACE FORWARD SPEAKER_FL EAR_L
/* Trace from the right front speaker to the right ear */
AUDIOTRACE FORWARD SPEAKER_FR EAR_R
/* Trace from the left rear speaker to the left ear */
AUDIOTRACE FORWARD SPEAKER_RL EAR_L
/* Trace from the right rear speaker to the right ear */
AUDIOTRACE FORWARD SPEAKER_RR EAR_R
/* Compute normalized echogram and convolve it with left front sample. */
AURALIZE FORWARD SPEAKER_FL EAR_L VIVALDI_FL VIVALDI_FAL 0 -1
/* Compute normalized echogram and convolve it with left rear sample. */
AURALIZE FORWARD SPEAKER_RL EAR_L VIVALDI_RL VIVALDI_RAL 0 -1
/* Compute normalized echogram and convolve it with right front sample. */
AURALIZE FORWARD SPEAKER_FR EAR_R VIVALDI_FR VIVALDI_FAR 0 -1
/* Compute normalized echogram and convolve it with right rear sample. */
AURALIZE FORWARD SPEAKER_RR EAR_R VIVALDI_RR VIVALDI_RAR 0 -1
/* Simple mix the two results coming from the speakers to the left. */
SAMPLE SIMPLE_MIX VIVALDI_FAL VIVALDI_RAL VIVALDI_AL
SAMPLE DELETE VIVALDI_FAL
SAMPLE DELETE VIVALDI_RAL
/* Simple mix the two results coming from the speakers to the right */
SAMPLE SIMPLE_MIX VIVALDI_FAR VIVALDI_RAR VIVALDI_AR
SAMPLE DELETE VIVALDI_FAR
SAMPLE DELETE VIVALDI_RAR
/* Write elapsed computing time */
SAY 'Computing time='TIME('E')' seconds.'
/* Flash screen */
SPECIAL_FX FLASH
/* Audio message */
SPECIAL_FX PLAY_SOUND END_SAMPLE
/* End 3DA² session */
QUIT
2.3.3 Komplexes statisches Modell
/******************************************************************
* *
* 3DA² Complex Static model. Yello with some environmental sounds *
* *
* Denis Tumpic 1995 *
* *
* External data: *
* COMPARTMENT_ENVIRONMENT *
* START_SAMPLE *
* YELLO_L, YELLO_R *
* BABY_CRYING, WOMAN_SHOUTING, WC_FLUSH *
* END_SAMPLE *
* *
* Temporary data: *
* YELLO_AL, YELLO_AR *
* BABY_CRYING_AL, BABY_CRYING_AR *
* WOMAN_SHOUTING_AL, WOMAN_SHOUTING_AR *
* WC_FLUSH_AL, WC_FLUSH_AR *
* *
* Computed data: *
* YELLO_A *
* *
******************************************************************/
/* Load and run 3DA² */
ADDRESS COMMAND "run 3DA²:3DA² REXX >NIL:"
/* Send messages to 3DA² */
ADDRESS "3DAUDIO.1"
/* Load an audio model */
LOAD DRAWING "COMPARTMENT_ENVIRONMENT"
/* Non excessive data format */
AUDIOTRACE SETTINGS SMALL_DATA MEMORY
/* Simple trace settings */
AUDIOTRACE SETTINGS ALL 50 1.0 15 0.0 0.0 0.0 0.0
/* Normalize the echograms */
ECHOGRAM SETTINGS LINEAR_NORMALIZE
/* Echogram sample frequency & data width */
AURALIZE SETTINGS DIRAC_SAMPLE_FREQUENCY 5400
AURALIZE SETTINGS DIRAC_SAMPLE_DATA_WIDTH 16
/* Resulting auralized sample frequency and data width */
AURALIZE SETTINGS SOUND_SAMPLE_FREQUENCY 32768
AURALIZE SETTINGS SOUND_SAMPLE_DATA_WIDTH 8
/* Flash screen */
SPECIAL_FX FLASH
/* Audio message */
SPECIAL_FX PLAY_SOUND START_SAMPLE
/* Reset clock */
CALL TIME('R')
/* Trace from the left speaker to the left ear */
AUDIOTRACE FORWARD SPEAKER_L EAR_L
/* Trace from the right speaker to the right ear */
AUDIOTRACE FORWARD SPEAKER_R EAR_R
/* Trace from the baby to the ears */
AUDIOTRACE FORWARD BABY_MOUTH EAR_L
AUDIOTRACE FORWARD BABY_MOUTH EAR_R
/* Trace from the woman to the ears */
AUDIOTRACE FORWARD WOMAN_MOUTH EAR_L
AUDIOTRACE FORWARD WOMAN_MOUTH EAR_R
/* Trace from WC to the ears */
AUDIOTRACE FORWARD TOILET EAR_L
AUDIOTRACE FORWARD TOILET EAR_R
/* Compute normalized echogram and auralization from the stereo */
AURALIZE FORWARD SPEAKER_L EAR_L YELLO_L YELLO_AL 0 -1
AURALIZE FORWARD SPEAKER_R EAR_R YELLO_R YELLO_AR 0 -1
/* Compute normalized echogram and auralization from the baby */
AURALIZE FORWARD BABY_MOUTH EAR_L BABY_CRYING BABY_CRYING_AL 0 -1
AURALIZE FORWARD BABY_MOUTH EAR_R BABY_CRYING BABY_CRYING_AR 0 -1
/* Compute normalized echogram and auralization from the woman */
AURALIZE FORWARD WOMAN_MOUTH EAR_L
WOMAN_SHOUTING WOMAN_SHOUTING_AL 0 -1
AURALIZE FORWARD WOMAN_MOUTH EAR_R
WOMAN_SHOUTING WOMAN_SHOUTING_AR 0 -1
/* Compute normalized echogram and auralization from the woman */
AURALIZE FORWARD TOILET EAR_L WC_FLUSH WC_FLUSH_AL 0 -1
AURALIZE FORWARD TOILET EAR_R WC_FLUSH WC_FLUSH_AR 0 -1
/* Mix baby cry into auralized Yello sample at every 20 seconds. */
samplen=SAMPLE LENGTH YELLO_AL
DO i= 0 to samplen by 20
SAMPLE OVER_MIX BABY_CRYING_AL YELLO_AL i
SAMPLE OVER_MIX BABY_CRYING_AR YELLO_AR i
END
/* Mix woman shouting into auralized Yello sample at every 80 seconds. */
samplen=SAMPLE LENGTH YELLO_AL
DO i= 0 to samplen by 80
SAMPLE OVER_MIX WOMAN_SHOUTING_AL YELLO_AL i
SAMPLE OVER_MIX WOMAN_SHOUTING_AR YELLO_AR i
END
/* Mix toilet flushing at the end */
samplenWC=SAMPLE LENGTH WC_FLUSH_AL
samplen=SAMPLE LENGTH YELLO_AL
SAMPLE OVER_MIX WC_FLUSH_AL YELLO_AL samplen-samplenWC
SAMPLE OVER_MIX WC_FLUSH_AR YELLO_AR samplen-samplenWC
/* The resulting auralized sample "YELLO_A" composed with Yello music as a base and diverse exterior sounds u.n.w. is now finished. Funny listening */
SAMPLE MAKE_STEREO YELLO_AL YELLO_AR YELLO_A
/* Delete all temporary data */
SAMPLE DELETE YELLO_AL
SAMPLE DELETE YELLO_AR
SAMPLE DELETE BABY_CRYING_AL
SAMPLE DELETE BABY_CRYING_AR
SAMPLE DELETE WOMAN_SHOUTING_AL
SAMPLE DELETE WOMAN_SHOUTING_AR
SAMPLE DELETE WC_FLUSH_AL
SAMPLE DELETE WC_FLUSH_AR
/* Write elapsed computing time */
SAY 'Computing time='TIME(\'E\')' seconds.'
/* Flash screen */
SPECIAL_FX FLASH
/* Audio message */
SPECIAL_FX PLAY_SOUND END_SAMPLE
/* End 3DA² session */
QUIT
2.3.4 Einfaches dynamisches Modell
/******************************************************************
* *
* 3DA² Simple Dynamic model. Teacher in the classroom *
* *
* Denis Tumpic 1995 *
* *
* External data: *
* CLASS_ROOM_ENVIRONMENT, CLASS_ROOM_FLIGHTS *
* START_SAMPLE *
* LECTURE, PUPIL_1, PUPIL_2, PUPIL_3 *
* BUMBLEBEE *
* END_SAMPLE *
* *
* Temporary data: *
* BUMBLEBEE_AL, PUPIL_1_AL, PUPIL_2_AL, PUPIL_3_AL,LECTURE_AL *
* BUMBLEBEE_AR, PUPIL_1_AR, PUPIL_2_AR, PUPIL_3_AR,LECTURE_AR *
* *
* Computed data: *
* CLASSROOM_A *
* *
******************************************************************/
/* Load and run 3DA² */
ADDRESS COMMAND "run 3DA²:3DA² REXX >NIL:"
/* Send messages to 3DA² */
ADDRESS "3DAUDIO.1"
/* Load an audio model */
LOAD DRAWING "CLASS_ROOM_ENVIRONMENT"
/* Load some flight-paths */
LOAD FLIGHTS "CLASS_ROOM_FLIGHTS"
/* Map flights to objects in environment */
OBJECT FLIGHT TEACHER WALK_AROUND
OBJECT FLIGHT CATHERINE RUNNING_OUT
OBJECT FLIGHT DENNIS HUNTED
OBJECT FLIGHT MADELEINE CHASING
OBJECT FLIGHT BEE BUZZAROUND
/* Non excessive data format */
AUDIOTRACE SETTINGS SMALL_DATA MEMORY
/* Simple trace settings */
AUDIOTRACE SETTINGS ALL 15 1.0 25 0.0 0.0 0.0 0.0
/* Normalize the echograms */
ECHOGRAM SETTINGS LINEAR_NORMALIZE
/* Echogram sample frequency & data width */
AURALIZE SETTINGS DIRAC_SAMPLE_FREQUENCY 4096
AURALIZE SETTINGS DIRAC_SAMPLE_DATA_WIDTH 16
/* Resulting auralized sample frequency and data width */
AURALIZE SETTINGS SOUND_SAMPLE_FREQUENCY 19600
AURALIZE SETTINGS SOUND_SAMPLE_DATA_WIDTH 8
/* Flash screen */
SPECIAL_FX FLASH
/* Audio message */
SPECIAL_FX PLAY_SOUND START_SAMPLE
/* Reset clock */
CALL TIME('R')
d=0.01 /* Time displacement */
samplen=SAMPLE LENGTH "LECTURE"
DO i=0 to samplen
/* Trace from sources to the ears */
AUDIOTRACE FORWARD TEACHER EAR_L
AUDIOTRACE FORWARD TEACHER EAR_R
AUDIOTRACE FORWARD CATHERINE EAR_L
AUDIOTRACE FORWARD CATHERINE EAR_R
AUDIOTRACE FORWARD DENNIS EAR_L
AUDIOTRACE FORWARD DENNIS EAR_R
AUDIOTRACE FORWARD MADELEINE EAR_L
AUDIOTRACE FORWARD MADELEINE EAR_R
AUDIOTRACE FORWARD BEE EAR_L
AUDIOTRACE FORWARD BEE EAR_R
/*Compute normalized echograms and convolve it with samples*/
AURALIZE FORWARD TEACHER EAR_L LECTURE LECTURE_AL i i+d
AURALIZE FORWARD TEACHER EAR_R LECTURE LECTURE_AR i i+d
AURALIZE FORWARD CATHERINE EAR_L PUPIL_1 PUPIL_1_AL i i+d
AURALIZE FORWARD CATHERINE EAR_R PUPIL_1 PUPIL_1_AR i i+d
AURALIZE FORWARD DENNIS EAR_L PUPIL_2 PUPIL_2_AL i i+d
AURALIZE FORWARD DENNIS EAR_R PUPIL_2 PUPIL_2_AR i i+d
AURALIZE FORWARD MADELEINE EAR_L PUPIL_3 PUPIL_3_AL i i+d
AURALIZE FORWARD MADELEINE EAR_R PUPIL_3 PUPIL_3_AR i i+d
AURALIZE FORWARD BEE EAR_L BUMBLEBEE BUMBLEBEE_AL i i+d
AURALIZE FORWARD BEE EAR_R BUMBLEBEE BUMBLEBEE_AR i i+d
/* A step in time */
DISPLACEMENT TIME FORWARD d
END
/* All samples have the same length! */
SAMPLE SIMPLE_MIX BUMBLEBEE_AL PUPIL_3_AL PUPIL_3_AL
SAMPLE SIMPLE_MIX PUPIL_3_AL PUPIL_2_AL PUPIL_2_AL
SAMPLE SIMPLE_MIX PUPIL_2_AL PUPIL_1_AL PUPIL_1_AL
SAMPLE SIMPLE_MIX PUPIL_1_AL LECTURE_AL LECTURE_AL
SAMPLE SIMPLE_MIX BUMBLEBEE_AR PUPIL_3_AR PUPIL_3_AR
SAMPLE SIMPLE_MIX PUPIL_3_AR PUPIL_2_AR PUPIL_2_AR
SAMPLE SIMPLE_MIX PUPIL_2_AR PUPIL_1_AR PUPIL_1_AR
SAMPLE SIMPLE_MIX PUPIL_1_AR LECTURE_AR LECTURE_AR
/* This is one noisy classroom */
SAMPLE MAKE_STEREO LECTURE_AL LECTURE_AR CLASSROOM_A
/* Delete all temporary data */
SAMPLE DELETE BUMBLEBEE_AL
SAMPLE DELETE PUPIL_1_AL
SAMPLE DELETE PUPIL_2_AL
SAMPLE DELETE PUPIL_3_AL
SAMPLE DELETE LECTURE_AL
SAMPLE DELETE BUMBLEBEE_AR
SAMPLE DELETE PUPIL_1_AR
SAMPLE DELETE PUPIL_2_AR
SAMPLE DELETE PUPIL_3_AR
SAMPLE DELETE LECTURE_AR
/* Write elapsed computing time */
SAY 'Computing time='TIME(\'E\')' seconds.'
/* Flash screen */
SPECIAL_FX FLASH
/* Audio message */
SPECIAL_FX PLAY_SOUND END_SAMPLE
/* End 3DA² session */
QUIT
2.3.5 Komplexes dynamisches Modell
/******************************************************************
* *
* 3DA² Complex Dynamic Model. Outdoors at a train station *
* *
* Denis Tumpic 1995 *
* *
* External data: *
* TRAIN_STATION_DYNAMIC_ENVIRONMENT *
* START_SAMPLE *
* TRAIN_WITH_HORN, AIRCRAFT, BOAT_HORNS, CONVERSATION *
* SPEAKER_VOICE, POLICE_HORN *
* END_SAMPLE *
* *
* Temporary data: *
* TWH_AL, AIR_AL, BOA_AL, POL_AL, CON_AL, SPE_AL *
* TWH_AR, AIR_AR, BOA_AR, POL_AR, CON_AR, SPE_AR *
* *
* Computed data: *
* TRAIN_STATION_A *
* *
******************************************************************/
/* Load and run 3DA² */
ADDRESS COMMAND "run 3DA²:3DA² REXX >NIL:"
ADDRESS "3DAUDIO.1" /* Send messages to 3DA² */
/* This model has a harbor with moving boats a police decampment, passing by aircraft two people conversing and a speaker voice informing from the public address system All this while YOU are wandering around at the train station. */
LOAD DRAWING "TRAIN_STATION_DYNAMIC_ENVIRONMENT"
/* Non excessive data format */
AUDIOTRACE SETTINGS SMALL_DATA MEMORY
/* Simple trace settings */
AUDIOTRACE SETTINGS ALL 10 0.5 15 0.0 0.0 0.0 0.0
/* Normalize the echograms */
ECHOGRAM SETTINGS LINEAR_NORMALIZE
/* Echogram sample frequency & data width */
AURALIZE SETTINGS DIRAC_SAMPLE_FREQUENCY 4096
AURALIZE SETTINGS DIRAC_SAMPLE_DATA_WIDTH 16
/* Resulting auralized sample frequency and data width */
AURALIZE SETTINGS SOUND_SAMPLE_FREQUENCY 19600
AURALIZE SETTINGS SOUND_SAMPLE_DATA_WIDTH 8
/* Flash screen */
SPECIAL_FX FLASH
/* Audio message */
SPECIAL_FX PLAY_SOUND START_SAMPLE
/* Reset clock */
CALL TIME('R')
/* All samples has the same length due to this the dependencies between objects are abandoned! */
samplen=SAMPLE LENGTH TRAIN
d=0.01 /* Time displacement */
DO i=0 to samplen
/* Trace from sources to the ears */
AUDIOTRACE FORWARD TRAIN EAR_L
AUDIOTRACE FORWARD TRAIN EAR_R
AUDIOTRACE FORWARD AIRCRAFT EAR_L
AUDIOTRACE FORWARD AIRCRAFT EAR_R
AUDIOTRACE FORWARD HARBOR_BOATS EAR_L
AUDIOTRACE FORWARD HARBOR_BOATS EAR_R
AUDIOTRACE FORWARD POLICE_CAR EAR_L
AUDIOTRACE FORWARD POLICE_CAR EAR_R
AUDIOTRACE FORWARD CONVERSATION EAR_L
AUDIOTRACE FORWARD CONVERSATION EAR_R
/* Public address system SPEAKER is static but */
/* due to the fact that the receiving ears are moving. */
AUDIOTRACE FORWARD SPEAKER_VOICE EAR_L
AUDIOTRACE FORWARD SPEAKER_VOICE EAR_R
/*Compute normalized echogram and convolve it with samples */
AURALIZE FORWARD TRAIN EAR_L TRAIN_WITH_HORN TWH_AL i i+d
AURALIZE FORWARD TRAIN EAR_R TRAIN_WITH_HORN TWH_AR i i+d
AURALIZE FORWARD AIRCRAFT EAR_L AIRCRAFT AIR_AL i i+d
AURALIZE FORWARD AIRCRAFT EAR_R AIRCRAFT AIR_AR i i+d
AURALIZE FORWARD HARBOR_BOATS EAR_L BOAT_HORNS BOA_AL i i+d
AURALIZE FORWARD HARBOR_BOATS EAR_R BOAT_HORNS BOA_AR i i+d
AURALIZE FORWARD POLICE_CAR EAR_L POLICE_HORN POL_AL i i+d
AURALIZE FORWARD POLICE_CAR EAR_R POLICE_HORN POL_AR i i+d
AURALIZE FORWARD CONVERSATION EAR_L CONVERSATION CON_AL i i+d
AURALIZE FORWARD CONVERSATION EAR_R CONVERSATION CON_AR i i+d
/* Public address system SPEAKER is static but */
/* due to the fact that the receiving ears are moving. */
AURALIZE FORWARD SPEAKER EAR_L SPEAKER_VOICE SPE_AL i i+d
AURALIZE FORWARD SPEAKER EAR_R SPEAKER_VOICE SPE_AR i i+d
/* A step in time */
DISPLACEMENT TIME FORWARD d
END
/* All samples has the same length! */
/* Final mixdown of the auralized parts. */
SAMPLE SIMPLE_MIX TWH_AL AIR_AL AIR_AL
SAMPLE SIMPLE_MIX AIR_AL BOA_AL BOA_AL
SAMPLE SIMPLE_MIX BOA_AL POL_AL POL_AL
SAMPLE SIMPLE_MIX POL_AL CON_AL CON_AL
SAMPLE SIMPLE_MIX CON_AL SPE_AL SPE_AL
SAMPLE SIMPLE_MIX TWH_AR AIR_AR AIR_AR
SAMPLE SIMPLE_MIX AIR_AR BOA_AR BOA_AR
SAMPLE SIMPLE_MIX BOA_AR POL_AR POL_AR
SAMPLE SIMPLE_MIX POL_AR CON_AR CON_AR
SAMPLE SIMPLE_MIX CON_AR SPE_AR SPE_AR
/* This is the resulting train station environment. */
/* Lots of calamity going on, I should say. */
SAMPLE MAKE_STEREO SPE_AL SPE_AR TRAIN_STATION_A
/* Delete all temporary data */
SAMPLE DELETE TWH_AL
SAMPLE DELETE AIR_AL
SAMPLE DELETE BOA_AL
SAMPLE DELETE POL_AL
SAMPLE DELETE CON_AL
SAMPLE DELETE SPE_AL
SAMPLE DELETE TWH_AR
SAMPLE DELETE AIR_AR
SAMPLE DELETE BOA_AR
SAMPLE DELETE POL_AR
SAMPLE DELETE CON_AR
SAMPLE DELETE SPE_AR
/* Write elapsed computing time */
SAY 'Computing time='TIME('E')' seconds.'
/* Flash screen */
SPECIAL_FX FLASH
/* Audio message */
SPECIAL_FX PLAY_SOUND END_SAMPLE
/* End 3DA² session */
QUIT
2.3.6 Einfaches Science-Fiction-Modell
/******************************************************************
* *
* 3DA² Simple Sci-Fi model. Space and room *
* *
* Denis Tumpic 1995 *
* *
* External data: *
* ROOM-ENVIRONMENT *
* START-SAMPLE *
* LECTURE, SPEAKER *
* BUMBLEBEE *
* END-SAMPLE *
* *
* Temporary data: *
* BUMBLEBEE-AL, LECTURE-AL, SPEAKER-AL *
* BUMBLEBEE-AR, LECTURE-AR, SPEAKER-AR *
* *
* Computed data: *
* ROOM-A *
* *
******************************************************************/
/* Load and run 3DA² */
ADDRESS COMMAND "run 3DA²:3DA² REXX >NIL:"
/* Send messages to 3DA² */
ADDRESS "3DAUDIO.1"
/* Load an audio model */
LOAD DRAWING "ROOM-ENVIRONMENT"
/* Non excessive data format */
AUDIOTRACE SETTINGS SMALL-DATA MEMORY
/* Simple trace settings */
AUDIOTRACE SETTINGS ALL 23 1.0 25 0.0 0.0 0.0 0.0
/* Normalize the echograms */
ECHOGRAM SETTINGS LINEAR-NORMALIZE
/* Echogram sample frequency & data width */
AURALIZE SETTINGS DIRAC-SAMPLE-FREQUENCY 5120
AURALIZE SETTINGS DIRAC-SAMPLE-DATA-WIDTH 16
/* Resulting auralized sample frequency and data width */
AURALIZE SETTINGS SOUND-SAMPLE-FREQUENCY 19600
AURALIZE SETTINGS SOUND-SAMPLE-DATA-WIDTH 16
/* Flash screen */
SPECIAL-FX FLASH
/* Audio message */
SPECIAL-FX PLAY-SOUND START-SAMPLE
/* Reset clock */
CALL TIME('R')
d=0.01 /* Time displacement */
samplen=SAMPLE LENGTH "LECTURE"
f=100/samplen /*Smaller displacement than one */
g=0 / *Accumulated frequency displacement */
DO i=0 to samplen
/* Trace from sources to the ears */
AUDIOTRACE FORWARD TEACHER EAR-L
AUDIOTRACE FORWARD TEACHER EAR-R
AUDIOTRACE FORWARD SPEAKER EAR-L
AUDIOTRACE FORWARD SPEAKER EAR-R
AUDIOTRACE FORWARD BEE EAR-L
AUDIOTRACE FORWARD BEE EAR-R
/*Compute normalized echogram and convolve it with samples */
AURALIZE FORWARD TEACHER EAR-L LECTURE LECTURE-AL i i+d
AURALIZE FORWARD TEACHER EAR-R LECTURE LECTURE-AR i i+d
AURALIZE FORWARD PA-SYS EAR-L SPEAKER SPEAKER-AL i i+d
AURALIZE FORWARD PA-SYS EAR-R SPEAKER SPEAKER-AR i i+d
AURALIZE FORWARD BEE EAR-L BUMBLEBEE BUMBLEBEE-AL i i+d
AURALIZE FORWARD BEE EAR-R BUMBLEBEE BUMBLEBEE-AR i i+d
/* A step in time */
DISPLACEMENT TIME FORWARD d
/* Some non natural events */
DISPLACEMENT OBJECT RESIZE ROOM 0.1 0.2 0.3
g=g+f
MATERIAL CHANGE FREQUENCY WALLS g g g g g g g g g g g
END
/* All samples has the same length! */
SAMPLE SIMPLE-MIX BUMBLEBEE-AL SPEAKER-AL SPEAKER-AL
SAMPLE SIMPLE-MIX SPEAKER-AL SPEAKER-AL LECTURE-AL
SAMPLE SIMPLE-MIX BUMBLEBEE-AR SPEAKER-AR SPEAKER-AR
SAMPLE SIMPLE-MIX SPEAKER-AR SPEAKER-AR LECTURE-AR
/* This is one weird classroom */
SAMPLE MAKE-STEREO LECTURE-AL LECTURE-AR ROOM-A
/* Delete all temporary data */
SAMPLE DELETE BUMBLEBEE-AL
SAMPLE DELETE SPEAKER-AL
SAMPLE DELETE LECTURE-AL
SAMPLE DELETE BUMBLEBEE-AR
SAMPLE DELETE SPEAKER-AR
SAMPLE DELETE LECTURE-AR
/* Write elapsed computing time */
SAY 'Computing time='TIME(\'E\')' seconds.'
/* Flash screen */
SPECIAL-FX FLASH
/* Audio message */
SPECIAL-FX PLAY-SOUND END-SAMPLE
/* End 3DA² session */
QUIT
2.3.7 Komplexes Science-Fiction-Modell
/******************************************************************
* *
* 3DA² Complex SCI-FI Model. Terminator De Terminatei *
* *
* Denis Tumpic 1995 *
* *
* External data: *
* TERMINUS-ENVIRONMENT *
* START-SAMPLE *
* SPACE-SHIP, METEORITES, IMPACTS, BLASTINGS *
* NARRATOR-VOICE, BACKGROUND-SPACE-SOUND-A *
* END-SAMPLE *
* *
* Temporary data: *
* SS-AL, MET-AL, IMP-AL, BLA-AL, NARR-AL *
* SS-AR, MET-AR, IMP-AR, BLA-AR, NARR-AR *
* *
* Computed data: *
* TERMINUS-A *
* *
******************************************************************/
/* Load and run 3DA² */
ADDRESS COMMAND "run 3DA²:3DA² REXX >NIL:"
/* Send messages to 3DA² */
ADDRESS "3DAUDIO.1"
/* Load an audio model */
/* This model has a lunar space station with atmosphere*/
/* There are meteorites falling and smashing the surface */
/* The narrator is telling what is happening in this */
/* Space War I */
LOAD DRAWING "TERMINUS-ENVIRONMENT"
/* Non excessive data format */
AUDIOTRACE SETTINGS SMALL-DATA MEMORY
/* Simple trace settings */
AUDIOTRACE SETTINGS ALL 18 0.9 25 0.0 0.0 0.0 0.0
/* Normalize the echograms */
ECHOGRAM SETTINGS LINEAR-NORMALIZE
/* Echogram sample frequency & data width */
AURALIZE SETTINGS DIRAC-SAMPLE-FREQUENCY 2048
AURALIZE SETTINGS DIRAC-SAMPLE-DATA-WIDTH 8
/* Resulting auralized sample frequency and data width */
AURALIZE SETTINGS SOUND-SAMPLE-FREQUENCY 16384
AURALIZE SETTINGS SOUND-SAMPLE-DATA-WIDTH 8
/* Flash screen */
SPECIAL-FX FLASH
/* Audio message */
SPECIAL-FX PLAY-SOUND START-SAMPLE
/* Reset clock */
CALL TIME('R')
d=0.01 /* Time displacement */
/* All samples has the same length This way dependencies are abandoned! */
samplen=SAMPLE LENGTH TRAIN
DO i=0 to samplen
/* Trace from sources to the ears */
AUDIOTRACE FORWARD SPACE-SHIP EAR-L
AUDIOTRACE FORWARD SPACE-SHIP EAR-R
AUDIOTRACE FORWARD METEORITES EAR-L
AUDIOTRACE FORWARD METEORITES EAR-R
AUDIOTRACE FORWARD IMPACTS EAR-L
AUDIOTRACE FORWARD IMPACTS EAR-R
AUDIOTRACE FORWARD BLASTINGS EAR-L
AUDIOTRACE FORWARD BLASTINGS EAR-R
/*Compute normalized echogram and convolve it with samples */
AURALIZE FORWARD SPACE-SHIP EAR-L SPACE-SHIP SS-AL i i+d
AURALIZE FORWARD SPACE-SHIP EAR-R SPACE-SHIP SS-AR i i+d
AURALIZE FORWARD METEORITES EAR-L METEORITES MET-AL i i+d
AURALIZE FORWARD METEORITES EAR-R METEORITES MET-AR i i+d
AURALIZE FORWARD IMPACTS EAR-L IMPACTS IMP-AL i i+d
AURALIZE FORWARD IMPACTS EAR-R IMPACTS IMP-AR i i+d
AURALIZE FORWARD BLASTINGS EAR-L BLASTINGS BLA-AL i i+d
AURALIZE FORWARD BLASTINGS EAR-R BLASTINGS BLA-AR i i+d
/* A step in time */
DISPLACEMENT TIME FORWARD d
/* No non natural displacements */
/* because non normal samples. Please listen to */
/* the associated samples. */
/* The auralizable samples are event stochastic samples */
END
/* All samples has the same length! */
/* Final mixdown of the auralized parts */
SAMPLE SIMPLE-MIX SS-AL MET-AL MET-AL
SAMPLE SIMPLE-MIX MET-AL IMP-AL IMP-AL
SAMPLE SIMPLE-MIX IMP-AL IMP-AL BLA-AL
SAMPLE SIMPLE-MIX SS-AR MET-AR MET-AR
SAMPLE SIMPLE-MIX MET-AR IMP-AR IMP-AR
SAMPLE SIMPLE-MIX IMP-AR IMP-AR BLA-AR
/* Monaural narrator voice */
SAMPLE SIMPLE-MIX NARRATOR-VOICE BLA-AL BLA-AL
SAMPLE SIMPLE-MIX NARRATOR-VOICE BLA-AR BLA-AR
/* This is the resulting Terminus environment */
SAMPLE MAKE-STEREO BLA-AL BLA-AR TERMINUS-A
SAMPLE STEREO-MIX BACKGROUND-SPACE-SOUND-A TERMINUS-A TERMINUS-A
/* Delete all temporary data */
SAMPLE DELETE SS-AL
SAMPLE DELETE MET-AL
SAMPLE DELETE IMP-AL
SAMPLE DELETE BLA-AL
SAMPLE DELETE SS-AR
SAMPLE DELETE MET-AR
SAMPLE DELETE IMP-AR
SAMPLE DELETE BLA-AR
/* Write elapsed computing time */
SAY 'Computing time='TIME(\'E\')' seconds.'
/* Flash screen */
SPECIAL-FX FLASH
/* Audio message */
SPECIAL-FX PLAY-SOUND END-SAMPLE
/* End 3DA² session */
QUIT
Anhang A: Datenfiles
"In dubiis non est agendum"
Jeder der 3DA²-Datentypen kann in einem normalen Texteditor bearbeitet werden. Obwohl es nicht empfohlen wird, dass ein Anfänger in diese Dateien eingreift, könnte ein erfahrener Benutzer damit einige interessante Experimente durchführen – beispielsweise neue primitive Objekte erstellen. Die folgende Liste zeigt die mit der 3DA²-Software verknüpften Dateiformate.
WARNUNG!
Benutzer, die falsche Daten eingeben, können dazu führen, dass das Programm sehr seltsame Berechnungen durchführt. Es wird keine Haftung übernommen, falls der Computer außer Kontrolle gerät oder „neue“ akustische Phänomene auftreten.
A.1 Zeichnungsdateiformat
Dateiformat:
$3D-Audio_DrawingHeader
# <number of objects> <Magnification-factor 1-10000>
<Focal-factor 1-500> <Measure: 0 = Meter, 1 = Feet, 2 = Off>
<Grid Size 0-11 ( 0 = Big , 11 = Small )>
$<Object #n model name>
#<Origo X_O, Y_O, Z_O>
<Eigenvectors E_X, E_Y, E_Z><Size S_X, S_Y, S_Z>
$miniOBJHYES
Remark: $miniOBJHNO if no object data exist. Skip to next.
$ <Object#m primitive name>
# <Number of primitive objects>
# <Special primitive #> <Eight metric coordinates>
0: Tetrahedra; 8 coordinates
1: Cube; 8 coordinates
2: Octahedra; 2x8 coordinates
3: Prism; 8 coordinates
4: Room; 6x8 coordinates
5: Pyramid; 8 coordinates
6: Two dimensional plate; 8 coordinates
$miniMATRHYES
Remark: $miniMATRHNO if no material is assigned & skip to next.
$ <Material Name>
# <Graph mode> <Source type> <Color #> <E Intensity>
0: Wire 0: Furniture 0 - 256 0 - 48
1: Solid 1: Sender
2: Receiver
Remark: Frequencies 32 63 125 250 500 1k 2k 4k 8k 16k 32k Hz
# <Eleven absorption coefficients [0..100] at above frq>
# <Eleven phase shift coefficients [-360..360] at above frq>
# <Eleven directivity entries at above stated frequencies.>
0: Omnidirectional
1: Bicardioid
2: Cardioid
$miniFLGHYES
Remark: $miniFLGHNO if no flight-path is assigned & skip to next.
$ <Flight-path Name>
# <(SX, SY, SZ) Flight-path boundaries>
<(AX, AY, AZ) Flight-path Tilt>
# <Number of coordinates in flight-path>
# <(X,Y,Z) Object new origo coordiante>
<(A_X, A_Y, A_Z) Object tilt>
<Instance entrance time in seconds>
Beispiel:
$3D-Audio_DrawingHeader
#1 9711 231 0 5
$Cube
#0.040670 0.171643 0.656502
1.000000 -0.001465 0.000168
0.001466 0.999994 -0.003108
-0.000164 0.003108 0.999995
67 92 99
$miniOBJHYES
$Cube
#1
#1 -1.378665 -0.251693 0.281572
1.341315 -0.250144 0.273905
1.341489 0.251856 0.273736
-1.378491 0.250308 0.281404
-1.378989 -0.251859 -0.218429
1.340991 -0.250311 -0.226097
1.341165 0.251690 -0.226266
-1.378815 0.250141 -0.218600
$miniMATRHYES
$Leather
#0 0 0 0
#8 10 7 12 25 30 29 31 40 45 44
#-58 210 -17 71 325 -230 -129 331 140 45 -244
#1 1 1 1 1 1 1 1 1 1 1
$miniFLGHHYES
$Strange Flight
#10 20 30 0 0 0
#6
#-100 -100 -100 0 0 45 1
#0 0 0 0 45 0 2
#100 100 100 45 0 0 3
#10 100 -100 45 45 0 5
#-100 10 100 45 0 45 7
#100 -100 10 45 45 45 13
A.2 Objektdateiformat
Dateiformat:
$3D-Audio_ObjectsHeader
# <Number of Objects>
$ <Object #n native name>
# <Number of primitive objects>
# <Special primitive #> <Eight metric coordinates>
0: Tetrahedra; 8 coordinates
1: Cube; 8 coordinates
2: Octahedra; 2x8 coordinates
3: Prism; 8 coordinates
4: Room; 6x8 coordinates
5: Pyramid; 8 coordinates
6: Two dimensional plate; 8 coordinates
Beispiel:
$3D-Audio_ObjectsHeader
#3
$Unity_Cube
#1
#1 -1 -1 1
1 -1 1
1 1 1
-1 1 1
-1 -1 -1
1 -1 -1
1 1 -1
-1 1 -1
$Unity_Prism
#1
#3 -1 -1 1
1 -1 1
1 1 1
-1 1 1
0 -1 -1
0 -1 -1
0 1 -1
0 1 -1
$Unity_Pyramid
#1
#5 -1.5 -1.5 1.5
1.5 -1.5 1.5
0.0 2.0 0.0
0.0 2.0 0.0
-1.5 -1.5 -1.5
1.5 -1.5 -1.5
0.0 2.0 0.0
0.0 2.0 0.0
A.3 Materialdateiformat
Dateiformat:
$3D-Audio_MaterialsHeader
# <Number of Materials>
$ <Material Name>
# <Graph mode> <Source type> <Color #> < E Intensity>
0: Wire 0: Furniture 0 - 256 0 - 48
1: Solid 1: Sender
2: Receiver
Remark: Frequencies 32 63 125 250 500 1k 2k 4k 8k 16k 32k Hz
# <Eleven absorption coefficients [0..100] at above frq>
# <Eleven phase shift coefficients [0..100] at above frq>
# <Eleven directivity entries at above stated frequencies>
0: Omnidirectional
1: Bicardioid
2: Cardioid
Beispiel:
$3D-Audio_MaterialsHeader
#5
$Gray Hole
#0 0 0 0
#49 23 65 34 23 67 89 56 45 12 23
#20 -100 43 -321 -12 45 -124 -57 -87 39 12
#0 0 0 0 0 0 0 0 0 0 0
$SmallCavity-Bricks Against StoneWall
#0 0 0 0
#0 0 5 15 33 85 45 55 60 63 65
#-100 43 -321 -12 45 -124 -57 -87 39 12 20
#0 0 0 0 0 0 0 0 0 0 0
$SmallCavity-Bricks 50mm M-Wool->Stone
#0 0 0 0
#0 0 48 77 38 27 65 35 30 27 25
#43 -321 -12 45 -124 -57 -87 39 12 20 -100
#0 0 0 0 0 0 0 0 0 0 0
LargeCavity-Bricks Against StoneWall
#0 0 0 0
#0 0 14 28 45 90 45 65 70 72 75
#-321 -12 45 -124 -57 -87 39 12 20 -100 43
#0 0 0 0 0 0 0 0 0 0 0
$LargeCavity-Bricks 50mm M-Wool->Stone
#0 0 0 0
#0 0 37 100 85 60 80 65 55 50 43
#-12 45 -124 -57 -87 39 12 20 -100 43 -321
#0 0 0 0 0 0 0 0 0 0 0
A.4 Flugdateiformat
Dateiformat:
$3D-Audio_FlightsHeader
# <Number of Flight-paths>
$ <Flight-path Name>
# <Number of coordinates in flight-path>
# <(X,Y,Z) Object new origo coordinate>
<(AX, AY, AZ) Object tilt>
<Instance entrance time in seconds>
Beispiel:
$3D-Audio_FlightsHeader
#3
$Strange Flight
#6
#-100 -100 -100 0 0 45 1
#0 0 0 0 45 0 2
#100 100 100 45 0 0 3
#10 100 -100 45 45 0 5
#-100 10 100 45 0 45 7
#100 -100 10 45 45 45 13
$Strange Flight II
#6
#-10 -100 -10 0 0 45 1
#0 0 0 0 145 0 2
#100 100 100 45 0 0 4
#10 100 -100 145 45 0 5
#-10 10 10 145 0 45 6
#100 -10 70 45 145 45 7
$Strange Flight III
#6
#-10 -100 -100 0 0 145 5
#0 60 0 0 45 10 8
#100 10 100 45 50 0 13
#10 -100 -100 45 5 0 21
#-300 210 100 45 20 45 34
#10 -10 10 45 45 45 13 55
A.5 Trace-Daten-Dateiformat
Dateiformat:
$3D-Audio_ForwardTraceHeader or $3D-Audio_BackwardTraceHeader
Number of trace hits
<Ray density> <Reverberation accuracy> <Specular depth> <Diffusion accuracy> <Diffraction accuracy> <Frequency accuracy> <Mean reverberation time in seconds> <Max number of receivers> <Max number of senders>
Remark: Accuracy: [0..1] are manual values -1 initiates the auto state.
Density, Depth & Max numbers: Integer values
Seconds: Floating-point value.
Remark: Entries at 32 63 125 250 500 1k 2k 4k 8k 16k 32k Hz
# Frequency dependant reverberation times, 11 entries at 1, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95 and 99 % Relative humidity.
#<Ray length in meters><Accumulated absorption coefficient> <Receiver number> <Sender number>
Remark: If BIG-DATA is set then also the following data is represented.
# Directivity eigenvectors E_X, E_Y, E_Z
$Sender Name
$Receiver Name
Beispiel:
These data should not be manually edited. Every tampering with computed
data is a violation against the scientific credibility and result.
A.6 Einstellungsdateiformat
Dateiformat:
3D-Audio_Preferences_file.
Drawings Path
Objects Path
Materials Path
Flights Path
Trace Path
Echograms Path
Samples Paths
Remark: Color number range [0..255], RGB values range [0..256]
<color number> <Red value> <Green value> <Blue value>
Remark: The following four entries are for further expansions only, don't change manually.
0 0 0 0
Beispiel:
3DAudio_Preferences_file.
Work Harddisk:Sound Tracer/Drawings
Work Harddisk:Sound Tracer/Objects
Work Harddisk:Sound Tracer/Materials
Work Harddisk:Sound Tracer/Flights
Work Harddisk:Sound Tracer/Traced_Data
Work Harddisk:Sound Tracer/Echograms
Work Harddisk:Sound Tracer/Samples
0 13 8 6
1 0 0 0
2 15 13 9
.
.
.
255 15 15 15
0 0 0 0
Anhang B: Methode der 3DA²-Wissenschaft
„Pensée fait la grandeur de l'homme“
Blaise Pascal
Von den Grundlagen über Subjektivität und Pseudo-Objektivität hin zur echten Objektivität ist das Ziel dieses Anhangs.
B.1 Grundlagen
In diesem ersten Teil erkläre ich das Fundament aller Theorien. Leser, die mit diesen Begriffen vertraut sind, können diesen Teil überspringen und zum nächsten Abschnitt weitergehen.
B.1.1 Was sind Postulate
Ein Postulat ist eine zugrunde liegende Hypothese oder Annahme und meist ein Satz, der mit dem Anspruch vorgebracht wird, als axiomatisch zu gelten. Es wird angenommen und erfordert daher keinen Beweis seiner Gültigkeit. Dennoch macht eine Doktrin, die auf mehreren Postulaten beruht, spekulative Elemente aus, und Wissenschaftler sollten deren Verwendung minimieren. Hinweis: Die vollständige Abschaffung von Postulaten ist nicht das übergeordnete Ziel.
B.1.2 Was sind Axiome
Ein Axiom ist ein Satz, Prinzip oder eine Regel, der allgemeine Akzeptanz gefunden hat oder als solche angesehen wird – sei es aufgrund eines Anspruchs auf intrinsischen Wert oder auf Grundlage eines Appells an die Selbstverständlichkeit. Sie sind selbstkonsistente Aussagen über primitive Begriffe oder nicht definierbare Objekte, die die Grundlage für Diskurse bilden. Hinweis: Postulate sind in der Regel nicht allgemein akzeptiert.
B.1.3 Was sind Definitionen
Eine Definition dient dazu, die wesentlichen Merkmale und die genaue Bedeutung eines bestimmten Konzepts oder einer Sache festzulegen. Sie ist eine Spezifikation einer Konstruktion oder Interpretation dieses Konzepts. Zusammen mit den Postulaten und Axiomen bilden Definitionen die Bausteine einer Doktrin.
B.1.4 Was sind Hypothesen
Eine Hypothese ist ein vorläufig angenommener Satz, um dessen logische oder empirische Konsequenzen abzuleiten und so seine Übereinstimmung mit bekannten oder feststellbaren Tatsachen zu prüfen. Aus einer gut formulierten Hypothese kann eine gut formulierte Theorie abgeleitet werden.
B.1.5 Was sind Lemmata
Ein Lemma ist ein vorläufiges oder Hilfssatz oder Theorem, das zur unmittelbaren Verwendung in einem Beweis eines anderen Satzes demonstriert oder akzeptiert wird. Ein Lemma ist ein Vorsatz.
B.1.6 Was sind Theoreme
Ein Theorem ist eine Aussage, die bewiesen wurde oder deren Wahrheit vermutet wird. Es handelt sich um eine Regel oder eine Aussage über Beziehungen, die in der Mathematik üblicherweise durch eine Formel oder Symbole ausgedrückt wird.
B.1.7 Was sind Korollare
Ein Korollar ist ein abgeleiteter Satz aus einem Theorem. Es handelt sich um eine Ableitung, Folgerung oder zusätzliche Schlussfolgerung, die mehr oder weniger unmittelbar aus einem bewiesenen Satz resultiert. Ein Korollar ist ein Co-Theorem oder Post-Theorem.
B.1.8 Was sind Theorien
Die kohärente Menge von hypothetischen und pragmatischen Prinzipien, die den allgemeinen Bezugsrahmen für ein Forschungsgebiet bilden. Bei der Entwicklung einer wohlgeformten Theorie wird folgender theoretischer Körper angestrebt.
Theory X:
Postulates; Few and very consistent
Axioms; Necessary axioms in order to prove the following lemmas,
theorems and corollaries.
Definitions; Necessary definitions in order to prove the following
lemmas, theorems and corollaries.
Lemma; Exists if it lightens the proof of the following theorem.
Theorem; Dictation and proof of a hypothesis with the help of previous
stated axioms, definitions and proven lemmas, theorems and corollaries.
If isomorphism exists between Theory X~1~ and Theory X~2~ the latter
should be introduced with care and its attributes shouldn't make Theory
X~1~ inconsistent. Proving that Theory X is isomorph to Theory Y is
generally very difficult and thus not recommended. Often small sub-sets
of a theory are isomorph to an other theory. Making a well-formed theory
is to formulate the theory without isomorph proofs from isomorph
entities between non-equivalent theories. Example: The theory of
resistance-toasters proven with the theory of laser-toasters or vice
versa.
Corollaries; Only used to broaden the understanding of the previous
theorem.
Eine Theorie kann andere Theorien als Teilmengen enthalten und alle Eigenschaften dieser erben, wodurch die Theorie zu einer rekursiven Menge von Theorien basierend auf einem Fundament aus Postulaten, Axiomen und Definitionen wird. Das folgende Bild versucht, das Konzept der Theoriebildung zu veranschaulichen.

B.2 Die subjektive Ebene
Dieser Teil betrifft ausschließlich die subjektive Ebene der 3DA²-Wissenschaft, die erste Ebene, mit der man bei der Beschäftigung mit virtuellen Audio-Umgebungen konfrontiert wird. Zunächst definiere ich die Entitäten dieser Ebene, anschließend die Axiome, Definitionen und Theoreme. Einige Leser mögen meinen, dass die „subjektiven Axiome“ eher als „Postulate“ oder vielmehr „subjektive Postulate“ bezeichnet werden sollten, doch sie unterschätzen, dass Axiome in ihrer Definition stärker sind und somit „subjektive Postulate“ eine schwächere Entität darstellen.
B.2.1 Definition der subjektiven Ebene
Die subjektive Ebene einer entstehenden Theorie besteht aus noch nicht formulierten und durch Forschung noch nicht abgeglichenen subjektiven Hypothesen. Obwohl der wissenschaftliche Wert gering ist, sind die grundlegenden Ideen und Postulate von großem Interesse, da sie die Grundlage bilden, von der sich die spätere Theorie entwickeln soll. Jegliche Inkonsistenzen mit anderen Theorien treten auf dieser Ebene auf, wodurch es relativ einfach ist, eine pathologische Theorie abzulehnen.
B.2.2 3DA²-Einschränkungen: Subjektive Axiome
Wie bei den meisten Audio-Ray-Tracern gibt es auch hier einige Einschränkungen, weshalb die Vorhersage der virtuellen Audio-Impulsantwort ohne Berücksichtigung der folgenden Fakten nicht möglich ist. Diese hängen von der Heuristik-Funktion ab (für benutzerdefinierte Heuristik-Funktion siehe B.5 und warten Sie auf 3DA³), aber ursprünglich lauten sie wie folgt:
-
Das emittierte Schallsignal ist in Richtung stark quantisiert, aufgrund der Heuristik-Funktion.
-
Alle Modellflächen sind eben und glatt.
-
Spekulare Reflexionen werden angenommen.
-
Energieaddition wird angenommen.
-
Diskontinuitäten an den Kanten werden ignoriert.
-
Beugung, Dispersion, Resonanz und Brechung werden als Heuristik-Funktion implementiert.
-
Ein teilweise diffuser Schallfeldzustand wird angenommen.
B.2.3 Erstellung von Testmodellen: Subjektive Definitionen
Es ist wesentlich, solche Elemente des Raums zu berücksichtigen, die bei der Modellierung von großer Bedeutung sind. Wie erkennt man, was wichtig oder unwichtig ist (siehe 2.2)? Das erstellte Modell ist stark subjektiv, und der Modellierer sollte sich wahrscheinlich mehr auf große Objekte in der Audio-Umgebung konzentrieren als auf kleine Blumen oder winzige Insekten. Diese Art von Subjektivität ist jedoch für Anfänger eher pathologisch und sollte bei einer objektiven Kritik an ihnen berücksichtigt werden. Wenn Nutzer die Wesentlichkeiten in virtuellen Audio-Umgebungen verinnerlicht haben, werden ihre subjektiven Definitionen wertvoller und können – wenn richtig durchgeführt – auf ein pseudoobjektives Niveau gehoben werden (siehe Anhang B.5).
B.2.4 Durchführung von Hörtests: Subjektive Theoreme
Wenn die subjektiven Axiome und Definitionen festgelegt und die verschiedenen Berechnungen durchgeführt wurden, sollte das Ergebnis an mehreren unterschiedlichen Arten von Zuhörern getestet werden. Es ist nahezu ohne Bedeutung, nur eine einzige Art von Zuhörer zu verwenden, etwa alle größten Audiophilen, die ihre Kritikfähigkeit über lange Jahre durch Hörtests entwickelt haben. Ebenso wenig hilft die ausschließliche Verwendung von Personen, die regelmäßig Diskotheken besuchen, bei diesen Tests. Die Teilnehmer der Hörtests sollten die gesamte Bevölkerung mit allen Arten von Audio-Kenntnissen abbilden, um den größtmöglichen Effekt zu erzielen. Dennoch sind die Extremfälle gelegentlich sehr wichtig, um jenes letzte Stück des Theorems zu erhalten, das die gesamte Theorie gültig macht.
B.3 Definition von Objektivitäts-Operatoren
In diesem Teil stelle ich jene Elemente vor, die dabei helfen, subjektive Gedanken in objektivere zu transformieren. Es ist nicht beabsichtigt, diese in allen Lebensbereichen ständig anzuwenden; doch bei der Theoriebildung ist es unerlässlich, gelegentlich über sie nachzudenken. Dauerhaftes Denken mit diesen Operatoren im Hinterkopf während wissenschaftlicher Arbeiten ist jedoch sehr schwierig und kann ernsthafte innere Konflikte verursachen, besonders wenn die Selbstkritik nicht gut kontrolliert ist und nicht auf die wissenschaftliche Arbeit gerichtet wird.
B.3.1 Objektivität
Der erste Objektivitätsoperator ist natürlich die Objektivität. Er ist der wichtigste Operator unter diesen. Die Untersuchung neuer Phänomene, die zuvor vom Beobachter nicht erlebt wurden, bildet die erste Grundlage neuen Wissens in diesem Bereich. Unvermeidlich treten dabei Probleme auf, wenn kein a priori Wissen vorhanden ist – besonders dann, wenn die entstehende Theorie völlig neu ist und keine vorherigen Kenntnisse bekannt sind. In solchen Zeiten muss der Wissenschaftler sehr hart arbeiten, da der einzige Weg zur Objektivität darin besteht, Isomorphismen in einer bereits bekannten Theorie zu finden. Teilweise existieren zwischen allen Theorien gewisse Isomorphismen, und meistens bilden einige davon die Grundlage der neuen Theorie. Diese erste Phase im evolutionären Prozess einer Theorie ist von großer Bedeutung, und die Auswahl der Grundlagen-Theorien ist zwingend erforderlich. Gesucht wird nicht eine große Menge an Isomorphismen, sondern vielmehr die kleinste Menge an Theorien, die die Natur der neuen Theorie erklären können. Wenn es einen einfacheren Weg zur Erklärung (Theorembeweis) gibt und diese Erklärung (Theorem) mit der Natur zuvor formulierter Postulate, Axiome und Definitionen konsistent ist, sollte sie angenommen werden; dieses Verfahren wird üblicherweise als „Occams Rasiermesser“ bezeichnet. Die Nutzung kürzester Erklärungen macht eine Theorie leicht und kompakt und damit für andere Wissenschaftler besser begreiflich und nützlicher.
B.3.2 Weitsichtigkeit
Der Umgang mit einer neuen Theorie ist natürlich sehr schwierig, besonders wenn die „Erfinder“ in ihrem eigenen Wissenschaftsbereich engdenkend sind. Ein gelegentlicher Brainstorming-Prozess ist bei der Suche nach neuen Ideen von großem Nutzen. Dieser Brainstorming-Prozess muss durch die Neugierde ausgelöst werden, etwas Neues zu erfahren – und natürlich verfügen alle großen Wissenschaftler über diese Fähigkeit. Im Kontext der Informatik ist dieses Brainstorming-Verfahren ein Breitensuchalgorithmus, und eine übermäßige Nutzung davon entspricht dem Betrachten der Wasseroberfläche, ohne den Mut zu haben, in die Tiefe des Wissens einzutauchen.
B.3.3 Weitsicht
Das Gegenteil des vorherigen Operators ist die Weitsichtfähigkeit eines Wissenschaftlers. Unter Beibehaltung der gleichen Analogie wie im vorherigen Beispiel handelt es sich bei diesem Verfahren um einen Tiefensuchalgorithmus. Zu tiefes Eintauchen wird nicht empfohlen, doch die Interaktion zwischen Weitsicht und Offenheit – die Fähigkeit, in speziellen Fällen zu erkennen, wann welcher Ansatz angewendet werden soll – ist der Kern menschlicher Intelligenz. Visionäre sind in ihren Vorstellungen sehr weitsichtig, und um diese Wirklichkeit werden zu lassen, müssen sie auch offenherzig sein.
B.3.4 Selbstkritik
Der schwierigste Operator ist die Selbstkritik. Objektivität bedeutet nicht, selbstkritisch zu sein; denn Objektivität besagt lediglich, dass alle Seiten eines Problems betrachtet werden sollen. Selbstkritik ist wichtig, da sie das Selbstvertrauen stärkt. Einige Leser mögen dies anders sehen; um die Nebel um ihre schweren Köpfe zu lichten, sollte folgende Erklärung gelesen werden. Die erste Phase beim Lernen der Selbstkritik ist kein Booster, sondern genau das Gegenteil. Ich stimme zu. Wenn Selbstkritik als Teil der täglichen Arbeit ausgeübt wird, wandelt sie sich allmählich von einem Nicht-Booster zu einem Booster-Effekt. Dies geschieht, weil die Konfrontation mit täglicher Selbstkritik die Oberfläche gegenüber äußerer Kritik verhärtet. Diese Verhärtung gegen äußere Kritik stärkt die Selbstständigkeit und macht die entstehende Theorie folglich fester. Beachten Sie, dass ich hier eine entstehende Theorie und keine etablierte Theorie diskutiere.
B.3.5 Kreativität
Der Wille, etwas Neues zu schaffen, ist vielleicht die größte Triebkraft beim „Erfinden“. Bei der Anwendung dieses Operators wird die Suche nach Isomorphie aufgegeben und der obligatorische Schritt aus dem System heraus vollzogen. Die Betrachtung einer Theorie von außen ist eine recht komplizierte Angelegenheit und hat nichts mit Weitsicht zu tun, denn außerhalb des Systems gibt es weder Breite noch Tiefe. Die imaginäre Fähigkeit des Einzelnen übt eine starke Färbewirkung auf das Ausmaß erfolgreicher Kreativität aus. Sie beruht auf den Metaphern, die der Einzelne im Laufe der Jahre gesammelt hat; und obwohl Kreativität an sich kein intellektueller Akt ist, ist die Umsetzung des „Geschaffenen“ in die Theorie höchst signifikant intellektuell. Selbstverständlich muss sie auf andere „Geister“ übertragbar sein, und die vorhergehenden Operatoren fixieren dies mehr oder weniger. Insgesamt ist das Ergebnis wahrscheinlich sehr gut auf andere „Geister“ abbildbar.
B.3.6 Chaotik
Die Nutzung von Computern hat oft die folgende Frage aufgeworfen: „Verfügen wir über die Fähigkeit, dieses Problem in einer präzisen mathematischen Form zu berechnen, die mit allen Gesetzen der Natur konsistent ist?“. Als Informatiker muss ich eine harte Tatsache akzeptieren: Es ist selbst mit einem esoterischen Computer, der extrem schnell ist, unmöglich. Dieser Computer könnte in jeder Berechnung schneller sein als er selbst, und es würden dennoch Probleme existieren, die er nicht lösen könnte. Nun gut! Warum sich dann mit solchen Trivialitäten beschäftigen? Die wahre Tatsache ist: Wenn alles im Universum exakt wäre und jedes Teilchen „wüsste“ (Ort, Geschwindigkeit, Temperatur usw.) über alle anderen Teilchen im Universum, wäre es unmöglich, einen einzigen Attributwert im Universum zu verändern. Ich gehe von einem unendlichen Universum aus, aber selbst wenn es nicht unendlich wäre, würde die extrem hohe Kommunikation zwischen allen Teilchen zusammenbrechen. Der nächste Schritt besteht darin, die oben genannte Hypothese aufzugeben und stattdessen anzunehmen, dass die Teilchen nur mit ihren unmittelbaren Nachbarn kommunizieren. Dies erleichtert die Kommunikation wirklich, führt aber gleichzeitig eine Form verzögerter „Nachrichten“ ein – selbst wenn sie sich mit Lichtgeschwindigkeit ausbreiten. Verbindet man dies mit der grundlegenden Tatsache des Universums „Einheit ist dein Schicksal“, so sollte die Schlussfolgerung lauten: Fast nichts im Universum ist exakt, denn es würde unendlich viel Zeit dauern, alle Teilchen in ihren „perfekten“ Positionen, Geschwindigkeiten, Temperaturen usw. zu halten.
Delayed Messages + Uniformity + Exactness -> Paradox
Delayed Messages + Uniformity + Chaoticness -> Truly perceivable
Here I state my postulates.
(1) Nearly nothing in the Universe is exact, except the fundametnal constants.
(2) All mathematics are exact.
(3) Computers are formally exact.
(4) Computers can handle chaotic systems.
Postulat vier behauptet nicht, dass Computer chaotisch sind, sondern dass sie so programmiert werden können, dass sie eine gewisse Chaotik aufweisen. Es wäre paradox zu sagen, dass Computer nicht nur formal exakt, sondern auch wirklich exakt wären. Der Schluss dieses Teils lautet: Eine exakte Formel oder ein System zu finden, hilft nur dabei, die Tiefe einer Theorie zu verstehen, aber nicht explizit die eigentliche Natur des Problems darzustellen; es ist vielmehr irgendwie implizit. Der Schöpfer einer Theorie formt sein eigenes explizites Wissen in Form von visuellen Eindrücken und dergleichen. Diese werden später durch seinen Geist gefiltert und schließlich in einer Weise niedergeschrieben, die hoffentlich von jemandem verstanden werden kann – nicht nur vom Schöpfer selbst. Die Essenz der chaotischen Faktoren niederzuschreiben, ist sehr schwierig und wahrscheinlich zeitaufwendig; doch wenn man die anderen objektiven Operatoren berücksichtigt, könnte dies Licht auf die Komplexität werfen, mit der man bei Theorien umgeht.
B.4 Von Subjektivität zu Objektivität
In diesem Teil werde ich die Transformation von der subjektiven zur objektiven Ebene beschreiben. Die Definitionen werden von allgemeinen Warnungen bezüglich Kontaminationseffekten eingeleitet, gefolgt von den Extremfällen von Formeln und der Verwendung zuvor definierter Objektivitäts-Operatoren.
B.4.1 Definition der objektiven Ebene
Die objektive Ebene einer sich entwickelnden Theorie ist der Teil, der aus objektiven Hypothesen besteht, die durch Forschung und andere Theorien gebildet und verarbeitet werden. Im starken Gegensatz zur subjektiven Ebene ist der wissenschaftliche Wert hier sehr hoch. Die grundlegenden Ideen und Postulate bilden die Grundlage und machen die Theorie auf objektiven Grundlagen solide. Dies hängt vollständig davon ab, ob der Forscher eine solide theoretische Grundlage verwendet oder nicht. Die Verwendung einer sich noch entwickelnden und noch nicht abgeschlossenen Theorie könnte dazu führen, dass der Wissenschaftler fehlerhafte Annahmen trifft.
B.4.2 Definition der pseudo-objektiven Ebene
Die pseudo-objektive Ebene einer sich entwickelnden Theorie ist der Teil, der aus subjektiven Hypothesen besteht, die durch Objektivitäts-Operatoren gebildet und verarbeitet werden. Auch diese Ebene ist von großer wissenschaftlicher Bedeutung. Sie bildet die neue Theorie, und in Kombination mit der objektiven Grundlage steht die vollständige Theorie zur Verfügung. Falls sich die pseudo-objektive Ebene als konsistent mit allen bestehenden Theorien erweist, wird sie als vollständig objektiv angenommen. Nach einer solchen Konsistenzprüfung kann die Theorie als Grundlage für eine sich weiterentwickelnde Theorie eines anderen Forschers dienen. Falsche Eingaben führen zweifellos zu falschen Ausgaben, und wahre Eingaben führen zu diskutierbaren Ausgaben – verwenden Sie Ihre Fakten mit Sorgfalt, denn Ihre Ausgabe könnte die Eingabe eines anderen sein.
B.4.3 Kontaminationseffekte
Das Verweben von berechneten Daten ist unter keinen Umständen zulässig. Es ist üblicherweise der Fall, dass Daten umfangreich sind, ohne den Beobachterparadoxon bei der Bearbeitung von Computerausgaben zu berücksichtigen. Dieser Paradoxon ist eine Plage, die fast alle Wissenschaften heimsucht und besagt, dass der Wissenschaftler keine Beobachtung durchführen kann, ohne sie mit seinen Instrumenten zu kontaminieren. Dieser Paradoxon hat jedoch auch eine klare Bedeutung in der Informatik und Mathematik, wenngleich er eine andere Gestalt annimmt. Für diese Wissenschaften kann das Problem, den evolutionären Prozess einer Theorie nach ihren Wünschen und Absichten zu steuern („Man sieht, was man sehen will“), zu fehlerhaften Theorien führen. Die falsche Anwendung von Objektivitätsoperatoren bedeutet genau, dass die Theorie kontaminiert ist.
B.4.4 Pathologische Berechnungsexperimente
Was muss man aus extremen Fällen eines Berechnungsverfahrens lernen? Dies ist eine recht große Frage, doch die Antwort könnte überraschend einfach sein. Die Suche nach einer globalen Formel, die in der Lage ist, für die Mehrzahl der Berechnungen und Fälle exakt zu sein, ist recht einfach. Wenn man jedoch die Suche nach pathologischen Fällen betreibt – also Fälle, in denen die Berechnungen ihr schlechtestes Verhalten zeigen –, dann wird das Verständnis der Formel vertieft. Die Überprüfung des Verhaltens dieser Formeln gegenüber der Theorie, die als Grundlage für diese Berechnungen dient, könnte Inkonsistenzen in der Theorie und möglicherweise auch in der Formel aufdecken. Diese Arbeit ist einer der zeitaufwändigsten Teile bei der Theorieentwicklung, da extreme Fälle nicht immer offensichtlich sind und erhebliche Zeit in Anspruch nehmen können, um sie zu finden. Sobald sie schließlich gefunden werden, könnten sie die gesamte Theorie zerstören, und der Wissenschaftler müsste von vorne beginnen.
B.4.5 Die Verwendung von Objektivitätsoperatoren
Beim Einsatz der Objektivitäts-Operatoren muss betont werden, dass es kein einseitiges Denken gibt und das Folgende lediglich eine Reflexion meiner Nutzung dieser Operatoren darstellt. Zunächst wirkt der visionäre Teil (Weitsicht), indem er einen fernliegenden Zweck aus mehreren „Fantasien“ zusammensetzt. Danach prüft die Selbstkritik, ob diese „Fantasien“ realisierbar sind, und einige Schleifen im Brainstorming-Verfahren (Weitschweifigkeit) bestätigen jeweils Antworten. Nun ist es Zeit, objektiv zu werden und die Ideen aus allen Aspekten anderer Theorien zu durchdringen und sie mit der Kreativität so weit wie möglich zu verbinden. Anschließend erfolgt ein nicht beschreibbarer Wechsel zwischen den Operatoren, um die Theorie weiterzuentwickeln. Häufig, wenn ein hartnäckiges Problem in der Theorie auftritt, wird ein anderer Operator ausgewählt und eingesetzt. Die Auswahl erfolgt wie die primäre Heuristik, von der aus sich die Theorie zu entwickeln begann.
B.5 Die Heuristische Objektivitäts-Transformationsschreibweise
Beim Aufbau der 3DA²-Theorie ist die Nutzung von Log und Cog wesentlich. Dies stellt natürlich nur den kleinsten notwendigen Satz dar, um überhaupt eine Vorstellung von der Theorie zu erhalten. Es ist daher nicht verboten, den Inhalt und die Gliederung von Log und Cog zu erweitern.
B.5.1 Grundlegendes Heuristisches Template
Das grundlegende Template für die subjektiven Axiome, Definitionen und Theoreme der 3DA² ist unten angegeben. Alle 3DA²-Sitzungen, die als Grundlage der 3DA²-Theorie dienen sollen, müssen explizit mit Templates versehen sein, um Schwächen oder Durchbrüche nachverfolgen zu können.
Ray distribution:
Three dimensional distribution of rays along with their intensity variation. Directivity of sender/receiver could be inserted into this distribution. Description of the distribution should be done in mathematical notation.
Heuristic ray distribution:
Heuristic distribution of rays along with their intensity variation. Description of this distribution should be done in clear and concise English. If any formula is used it should be written down.
Reverberation truncation:
Stating what kind of reverberation estimation was used and where truncation limit was set, if any.
Diffusion heuristic:
Basic idea of diffusion heuristics, represented in plain English and mathematical expressions.
Diffraction heuristic:
Basic idea of diffraction heuristics, represented in plain English and mathematical expressions.
Frequency split up:
Number of bands and how they are separately calculated in the above heuristics, if they are.
Phase heuristic:
Basic idea of phase heuristics, represented in plain English and mathematical expressions. This heuristic is introducing the ability to consider the energy addition as pressure additions. It could be very tempting to think that it IS really pressure additions therefore it should be specified that it isn't.
B.5.2 Das Log: Subjektive Prämissen
Das Log ist die virtuelle Audio-Umgebung, die in klarem Englisch formuliert wird. Auch das heuristische Template ist ein Element des Log und sollte der Modellerklärung vorausgehen. Der Abschluss des Logs stellt den Zweck und die Erwartungen der jeweiligen Sitzung dar.
B.5.3 Das Cog: Subjektive Klauseln
Der Cog besteht aus Antworten auf die Log-Fragen und wird für jede Person erstellt, die den Hörtest absolviert. Die Teilnehmer sollten die Erwartungen nicht kennen, um Kontaminationswirkungen zu minimieren. Am Ende sollte ein Bericht über diese Antworten im Vergleich zu den Erwartungen erstellt werden, was natürlich vom Log-Schreiber erfolgen sollte.
B.5.4 Pseudo-objektive Klauseln
Der nächste Handlungsschritt besteht darin, die Objektivitätsoperatoren auf den Cog anzuwenden und ein neues Log mit besserer Kohärenz zwischen Absicht und Erwartung zu erstellen. Während diese Hörtests fortgesetzt werden und Absicht sowie Erwartung einander annähern oder sogar übereinstimmen, kann der Cog in die 3DA²-Theorie integriert werden.
Anhang C: 3DA² ARexx-Programmierung
"Esse non videri"
Fredrik The Great
Dieser Anhang befasst sich ausschließlich mit den ARexx-Schlüsselwörtern und deren Definitionen. Es handelt sich nicht um eine Übersicht der ARexx-Sprache, da bereits Bücher zu diesem Thema veröffentlicht wurden.
C.1 Audiotrace
Dieses Schlüsselwort steuert alle Tracer-Funktionen, sei es für Einstellungen oder den eigentlichen Trace-Vorgang. Der programmierbare heuristische Ray-Tracing-Algorithmus ist über dieses Schlüsselwort zugänglich.
C.1.1 Einstellungen
Das erste Unterschlüsselwort ist „settings“, das die grundlegenden Variablen des Tracers umfasst. Diese stellen die Hauptgeschwindigkeitsfaktoren beim Ray-Tracing dar, und der Benutzer kann die resultierende Geschwindigkeit in der Regel aus diesen Einstellungen abschätzen. Hinweis: Die Geschwindigkeit kann sehr ungenau sein, wenn die heuristische Funktion so geschrieben ist, dass chaotische Faktoren nicht berücksichtigt werden (siehe Anhang B).
C.1.1.1 Big_Data
Die erzeugten Daten werden vollständig mit ihrer Intensität, Zeit, zurückgelegter Pfadlänge und dem Aufprallvektor gespeichert. Zudem werden die Namen der Quell- und Empfangspunkte im Textformat gespeichert.
C.1.1.2 Small_Data
Die erzeugten Daten werden mit ihrer Intensität, Zeit und den Namen der Quell- und Empfangspunkte im numerischen Format gespeichert.
C.1.1.3 Ray_Density
Von der Quelle oder dem Empfänger aus – abhängig davon, ob der Benutzer vorwärts- oder rückwärts trace – wird mit diesem Schlüsselwort die Anzahl der abgestrahlten Strahlen festgelegt, die das später berechnete Echogramm bilden.
C.1.1.4 Reverberation_Accuracy
Dieses Schlüsselwort legt die Abschneidelimitierung des Echogramms fest. Es wird in Prozent der Gesamtdauer des Echogramms angegeben. Die Dauer des Echogramms wird mit der Sabinschen Formel berechnet. Ein kürzeres Echogramm beschleunigt die Berechnungen des Auralizers.
C.1.1.5 Specular_Depth
Dieses Schlüsselwort legt die maximale Anzahl von Reflexionen fest. Es ist ratsam, diesen Wert nicht zu hoch einzustellen (n=50 ist in vielen Fällen sehr tief, insbesondere wenn das Modell stark verdichtet oder detailliert ist).
C.1.1.6 Diffusion_Genauigkeit
Dieses Schlüsselwort legt den Prozentsatz der Diffusionsstrahlen fest, die bei jeder Reflexion berechnet werden sollen. Die Gesamtanzahl der Diffusionsstrahlen dient als Grundlage für diese Berechnungsinstanzen. Dies ist sicherlich stark abhängig von der heuristischen Ray-Trace-Funktion des Benutzers. Die Diffusion könnte anschließend angewendet werden, doch dies setzt voraus, dass jedes Material dieselben Diffusionseigenschaften aufweist – was sicherlich nicht der Fall ist.
C.1.1.7 Beugung_Genauigkeit
Dieses Schlüsselwort legt den Prozentsatz der Beugungsstrahlen fest, die berechnet werden sollen (Strahlen, die eine Kante oder eine Ecke passieren). Die Gesamtanzahl der Beugungsstrahlen dient als Grundlage für diese Berechnungsinstanzen. Dies ist sicherlich stark abhängig von der heuristischen Ray-Trace-Funktion des Benutzers. Die Beugung könnte anschließend mit speziellen Kanten- und Eckenobjekten angewendet und dann erneut verfolgt werden. Letztere Lösung ist interessant, wenn der Benutzer nur die Beugungsanteile der Ray-Trace-Berechnungen erhalten möchte.
C.1.1.8 Frequenz_Genauigkeit
Dieses Schlüsselwort legt den Prozentsatz der frequenzgeteilten Strahlen fest, die bei jeder Reflexion berechnet werden sollen. Die Gesamtanzahl der Frequenzbänder (normalerweise 10) dient als Grundlage. Dies ist sicherlich stark abhängig von der heuristischen Ray-Trace-Funktion des Benutzers.
C.1.1.9 Phase_Genauigkeit
Dieses Schlüsselwort legt den Prozentsatz der Strahlen fest, die bei ihrer Ausbreitung die phasenabhängigen Material Eigenschaften der Objekte berücksichtigen. Es hängt stark von der vorherigen Einstellung „Frequency-Accuracy“ ab. Dies ist sicherlich stark abhängig von der heuristischen Ray-Trace-Funktion des Benutzers.
C.1.1.10 Alle
Dieses Schlüsselwort setzt fast alle vorherigen Einstellungsvariablen für das Haupt-Schlüsselwort „Audiotrace“.
C.1.2 Vorwärts
Wenn alle Einstellungen vorgenommen wurden und der Benutzer die virtuelle Audio-Modelle audio-tracen möchte, kann er sie vorwärts verfolgen. Das bedeutet, die Audio-Trace-Berechnungen von der Quelle zum Empfänger durchzuführen.
C.1.3 Rückwärts
Wenn alle Einstellungen vorgenommen wurden und der Benutzer das virtuelle Audiomodell audio-tracen möchte, kann er es rückwärts tracen. Das bedeutet, die Audio-Trace-Berechnungen vom Empfänger zur Quelle durchzuführen.
C.1.4 Vollständig
Wenn alle Einstellungen vorgenommen wurden und der Benutzer das virtuelle Audiomodell audio-tracen möchte, kann er eine Voll-Trace durchführen. Das bedeutet, die Audio-Trace-Berechnungen sowohl von der Quelle zum Empfänger als auch vom Empfänger zur Quelle durchzuführen. Dies hilft bei der Konsistenzprüfung der Benutzer-Heuristik-Funktion. Wenn das Ergebnis im Vorwärtsmodus dem Ergebnis im Rückwärtsmodus entspricht, handelt es sich bei der Heuristik-Funktion um eine geeignete Ray-Trace-Heuristik. Falls nicht, sollte die Heuristik-Funktion überprüft und korrigiert werden. Die Korrekturen sollen als Anmerkungen im Quellcode der Heuristik festgehalten werden, wobei das Problem und die Lösung dokumentiert werden (siehe Anhang B).
C.1.5 Alle
Wenn der Benutzer eine vollständige Trace durchführen möchte, d.h. wenn alle Sender und Empfänger an der Ray-Trace-Berechnung beteiligt sein sollen, bewirkt das Schlüsselwort „Alle“ dies. Hinweis: Keine Namen erforderlich.
C.2 Auralisierung
Dieses Schlüsselwort verwaltet alle Befehle des Auralizers, sei es für Einstellungen oder den eigentlichen Auralisierungsprozess. Der programmierbare Auralizer-Algorithmus ist über dieses Schlüsselwort zugänglich.
C.2.1 Einstellungen
Das erste Unterschlüsselwort ist „Einstellungen“, dessen Bereich die Auralizer-Parametervariablen enthält. Diese sind die Hauptgeschwindigkeitsfaktoren im Auralisierungsprozess, und der Benutzer kann die resultierende Rechengeschwindigkeit in der Regel anhand dieser Einstellungen abschätzen. Hinweis: Die Geschwindigkeit ist nicht mehrdeutig wie die Heuristikfunktion im Ray-Tracing-Verfahren. Dennoch würde eine fehlerhafte Auralizer-Programmierung zu einer falschen Faltung führen und somit die resultierenden Daten sehr unklar machen.
C.2.1.1 Dirac_Sample_Frequency
Die Dirac-Sample (Echogramm), das im Auralisierungsverfahren (Faltung) verwendet wird, kann auf jede Abtastrate eingestellt werden.
C.2.1.2 Sound_Sample_Frequency
Die resultierende Sound-Sample, die aus dem Auralisierungsverfahren (Faltung) resultiert, kann auf jeden beliebigen Wert eingestellt werden.
C.2.1.3 Dirac_Sample_Data_Width
Die Dirac-Sample, die im Auralisierungsverfahren (Faltung) verwendet wird, kann auf jede Datenbreite eingestellt werden. Hinweis: Verwenden Sie nur 2^n^-Bit-Breiten.
C.2.1.4 Sound_Sample_Data_Width
Die resultierende Sound-Sample, die im Auralisierungsverfahren (Faltung) verwendet wird, kann auf jede beliebige Breite eingestellt werden. Hinweis: Verwenden Sie nur 2^n^-Bit-Breiten.
C.2.2 Vorwärts
Nach Abschluss aller Einstellungen kann der Benutzer die vorwärtsgerechneten Ray-Tracing-Daten an das Auralisierungsverfahren weiterleiten, um ein ray-getraces virtuelles Audiomodell zu auralisieren.
and
C.2.3 Rückwärts
Nach Abschluss aller Einstellungen kann der Benutzer die rückwärtsgerechneten Ray-Tracing-Daten an das Auralisierungsverfahren weiterleiten, um ein ray-getraces virtuelles Audiomodell zu auralisieren.
and
C.2.4 Vollständig
Wenn alle Einstellungen vorgenommen wurden und der Benutzer ein ray-traced virtuelles Audiomodell auralisieren möchte und dabei sowohl die Vorwärts- als auch die Rückwärts-Ray-Tracing-Daten verwenden möchte, kann er das Schlüsselwort „full“ verwenden.
and
C.3 Löschen
Dieses Schlüsselwort verwaltet alle Datenlöschfunktionen, die verwendet werden, wenn der Benutzer Daten bereinigen möchte. Hinweis: Dieses Schlüsselwort ruft kein Bestätigungsfenster auf, um zu überprüfen, ob der Benutzer tatsächlich wertvolle Daten löschen möchte.
C.3.1 Zeichnung
Das folgende Beispiel zeigt, wie der Benutzer ein sauberes Zeichenmodell ohne Objekte im virtuellen Audiomodell erstellen sollte. Hinweis: Dieses Schlüsselwort ruft kein Bestätigungsfenster auf, um zu überprüfen, ob der Benutzer tatsächlich wertvolle Daten löschen möchte.
C.3.2 Objekte
Das folgende Beispiel zeigt, wie der Benutzer einen sauberen Objektbestand ohne Objekte erstellen sollte. Dies bedeutet, dass der Benutzer einen neuen Objektbestand aus dem sekundären Speicher abrufen muss (siehe C.9.2), um eine Modellierung zu ermöglichen. Hinweis: Dieses Schlüsselwort ruft kein Bestätigungsfenster auf, um zu überprüfen, ob der Benutzer tatsächlich wertvolle Daten löschen möchte.
C.3.3 Materialien
Das folgende Beispiel zeigt, wie der Benutzer einen sauberen Materialbestand ohne Materialien erstellen sollte. Dies bedeutet, dass der Benutzer einen neuen Materialbestand aus dem sekundären Speicher abrufen muss (siehe C.9.3) oder neue Materialien mit „Material erstellen ...“ (siehe C.10.1) erstellen muss, um eine Modellierung zu ermöglichen. Hinweis: Dieses Schlüsselwort ruft kein Bestätigungsfenster auf, um zu überprüfen, ob der Benutzer tatsächlich wertvolle Daten löschen möchte.
C.3.4 Flüge
Das folgende Beispiel zeigt, wie der Benutzer einen sauberen Flugbestand ohne Flugpfade erstellen sollte. Wenn das Modell statischer Natur ist, d.h. alle Objekte fest und nicht beweglich sind, sind diese Flugpfade nicht verwendbar. Die Anzahl der primitiven Flüge, die der Benutzer normalerweise beim Start laden muss, beeinflusst den Speicherbedarf, der in der Regel erheblich ist. Wenn das Modell statisch ist, macht dieses Schlüsselwort ein speicherabhängiges System weniger abhängig. Hinweis: Dieses Schlüsselwort ruft kein Bestätigungsfenster auf, um zu überprüfen, ob der Benutzer tatsächlich wertvolle Daten löschen möchte.
C.3.5 Audiospuren
Das folgende Beispiel zeigt, wie der Benutzer alle berechneten Trace-Daten (sowohl Vorwärts- als auch Rückwärtstrace-Daten) löschen sollte. Hinweis: Dieses Schlüsselwort ruft kein Bestätigungsfenster auf, unabhängig davon, ob der Benutzer tatsächlich wertvolle Daten löschen wird.
C.3.6 Echogramme
Das folgende Beispiel zeigt, wie der Benutzer alle normalisierten Echogramme, die mit dem virtuellen Audiomodell verknüpft sind, löschen sollte. Hinweis: Dieses Schlüsselwort ruft kein Bestätigungsfenster auf, unabhängig davon, ob der Benutzer tatsächlich wertvolle Daten löschen wird.
C.3.7 Alle
Das folgende Beispiel zeigt, wie der Benutzer alle mit dem virtuellen Audiomodell verknüpften Daten löschen sollte. Hinweis 1: Dieses Schlüsselwort ruft kein Bestätigungsfenster auf, unabhängig davon, ob der Benutzer tatsächlich wertvolle Daten löschen wird. Hinweis 2: Dabei werden alle Daten gelöscht.
C.4 Verschiebung
Dieses Schlüsselwort behandelt die Verschiebungsfunktionen verschiedener Datenkomponenten, d. h. kleine spezifische Änderungen bezogen auf die vorherigen Daten als relative Basis in der Berechnung. Die Verwendung dieses Schlüsselworts und die Zuweisung einer Flugbahn machen die virtuelle Audio-Umgebung automatisch dynamisch. Die Dynamisierung des Modells erhöht den Rechenaufwand, da in jedem Schritt neue Echogramme berechnet werden müssen.
C.4.1 Zeit
Dieses Unterschlüsselwort behandelt die Zeitschwankungen, die in einem dynamischen virtuellen Audio-Modell verwendet werden. Die Zeit ist direkt mit der Flugbahn der Objekte verknüpft und wird explizit berechnet, wodurch eine nicht-richtungsgebundene Zeit möglich wird (d. h., Vorwärts in der Zeit könnte auch Rückwärts in der Zeit bedeuten). Um eine normale Abbildung unserer Wahrnehmung von Zeit zu erzielen, sollte der Benutzer zwischen zwei Richtungen wählen: vorwärts oder rückwärts.
C.4.1.1 Vorwärts
Wenn „vorwärts“ als End-Schlüsselwort verwendet wird, wird die Zeit vorwärts erzwungen, was eine normale Zeitverlaufs-Darstellung ermöglicht.
C.4.1.2 Rückwärts
Wenn „rückwärts“ als End-Schlüsselwort verwendet wird, wird die Zeit rückwärts erzwungen, wodurch das Zurückgehen in der Zeit möglich wird. Wissenschaftlich betrachtet ist dies keine kompatible Lösung gemäß dem normalen Verhalten unserer Umwelt. Dies führt dazu, dass alle Ableitungen aus rückwärtigen Zeit-Simulationen teilweise falsch sind. Dennoch ermöglicht dies die Erstellung von nichtlinearen und richtungsunabhängigen Zeitlösungen. Diese Lösungen können in nicht-natürlichen Zeitszenarien eingesetzt werden, wobei sie wahrscheinlich am nützlichsten sind, wenn man Science-Fiction-Arbeit durchführt. Wenn 3DA² auf diese Weise verwendet wird, muss der Benutzer angeben, dass die Simulation keiner natürlichen Wahrnehmungsäquivalenz entspricht.
C.4.2 Objekt
Dieses Unterschlüsselwort behandelt die Variationen der Position, Größe und Ausrichtung von Objekten in einem dynamischen virtuellen Audio-Modell.
C.4.2.1 Position
Die Verwendung dieses End-Schlüsselworts bewirkt eine Positionsverschiebung eines bestimmten Objekts relativ zu seiner aktuellen Position im Raum.
C.4.2.2 Größe ändern
Mit diesem Endwort wird die Größe eines bestimmten Objekts relativ zu seiner aktuellen Größe verschoben.
C.4.2.3 Ausrichtung
Mit diesem Endwort wird die Ausrichtung eines bestimmten Objekts relativ zu seiner aktuellen Ausrichtung im Raum gedreht. Die Rotationsreihenfolge ist x, y, dann z.
C.4.2.4 PSO
Mit diesem Endwort werden Position, Größe und Ausrichtung eines bestimmten Objekts relativ zu seiner aktuellen Position, Größe und Ausrichtung im Raum verschoben. Die Rotationsreihenfolge ist x, y, dann z.
C.4.3 Material
Dieses Unterwort behandelt die frequenz-, phasen- und Richtwirkungs-Verschiebungen eines bestimmten Materials. Änderungen beziehen sich auf die aktuellen Werte (vergleiche mit C.10.2). Durch Erstellung eines Materials mit dynamischer Frequenz-, Phasen- und Richtwirkungsantwort ist es möglich, ein realistischeres Materialverhalten zu erzielen. Weitere Erläuterungen finden Sie in der Einleitung.
C.4.3.1 Frequenz
Wenn das letzte Schlüsselwort „frequency“ lautet, werden die Verschiebungen auf die Frequenzantwort des Materials abgebildet.
C.4.3.2 Phase
Wenn das letzte Schlüsselwort „phase“ lautet, werden die Verschiebungen auf die Phasenantwort des Materials abgebildet.
C.4.3.3 Richtwirkung
Wenn das letzte Schlüsselwort „directivity“ lautet, werden die Verschiebungen auf die Richtwirkungscharakteristik des Materials abgebildet. Hinweis: Die aktuelle Version unterstützt nur drei Richtwirkungsmodi (0 = omnidirektional, 1 = bidirektional, 2 = Herzkardioide); daher sind Verschiebungen größer als ±1 sinnlos.
C.4.4 Flug
Dieses Unterschlüsselwort behandelt Variationen der Flugbahnposition, -größe und -ausrichtung, die in einem dynamischen virtuellen Audiomodell verwendet werden. Normalerweise ist dies nicht üblich, da die Flugbahnen von Anfang an korrekt mithilfe eines geeigneten Flugbahn-Generators erzeugt werden sollten. Bei der Überprüfung der Konsistenz der virtuellen Audioumgebung ist es erforderlich, kleine Verschiebungen vorzunehmen, um mögliche Probleme mit der heuristischen Ray-Tracing-Funktion aufzudecken. Hinweis: Dies darf nur zur Überprüfung der Modell-zu-Natur-Konsistenz verwendet werden.
C.4.4.1 Position
Die Verwendung dieses Endschlüsselworts bewirkt eine spezifische Verschiebung des Flugbahnursprungs relativ zu seiner aktuellen Position im Raum.
C.4.4.2 Größe
Die Verwendung dieses Endschlüsselworts bewirkt eine spezifische Größenverschiebung der Flugbahn relativ zu ihrer aktuellen Größe.
C.4.4.3 Ausrichtung
Die Verwendung dieses Endschlüsselworts bewirkt eine spezifische Ausrichtung der Flugbahn relativ zu ihrer aktuellen Ausrichtung im Raum. Die Rotationsreihenfolge ist x, y, dann z.
C.4.4.4 PSO
Die Verwendung dieses Endschlüsselworts bewirkt eine spezifische Position, Größe und Ausrichtung der Flugbahn relativ zu ihrer aktuellen Position, Größe und Ausrichtung im Raum. Die Rotationsreihenfolge ist x, y, dann z.
C.5 Drawing_To_Object
Beim Erstellen einer Reihe von automatisch generierten Objekten macht dieses Schlüsselwort das aktuelle Zeichenmodell zu einem Objekt. Hinweis: Dieser Befehl löscht das aktuelle Zeichenmodell nicht, sodass es möglich ist, basierend auf dem aktuellen Objekt neue Objekte hinzuzufügen oder bestehende zu verschieben/zu entfernen.
C.6 Echogramm
Dieses Schlüsselwort steuert alle Echogrammfunktionen, sei es für Einstellungen oder das eigentliche Normalisierungsverfahren des Echogramms.
C.6.1 Einstellungen
Das Unterschlüsselwort „Settings“ wird verwendet, wenn die Normalisierungsmethode im Normalisierungsverfahren des Echogramms geändert wird.
C.6.1.1 No_Normalize
Es erfolgt keine Normalisierung des berechneten Echogramms. Dadurch bleiben die Werte roh. Bei Verwendung in der Auralisierung-Konvolution führt dies immer zu schlechten Ergebnissen, da die wenigsten signifikanten Bits verloren gehen. Diese Einstellung wird nur dann verwendet, wenn der Benutzer schnelle Berechnungen und sonst nichts benötigt.
C.6.1.2 Linear_Normalize
Es wird eine Normalisierung des berechneten Echogramms durchgeführt. Der Verlust der wenigsten signifikanten Bits, der für das Auralisierungsverfahren kritisch ist, wird durch dieses Endschlüsselwort unterdrückt. Dies ist die Standard-Einstellung, und die Verwendung des mit „Linear_Normalize“ normalisierten Echogramms ist die geeignete.
C.6.1.3 Exp_Normalize
Die Normalisierung des berechneten Echogramms erfolgt nichtlinear. Um die Normalisierung des Echogramms an die menschliche Wahrnehmung, d. h. an die Trägheit (Integration) des Gehörs, besser anzupassen, wird diese laboratorische Einstellung verwendet.
C.6.2 Vorwärts
Die Berechnung eines Echogramms von einem spezifischen Sender zu einem spezifischen Empfänger erfolgt wie folgt.
and
C.6.3 Rückwärts
Die Berechnung eines Echogramms von einem spezifischen Empfänger zu einem spezifischen Sender erfolgt wie folgt.
and
C.6.4 Vollständig
Die Berechnung eines Echogramms von einem spezifischen Empfänger zu einem spezifischen Sender und umgekehrt erfolgt wie folgt. Hinweis: Dies wird üblicherweise bei Konsistenzprüfungen verwendet.
and
C.7 Echogram_weight
Beim Berechnen von „CLARITY“ und anderen akustischen Kriterien ist dieses Schlüsselwort von großem Nutzen. Es berechnet das Gewicht des Echogramms mithilfe benutzerspezifischer Funktionen.
C.7.1 Vorwärts
Die Berechnung des Echogramm-Gewichts von einem spezifischen Sender zu einem spezifischen Empfänger sollte wie folgt erfolgen.
and
C.7.2 Rückwärts
Die Berechnung des Echogramm-Gewichts von einem spezifischen Empfänger zu einem spezifischen Sender sollte wie folgt erfolgen.
and
C.7.3 Vollständig
Die Berechnung des Echogramm-Gewichts von einem spezifischen Empfänger zu einem spezifischen Sender und umgekehrt erfolgt wie folgt. Hinweis: Wird bei Konsistenzprüfungen verwendet.
and
C.8 Flight
Dieses Schlüsselwort verwaltet die Zuweisung von Flugpfad-Objekten und deren Bildungsmethoden.
C.8.1 Change
Dieses Unterschlüsselwort behandelt Änderungen der Flugpfad-Position, Größe und Ausrichtung, die in einem dynamischen virtuellen Audiomodell verwendet werden. Normalerweise ist dies nicht üblich, da Flugpfade von Anfang an mithilfe eines geeigneten Flugpfad-Generators korrekt erzeugt werden sollten.
C.8.1.1 Origin_Position
Mit diesem End-Schlüsselwort wird eine bestimmte Ursprungsposition des Flugpfads auf eine spezifische Position im Raum festgelegt.
C.8.1.2 Size
Mit diesem End-Schlüsselwort wird die Größe eines bestimmten Flugpfads auf den angegebenen Wert festgelegt.
C.8.1.3 Orientation
Mit diesem End-Schlüsselwort wird die Ausrichtung eines bestimmten Flugpfads auf einen spezifischen Winkel gedreht. Die Drehreihenfolge lautet x, y, dann z.
C.8.1.4 PSO
Mit diesem End-Schlüsselwort werden Position, Größe und Ausrichtung eines bestimmten Flugpfads geändert. Die Drehreihenfolge lautet x, y, dann z.
C.9 Laden
Das Abrufen zuvor berechneter, hergestellter oder beschaffter Daten von Zeichnungen, Objekten, Materialien, Flugbahnen, Audiospuren oder Echogrammen erfolgt mit diesem Schlüsselwort.
C.9.1 Zeichnung
Das Abrufen eines virtuellen Audio-Modells erfolgt mit diesem Unter-Schlüsselwort.
C.9.2 Objekte
Das Abrufen eines Satzes von Modellierungsobjekten erfolgt mit diesem Unter-Schlüsselwort.
C.9.3 Materialien
Das Abrufen eines Satzes von Materialien erfolgt mit diesem Unter-Schlüsselwort.
C.9.4 Flüge
Das Abrufen eines Satzes von Flugbahnen erfolgt mit diesem Unter-Schlüsselwort.
C.9.5 Vorwärts
Dieses Unter-Schlüsselwort behandelt die Datenabruf-Umgebung für Vorwärts-Berechnungen.
C.9.5.1 Audiospur
Das Abrufen einer Vorwärts-Audiospur erfolgt mit diesem End-Schlüsselwort.
C.9.5.2 Echogramm
Das Abrufen eines Echogramms basierend auf Vorwärts-Berechnungen erfolgt mit diesem End-Schlüsselwort.
C.9.6 Rückwärts
Dieses Unter-Schlüsselwort behandelt die Datenabruf-Umgebung für Rückwärts-Berechnungen.
C.9.6.1 Audiospur
Das Abrufen einer Rückwärts-Audiospur erfolgt mit diesem End-Schlüsselwort.
C.9.6.2 Echogramm
Das Abrufen eines Echogramms basierend auf Rückwärts-Berechnungen erfolgt mit diesem End-Schlüsselwort.
C.9.7 Vollständig
Dieses Unter-Schlüsselwort behandelt die Berechnungs-Datenabruf-Umgebung. Es wird hauptsächlich bei Konsistenzprüfungen, also beim Vergleich von Vorwärts- und Rückwärts-Spuren, verwendet. Anstelle zweier Befehlszeilen (Laden Vorwärts x n und Laden Rückwärts x n) wird nur eine Zeile verwendet (Laden Vollständig x n), wodurch das Abrufsystem vor Tippfehlern und ähnlichen Fehlern sicherer wird.
C.9.7.1 Audiospur
Das Abrufen einer vollständig berechneten Audiospur erfolgt mit diesem End-Schlüsselwort.
C.9.7.2 Echogramm
Das Abrufen eines Echogramms basierend auf sowohl Vorwärts- als auch Rückwärts-Berechnungen erfolgt mit diesem End-Schlüsselwort.
C.10 Material
Dieses Schlüsselwort behandelt Materialien mit ihrer entsprechenden Art sowie frequenz-, phasen- und Richtungsabhängigkeit.
C.10.1 Erstellen
Das Erstellen eines Materials erfolgt mit diesem Unter-Schlüsselwort. In der Regel ist es bequemer, Materialien in der Textdatei für Materialien zu erstellen (siehe A.3) und diese anschließend mit dem Schlüsselwort „Load“ zu laden (siehe C.9.3).
C.10.2 Ändern
Das Ändern eines bereits erstellten Materials erfolgt mit diesem Unter-Schlüsselwort. Dies ist eine absolute Änderung, wobei die vorherige Einstellung nicht berücksichtigt wird (vergleiche C.4.3).
C.10.2.1 Frequenz
Die Änderung der Materialabsorptionsantwort erfolgt mit diesem End-Schlüsselwort.
C.10.2.2 Phase
Die Änderung der phasenabhängigen Eigenschaft des Materials erfolgt mit diesem End-Schlüsselwort.
C.10.2.3 Richtung
Die Änderung der Richtungsabhängigkeit des Materials erfolgt mit diesem End-Schlüsselwort.
C.10.2.4 Typ
Die Änderung des Materialtyps erfolgt wie folgt.
C.10.2.5 Farbe
Die Änderung der visuellen Farbe (verwendet in festen 3D-Umgebungen) eines bestimmten Materials erfolgt wie folgt.
C.10.2.6 Volumen
Die Änderung des Sender-Energiepegels oder der Empfänger-Energiesensitivität erfolgt wie folgt.
C.11 Messen
Die Standard-Maßeinheit ist immer in Metern; die Änderung der Maßeinheit von diesem Standard erfolgt mit diesem Schlüsselwort.
C.11.1 Meter
Für Benutzer, die an das metrische System gewöhnt sind, ist die folgende Einstellung geeignet. Wenn der 3D-Modellierer ausgeführt wird, wird das Raster angezeigt.
C.11.2 Fuß
Für Benutzer, die an das englische Zollsystem gewöhnt sind, ist die folgende Einstellung geeignet. Wenn der 3D-Modellierer ausgeführt wird, wird das Raster angezeigt.
C.11.3 Aus
Wenn der 3D-Modellierer ausgeführt wird und der Benutzer das Raster nicht anzeigen möchte, ist die folgende Einstellung geeignet. Hinweis: Die Maßeinheit ist in Metern, wenn der Benutzer „Measure Feet“ nicht aufruft, während er mit dem Modellierungsarbeiten fortsetzt.
C.12 Zusammenführen
Das Abrufen zuvor berechneter, hergestellter oder beschaffter Daten zu Zeichnungen, Objekten, Materialien, Flugpfaden, Audiospuren oder Echogrammen und deren Kombination mit den vorhandenen Daten erfolgt mit diesem Schlüsselwort. Dies ist nützlich, wenn die Arbeitslast auf mehrere Personen aufgeteilt wird und der Supervisor des virtuellen Umgebungssystems die Bemühungen zusammenführt.
C.12.1 Zeichnung
Die Kombination eines virtuellen Audiomodells erfolgt mit diesem Unterschlüsselwort.
C.12.2 Objekte
Die Kombination einer Gruppe von Modellierungsobjekten erfolgt mit diesem Unterschlüsselwort.
C.12.3 Materialien
Die Kombination einer Gruppe von Materialien erfolgt mit diesem Unterschlüsselwort.
C.12.4 Flüge
Die Kombination einer Gruppe von Flugpfaden erfolgt mit diesem Unterschlüsselwort.
C.13 Objekt
Dieses Schlüsselwort behandelt die Position, Größe, Ausrichtung, Material- und Flugbahn-Zuweisungen von Objekten. Außerdem kann der Benutzer eigene Objekte erstellen. Die Verwendung der normalen Objekteinfügung und anschließend „Zeichnung-in-Objekt“ (siehe C.5) gefolgt von „Zeichnung löschen“ ist ein viel bequemeres Verfahren zur Erstellung neuer Objekte.
C.13.1 Position
Mit diesem Unterschlüsselwort wird ein bestimmtes Objekt an eine spezifische Position im Raum bewegt.
C.13.2 Größe
Mit diesem Unterschlüsselwort nimmt ein bestimmtes Objekt die angegebene Größe an.
C.13.3 Ausrichtung
Mit diesem Unterschlüsselwort dreht sich ein bestimmtes Objekt im Raum um diese spezifischen Winkel . Die Rotationsreihenfolge ist x, y, dann z.
C.13.4 PSO
Mit diesem Abschlussschlüsselwort ändern sich Position, Größe und Ausrichtung des Objekts absolut. Die Rotationsreihenfolge ist x, y, dann z.
C.13.5 Einfügen
Das Einfügen eines neuen Objekts in die Audioumgebung erfolgt wie folgt.
C.13.6 Material
Die Zuweisung eines spezifischen Materials an ein bestimmtes Objekt erfolgt wie folgt.
C.13.7 Flug
Die Zuweisung einer spezifischen Flugbahn an ein bestimmtes Objekt erfolgt wie folgt. Hinweis: Das virtuelle Audiomodell ist nach dieser Aktion dynamisch. Die Verwendung dieses Schlüsselworts und die Zuweisung einer Flugbahn machen die virtuelle Audioumgebung automatisch dynamisch. Die Dynamisierung des Modells erhöht den Rechenaufwand, da in jedem Moment neue Echogramme berechnet werden müssen.
C.14 Einstellungen
Dieses Schlüsselwort verwaltet den Verzeichnispfad und die visuelle Farbpalette. Es wird empfohlen, diese Einstellungen am Anfang eines ARexx-Skripts vorzunehmen. Beispiele für Pfade finden Sie in A.5.
C.14.1 Zeichnungspfad
Das Ändern des Standardverzeichnisses, in dem die Zeichnungen gespeichert werden, erfolgt mit diesem Unterschlüsselwort.
C.14.2 Objektpfade
Das Ändern des Standardverzeichnisses, in dem die Modellierungsobjekte gespeichert werden, erfolgt mit diesem Unterschlüsselwort.
C.14.3 Materialspath
Das Ändern des Standardverzeichnisses, in dem die Materialien gespeichert werden, erfolgt mit diesem Unterschlüsselwort.
C.14.4 Flightspath
Das Ändern des Standardverzeichnisses, in dem die Objektflugbahnen gespeichert werden, erfolgt mit diesem Unterschlüsselwort.
C.14.5 Audiotracepath
Das Ändern des Standardverzeichnisses, in dem die berechneten Audiospuren gespeichert werden, erfolgt mit diesem Unterschlüsselwort.
C.14.6 Echogrampath
Das Ändern des Standardverzeichnisses, in dem die berechneten Echogramme gespeichert werden, erfolgt mit diesem Unterschlüsselwort.
C.14.7 Samplepath
Das Ändern des Standardverzeichnisses, in dem die Samples (sowohl auralisierte als auch normale) gespeichert werden, erfolgt mit diesem Unterschlüsselwort.
C.14.8 Color
Das Ändern der standardmäßigen visuellen Farben erfolgt mit diesem Schlüsselwort.
C.15 Beenden
Eine Sitzung mit 3DA² über ARexx wird mit diesem Schlüsselwort beendet. Dieser Weg ist in der Regel am häufigsten verwendet, aber auch die Verwendung des Fenster-Schließen-Widgets ist zulässig. Die Nutzung des ARexx-visuellen „Show View“ ruft automatisch ein Fenster mit einem Schließen-Widget auf. Hinweis: Beim Beenden erscheint kein Bestätigungs-Dialog, und das Programm speichert nicht etwaige Änderungen an den Datenbeständen.
C.16 Beispiel
Das Mischen von berechneten Samples erfolgt mit diesem Schlüsselwort.
C.16.1 Simple_Mix
Das einfache Mischen von Samples erfolgt mit diesem Unter-Schlüsselwort.
C.16.2 Over_Mix
Das Mischen von Samples zu speziellen Zeitpunkten erfolgt mit diesem Unter-Schlüsselwort.
C.16.3 Make_Stereo
Das Erstellen eines Stereo-Samples aus zwei Mono-Samples erfolgt mit diesem Unter-Schlüsselwort.
C.16.4 Length
Die Länge des Samples in Sekunden wird mit diesem Unter-Schlüsselwort abgerufen.
C.16.5 Delete
Samples, die nicht mehr benötigt werden, können mit diesem Unter-Schlüsselwort gelöscht werden.
C.17 Speichern
Das Speichern von berechneten und hergestellten Daten zu Zeichnungen, Objekten, Materialien, Flugpfaden, Audiospuren und Echogrammen erfolgt mit diesem Schlüsselwort.
C.17.1 Zeichnung
Das Speichern eines virtuellen Audiomodells erfolgt mit diesem Unter-Schlüsselwort.
C.17.2 Objekte
Das Speichern eines Satzes von Modellierungsobjekten erfolgt mit diesem Unter-Schlüsselwort.
C.17.3 Materialien
Das Speichern eines Satzes von Materialien erfolgt mit diesem Unter-Schlüsselwort.
C.17.4 Flüge
Das Speichern eines Satzes von Flugpfaden erfolgt mit diesem Unter-Schlüsselwort.
C.17.5 Vorwärts
Dieses Unter-Schlüsselwort verwaltet die Umgebung zum Speichern von Vorwärts-Berechnungsdaten.
C.17.5.1 Audiospur
Das Speichern einer Vorwärts-Audiospur erfolgt mit diesem End-Schlüsselwort.
C.17.5.2 Echogramm
Das Speichern eines Echogramms basierend auf Vorwärts-Berechnungen erfolgt mit diesem End-Schlüsselwort.
C.17.6 Rückwärts
Dieses Unter-Schlüsselwort verwaltet die Umgebung zum Speichern von Rückwärts-Berechnungsdaten.
C.17.6.1 Audiospur
Das Speichern einer Rückwärts-Audiospur erfolgt mit diesem End-Schlüsselwort.
C.17.6.2 Echogramm
Das Speichern eines Echogramms basierend auf Rückwärts-Berechnungen erfolgt mit diesem End-Schlüsselwort.
C.17.7 Vollständig
Dieses Unter-Schlüsselwort verwaltet die Umgebung zum Speichern von Berechnungsdaten. Es wird hauptsächlich bei Konsistenzprüfungen zwischen Vorwärts- und Rückwärts-Spuren verwendet. Anstelle von zwei Befehlszeilen (Save Forward x n und Save Backward x n) wird nur eine Zeile verwendet (Save Full x n), wodurch das Speichersystem gegenüber Tippfehlern und ähnlichen Fehlern sicherer wird.
C.17.7.1 Audiospur
Das Speichern einer vollständig berechneten Audiospur erfolgt mit diesem End-Schlüsselwort.
C.17.7.2 Echogramm
Das Speichern eines Echogramms basierend auf sowohl Vorwärts- als auch Rückwärts-Berechnungen erfolgt mit diesem End-Schlüsselwort.
C.18 Bildschirm
Wenn der Benutzer mehr als eine 3DA²-Sitzung gestartet hat, wird das Wechseln der Bildschirme durch diese Schlüsselwörter vereinfacht. Um eine 3D-Umgebung mit speziellen Brillen zu erhalten, muss der Benutzer zwei 3DA²-Sitzungen ausschließlich mit ARexx starten.
C.18.1 Zeigen
Mit diesem Unter-Schlüsselwort wird der 3DA²-Bildschirm nach vorne gebracht.
C.18.2 Verstecken
Mit diesem Unter-Schlüsselwort wird der 3DA²-Bildschirm nach hinten gebracht.
C.19 Show
Dieses Schlüsselwort steuert den 3D-Visualisierer bei der Steuerung von 3DA² über ARexx. Ein stärkerer 3D-Effekt tritt auf, wenn der Benutzer zwei gleichzeitige 3DA²-Sitzungen ausführt. Diese sollten das Modell aus unterschiedlichen Blickwinkeln anzeigen, wobei die Bildschirme mit „Screen Show“ umgeschaltet werden. Hinweis: Der Benutzer muss spezielle Brillen besitzen, die abwechselnd das CRT-Bild durchlassen.
C.19.1 View
Dieses Unter-Schlüsselwort steuert die spezifischen Blickwinkel und Linseneinstellungen. Aufeinanderfolgende Aufrufe davon werden nicht empfohlen, da die Zeit, die im ARexx-Decoder verbracht wird, enorm ist. Wenn der Benutzer eine Animation erstellen möchte, profitiert er stark von dem Unter-Schlüsselwort „3D-Flight“ (siehe C.19.6).
C.19.1.1 From
Dieses End-Schlüsselwort legt die Position des Auges im 3D-Raum fest.
C.19.1.2 To
Dieses End-Schlüsselwort legt die Position des Blickpunkts im 3D-Raum fest.
C.19.1.3 Tilt
Dieses End-Schlüsselwort wird verwendet, um das Modell von seiner normalen Raumrotation abzukippen. Die Rotationsreihenfolge lautet x, y, dann z.
C.19.1.4 Magnification
Dieses End-Schlüsselwort steuert die Vergrößerung der Betrachtungslinse.
C.19.1.5 Perspective
Dieses End-Schlüsselwort steuert die Brennweite der Betrachtungslinse.
C.19.1.6 3D
Dieses End-Schlüsselwort gibt an, dass die Ansicht auf alle oben genannten Eigenschaften eingestellt ist.
C.19.2 XY
Dieses Unter-Schlüsselwort dreht das Modell in die folgende Position: X-Achse nach rechts, Y-Achse nach oben und Z-Achse zum Benutzer hin.
C.19.3 XZ
Dieses Unter-Schlüsselwort dreht das Modell in die folgende Position: X-Achse nach oben, Z-Achse nach rechts und Y-Achse zum Benutzer hin.
C.19.4 YZ
Dieses Unter-Schlüsselwort dreht das Modell in die folgende Position: Y-Achse nach rechts, Z-Achse nach oben und X-Achse zum Benutzer hin.
C.19.5 Bird
Dieses Unterschlüsselwort platziert die Linse im ersten Oktanten mit der Blickrichtung zum Ursprung.
Vogelperspektive anzeigen
C.19.6 3D_Flight
Dieses Unterschlüsselwort steuert die Animationssequenzen. Hinweis: Verwenden Sie dies anstelle von aufeinanderfolgenden Aufrufen von „View“.
C.19.6.1 In
Dieses Endschlüsselwort ermöglicht dem Benutzer einen Zoom auf das Modell.
C.19.6.2 Out
Dieses Endschlüsselwort ermöglicht dem Benutzer einen Zoom vom Modell weg.
C.19.6.3 Elevate
Dieses Unterschlüsselwort steuert den Hebevorgang des Modells. Es wird üblicherweise für anfängliche Geh- und Laufbedingungen in der Modellumgebung verwendet.
C.19.6.3.1 Up
Dieses Endschlüsselwort hebt das Modell vom Horizont aus an.
C.19.6.3.2 Down
Dieses Endschlüsselwort senkt das Modell auf den Horizont herab.
C.19.6.4 Circulate
Dieses Endschlüsselwort steuert den Kreisflug um das Modell herum.
C.19.6.5 Walk
Dieses Schlüsselwort steuert die Geh- und Laufbedingungen nach der Initialisierung mit „elevate“ (siehe C.19.6.3).
C.19.6.5.1 To
Dieses Endschlüsselwort führt „den Spaziergang“ zu einem gewünschten Standort mit Blickrichtung zum neuen Ort aus.
C.19.6.5.2 From
Dieses Endschlüsselwort führt „den Spaziergang“ zu einem gewünschten Standort mit Blickrichtung zum vorherigen Ort aus.
C.19.6.6 Path
Dieses Endschlüsselwort wird verwendet, wenn der Benutzer einen bestimmten Flugpfad fliegen möchte, der einem bestimmten Objekt im Audio-Modell zugewiesen ist.
C.20 Sort
Dieses Schlüsselwort verwaltet das Sortieren der Zeichnungs-, Objekt-, Material- und Flugbestände. Hinweis: In der Regel ist dies in 3DA² ARexx-Sitzungen nicht erforderlich.
C.20.1 Zeichnung
Dieses Unter-Schlüsselwort sortiert den Zeichnungsbestand. Hinweis: Dies erleichtert in der Regel das Modellieren.
Sort Zeichnung
C.20.2 Objekte
Dieses Unter-Schlüsselwort sortiert den Objektbestand. Hinweis: Dies erleichtert in der Regel das Modellieren.
Sort Objekte
C.20.3 Materialien
Dieses Unter-Schlüsselwort sortiert den Materialbestand. Hinweis: Dies erleichtert in der Regel das Modellieren.
C.20.4 Flüge
Dieses Unter-Schlüsselwort sortiert den Flugbestand. Hinweis: Dies erleichtert in der Regel das Modellieren.
C.21 Special_FX
Dieses Schlüsselwort verwaltet die Spezialeffekte. Häufig verwendet, wenn eine Rechensitzung gestartet oder beendet wird.
C.21.1 Flash
Dieses Unter-Schlüsselwort bewirkt, dass eine Farbe flackert.
C.21.2 Fade
Dieses Unter-Schlüsselwort verwaltet die Farbverlaufsvorgänge.
C.21.2.1 In
Dieses Unter-Schlüsselwort bewirkt, dass eine Farbe von Schwarz in die gewünschte Farbe übergeht.
C.21.2.2 Out
Dieses Unter-Schlüsselwort bewirkt, dass eine Farbe von der gewünschten Farbe in Schwarz übergeht.
C.21.2.3 All
Dieses Unter-Schlüsselwort wird verwendet, wenn der Benutzer alle visuellen Farben auf dem Bildschirm verblassen lassen möchte.
C.21.2.3.1 In
Dieses End-Schlüsselwort bewirkt, dass alle Farben von Schwarz in die gewünschten Farben übergehen.
C.21.2.3.2 Out
Dieses End-Schlüsselwort bewirkt, dass alle Farben von den gewünschten Farben in Schwarz übergehen.
C.21.3 Play_sound
Dieses Schlüsselwort wird verwendet, wenn der Benutzer eine akustische Bestätigung von 3DA²-Berechnungen wünscht. Hinweis: Die Sample-Datei sollte bevorzugt im sample_path abgelegt werden.
Anhang D: Symbolzuordnung
D.1 Zeichnungs-Symbole
Die standardmäßigen Zeichnungs-Symbole, mit der Textbearbeitungs-Datenversion links und der speicher- und geschwindigkeitsoptimierten Datenversion rechts.
D.2 Objekt-Symbole
Die standardmäßigen Objekt-Symbole, mit der Textbearbeitungs-Datenversion links und der speicher- und geschwindigkeitsoptimierten Datenversion rechts.
D.3 Material-Symbole
Die standardmäßigen Material-Symbole, mit der Textbearbeitungs-Datenversion links und der speicher- und geschwindigkeitsoptimierten Datenversion rechts.
D.4 Flug-Symbole
Die Standard-Flugsymbole, mit der Textbearbeitungs-Datenversion links und der speicher- und geschwindigkeitsoptimierten Datenversion rechts.
D.5 Nachverfolgte-Daten-Symbole
Die Standard-Symbole für nachverfolgte Daten: Rückwärts-Verfolgungen befinden sich links, Vorwärts-Verfolgungen rechts; die Textbearbeitungs-Datenversionen sind links und die speicher- und geschwindigkeitsoptimierte Datenversion rechts. Diese Datenfiles könnten mit einem normalen Textbearbeitungsprogramm bearbeitet werden, sollten es aber nicht. Grund: Verunreinigungseffekte der Eingabedaten, die das auralisierte Ergebnis vollständig beeinträchtigen und falsche Aussagen über virtuelle Audioumgebungen verursachen könnten. Denken Sie auch daran, dass Ihre Heuristikfunktion in ihrem Aufbau chaotisch sein könnte.
D.6 Echogramm-Symbol
Das Standard-Echogramm-Symbol. Die Datendatei könnte mit einem Beispiel-Editierprogramm bearbeitet werden, sollte es aber nicht. Grund: Verunreinigungseffekte der Eingabedaten, die das audibilisierte Ergebnis vollständig beeinträchtigen und somit falsche Aussagen über virtuelle Audioräume ermöglichen, selbst wenn die Faltungsfunktion nicht-chaotischer Art ist.
D.7 Audibilisiertes Geräusch-Symbol
Das Standard-Symbol für das audibilisierte Geräusch. Die Datendatei könnte mit einem Beispiel-Editierprogramm bearbeitet werden, sollte es aber nicht. Grund: Manipulation der Ausgabedaten beeinträchtigt stark jeden wissenschaftlichen Wert, selbst bei kleinen Änderungen.
D.8 Einstellungsdatei-Symbol
Das Standard-Symbol für die Einstellungsdatei. Die Datendatei kann mit einem normalen Texteditor bearbeitet werden oder die Daten können über das Einstellungsfenster von 3DA² verändert werden.
Anhang E: Fenster-Übersicht
E.1 3D-Ansicht & Bearbeitungsfenster

Dieses Fenster ist das Hauptfenster des 3D-Modellierers. Fast jede Aktion in diesem Fenster verändert das berechnete Ergebnis. Übliche Rotationen, Zoomvorgänge und Perspektivwechsel wirken natürlich nicht auf das Ergebnis. In diesem Fenster werden die Hilfetexte ausgegeben, sofern der Benutzer dies wünscht.
E.2 Lagerfenster für Rohlinge
Dieses Fenster enthält alle Objekte, die Teil des Modells sind. Von hier aus kann der Benutzer auf die Fenster für Objekte, Materialien und Flugrohlinge zugreifen.
E.3 Lagerfenster für Objekte
Dies ist das Lagerfenster für Objekte, in dem der Benutzer die Objekte auswählt, die er im Hauptmodell platzieren möchte.
E.4 Lagerfenster für Materialien
Dieses Fenster verwaltet alle Materialien, und der Benutzer kann von hier aus das Fenster mit den Eigenschaften aufrufen.
E.5 Flugstrecken-Fenster
Dieses Fenster verwaltet alle Flugbahnen, die den Audio-Modellobjekten zugewiesen werden können. Die Dynamisierung des Modells erhöht den Rechenaufwand, da in jedem Fall neue Echogramme berechnet werden müssen.
E.6 Eigenschaften-Fenster
Dieses Fenster verwaltet alle Materialparameter. Die Frequenz-, Phasen- und Richtungsabhängigkeit werden in der visuellen Modellierungsfarbe dargestellt. Außerdem können der spezielle Name und der Typ geändert werden.
E.7 Tracer-, Echogramm- und Convolver-Fenster
Dieses Fenster behandelt hauptsächlich die Tracer-Einstellungen und das Computerpanel. Es dient ausschließlich dem visuellen Teil und zeigt das normalisierte Echogramm sowie die berechneten Energietreffer. Für komplexere Auralisierungsprobleme wird der ARexx-Ansatz dringend empfohlen. Die Wiedergabe auralisierter Klangbeispiele kann entweder mit einem gängigen Sampler oder mit dem Amiga-Custom-Chip-Sound erfolgen.
E.8 Einstellungen-Fenster
Das Einstellungen-Fenster verwaltet die Datei 3DAudio.preferences im Ordner 3DA-Prefs. Die Bearbeitung in diesem Fenster erfolgt vollständig über die Maus, könnte aber auch mit Tasten erfolgen. Eine weitere Möglichkeit zur Bearbeitung dieser Einstellungen besteht darin, die Datei 3DAudio.preferences in einem normalen Editor zu öffnen und manuell zu bearbeiten. Dieses Verfahren wird jedoch nicht empfohlen.
E.9 3DA²-Info-Fenster
Dieses Fenster zeigt die aktuelle Programmversion an. Der aktuelle Status der Darstellung wird als Aufschluss über die Rechenzeit angezeigt. Außerdem werden die aktuellen Objekt-, Material- und Flug-Speicherstände angezeigt. Selbstverständlich sind auch der verfügbare Speicher und der ARexx-Portname hier aufgeführt.
E.10 Hauptfenster-Übersicht

Diese Grafik zeigt die Kommunikation zwischen den Modellier-Fenstern. Die Pfeile stellen die Verbindungen dar. Wenn mehrere Bedienelemente dieselbe Verbindung, aber unterschiedliche Bestätigungsdaten haben, werden die Verbindungen mit einer schwarzen und weißen Lampe gekennzeichnet.
Anhang F: Menü-Übersicht
F.1 Projektmenü
Dies ist das Hauptmenü zum Abrufen, Zusammenführen und Speichern von Datendateien.
Das Fenster „Über“ wird ebenfalls über dieses Menü aufgerufen. Beenden einer 3DA²-Sitzung erfolgt über den Menüpunkt „Beenden“.
F.1.1 Untermenü Öffnen
Das Abrufen zuvor berechneter, hergestellter oder beschaffter Daten von Zeichnungen, Objekten, Materialien, Flugpfaden, Audiospuren oder Echogrammen erfolgt über dieses Unter-Menü. Tippfehler in den Datendateien werden durch ein Benachrichtigungsfenster angezeigt. Es ist nicht erforderlich, sich den Datentyp, die Vorwärts- oder Rückwärtsberechnung zu merken. Der Trace- und Echogramm-Datenabruf ist automatisch.
F.1.2 Untermenü Zusammenführen
Das Abrufen zuvor berechneter, hergestellter oder beschaffter Daten von Zeichnungen, Objekten, Materialien und Flugpfaden sowie deren Kombination mit vorhandenen Daten erfolgt über dieses Unter-Menü. Dies ist besonders nützlich, wenn die Arbeitslast auf mehrere Personen aufgeteilt wird und der Supervisor des virtuellen Umgebungssystems die Beiträge zusammenführt.
F.1.3 Untermenü Speichern
Das Speichern von berechneten und hergestellten Daten zu Zeichnungen, Objekten, Materialien
und Flugpfaden erfolgt über dieses Untermenü. Hinweis: Es wird kein Dateinamen-Dialog aufgerufen, und die Aktion wird nur zurückgemeldet, wenn der Hilfetext aktiviert ist.
Beim Speichern von Daten auf diese Weise wird der vorherige Dateiname verwendet.
F.1.4 Untermenü „Speichern unter“
Das Speichern von berechneten und hergestellten Daten zu Zeichnungen, Objekten, Materialien,
Flugpfaden, Audio-Spuren und Echogrammen erfolgt über dieses Untermenü. Der Datenabspeicher für Spuren und Echogramme ist automatisch bezüglich der Vorwärts- und Rückwärtsberechnungen.
F.2 Bearbeitungsfenster-Menü
Die verschiedenen Bearbeitungsfenster werden über dieses Menü aufgerufen. Die ersten beiden Menüpunkte öffnen die Hauptmodellierungsfenster. Die drei darauffolgenden Menüpunkte öffnen die Speicher für Objekte, Materialien und Flugpfade. Der letzte Punkt öffnet den Trace-, Normalizer- und Auralizer-Rechner.
F.3 Sonstiges-Menü
Dieses Menü öffnet das Einstellungsfenster, verwaltet die Datenlöschumgebung, schaltet den Hilfetext und die Einstellungen der Trace-Datenstruktur ein oder aus.
F.3.1 Leeren-Untermenü
Bei der Arbeit mit einem Speicherbeschränkungssystem und Modellierung mit vielen kleinen Änderungen können die Undo-Stacks unverhältnismäßig groß werden. Mit diesem Hintergedanken kann ein gelegentlicher Aufruf dieser Funktionen dem System helfen, eine beträchtliche Menge Speicher freizugeben und somit die Modellverfeinerung um einen weiteren Schritt zu ermöglichen.
F.3.2 Trace-Daten-Untermenü
Akustische Strahlverfolgung ist eine speicherintensive Aufgabe, und die Möglichkeit, die Genauigkeit der Akustik anzupassen, ist von großem Nutzen. Die erzeugten Daten werden vollständig gespeichert – mit Intensität, Zeit, zurückgelegter Pfadlänge und Impulsvektor –, wenn das Kontrollkästchen „Groß“ aktiviert ist. Außerdem werden die Namen der Quell- und Empfangspunkte im Textformat gespeichert. Die erzeugten Daten werden mit Intensität, Zeit und den Namen der Quell- und Empfangspunkte im numerischen Format gespeichert, wenn das Kontrollkästchen „Klein“ aktiviert ist. Wenn das Speichersystem eine Engpassstelle darstellt, sollten die berechneten Daten direkt auf die Festplatte gespeichert werden; dies geschieht, wenn die Kontrollkästchen „... Auf Festplatte“ aktiviert sind.
Anhang G: Dateizuordnung
G.1 Hauptdrawer von Soundtracer
Dies ist der Hauptdrawer von 3DA². Es wird empfohlen, alle Dateien Ihrer virtuellen Audio-Umgebung und berechneten Daten innerhalb dieses Drawer-Bereichs zu speichern.
G.2 Drawer „3DA-Prefs“
Dieser Unterdrawer enthält die Startdateien, die im Textformat gespeichert sind. Alle diese Dateien können mit einem normalen Editor bearbeitet werden. Der „Standard-Tool“ ist bereits auf „ed“ eingestellt.
G.3 Icons-Drawer
Dies ist die Standard-Icon-Bibliothek von 3DA². Jede Änderung an diesen Icons ändert ab diesem Punkt das Standard-Aussehen.
G.4 Zeichnungen, Objekte, Materialien und Flugrouten-Schubladen
Diese Schubladen enthalten natürlicherweise die entsprechenden Zeichnungs-, Objekt-, Material- und Flugroutendateien. Diese Dateien können entweder im Textbearbeitungsformat oder im IEEE-Standard-Mathematik-Datenformat vorliegen. Die Minimierung von Portabilitätsproblemen ist immer empfehlenswert, und wenn Geschwindigkeit und Festplattenspeicher keine Rolle spielen, ist die Verwendung der Textbearbeitungs-Speicheroption vorzuziehen.
G.5 3DA²_ARexx-Schublade
Diese Schublade sollte alle mit 3DA² verbundenen ARexx-Dateien enthalten. Einige Benutzer möchten möglicherweise den Pfad „REXX:“ verwenden und diese Dateien dort ablegen. Ein allgemeiner Hinweis für solche Benutzer: Es ist einfacher, ein Programm zu deinstallieren, wenn die zugehörigen Datendateien in unmittelbarer Nähe liegen. Eine klare Verwaltung der zugehörigen Datendateien erhöht die Benutzergeschwindigkeit und führt zu einem entspannteren Benutzererlebnis.
G.6 3DA²-Information
Wie bei jedem anderen Amiga-Programm kann der Benutzer spezielle „Tool Types“-Startcodes festlegen. Die Stapeloption ist ein sehr wichtiger Parameter, da der Benutzer seine eigene heuristische Funktion erstellen kann (z. B. ab 3DA³ und danach). Um Stapelüberläufe zu vermeiden, insbesondere bei rekursiven Funktionen, sollte der Benutzer die Stapelgröße so groß wie möglich einstellen.
G.7 3DA².Rexx-Information
Dieses Symbol ist das Haupt-ARexx-Symbol. Wenn der Benutzer die Textdatei bearbeiten möchte, sollte „Default Tool:“ auf „ed“ oder einen anderen Editor eingestellt werden. Wenn der Benutzer das ARexx-Skript ausführen möchte, sollte „Default Tool:“ auf „rx“ gesetzt werden. In der Regel sollten diese Dateien zur Bearbeitung über den Editor selbst aufgerufen werden, nicht durch Doppelklick auf dieses Symbol.
Anhang H: Bücher, Hardware & Software
"Timeo hominem unius libri"
Für alle, die mehr erfahren und vielleicht sogar einen Sound-Ray-Tracer entwickeln möchten, sind diese Referenzen von größter Bedeutung. Alle nachfolgenden Einträge sind nach Häufigkeit der Erwähnung sortiert, mit den am häufigsten genannten oben.
H.1 Bucheinflüsse
- Heinrich Kuttruff, Raumakustik
- Cremer und Müller, Prinzipien und Anwendungen der Raumakustik.
- Andrew S. Glassner, Einführung in Ray Tracing
- K. Blair Benson, Audio-Engineering-Handbuch
- Alan Watt & Mark Watt, Fortgeschrittene Animation und Rendertechniken
- Stewen Brawer, Einführung in die parallele Programmierung
- John Watkinson, Die Kunst der digitalen Audioaufnahme
H.2 Artikel-Einflüsse
- Yoichi Ando, Berechnung der subjektiven Präferenz an jedem Sitzplatz in einem Konzertsaal, Acoustical Society of America 74 (1983) 873
- A. Krogstad, S. Strøm & S. Sørsdal, Fünfzehn Jahre Erfahrung mit computerisierter Strahlverfolgung, Applied Acoustics 16 (1983) 291
- Katsuaki Sekiguchi & Sho Kimura, Berechnung des Schallfeldes in einem Raum mit der Methode der endlichen Schallstrahlintegration, Applied Acoustics 32 (1991) 121
- Vern O. Knudsen, Vortrag auf der 121. Sitzung der Acoustical Society of America in Baltimore, 89 (1991)
- Leo L. Beranek, Konzertsaal-Akustik, Acoustical Society of America 92 (1992) 1–39
H.3 Verwendete Bücher
- Amiga ROM Kernel Reference Manual: Include und Autodocs
- Amiga User Interface Style Guide
- Amiga ROM Kernel Reference Manual: Libraries
- Amiga Hardware Reference Manual
- Steven Williams, Programmieren des 68000
- Craig Bolon, Meister des C-Programmierens
- J.D. Foley & A. van Dam, Grundlagen der interaktiven Computergrafik
- Karl Gustav Andersson, Lineare Algebra
- Grant R. Fowles, Analytische Mechanik
- Tobias Weltner, Jens Trapp & Bruno Jennrich, Amiga Graphics Inside & Out
- Amiga ARexx Benutzerhandbuch
- Merrill Callaway, THE ARexx COOKBOOK
- Martha L. Abell, James P. Braselton, Das Maple V Handbuch.
H.4 Schnellreferenzbücher
- Encyclopedia Britannica, Ausgabe 1991
- Webster’s International Dictionary
- Jorge de Sousa Pires, Elektronik-Handbuch
- Carl Nordling & Jonny Österman, Physik-Handbuch
- Lennart Råde & Bertil Westergren, Beta-Mathematik-Handbuch
- Steven Williams, 68030-Assemblersprache-Referenz
- Alan V. Oppenheim & Ronald W. Schafer, Digitale Signalverarbeitung
H.5 Programm-Einflüsse
- Real 3D v2.0, RealSoft
- Caligari, Octree
- Lightwave, NewTech
- Real 3D v1.4, RealSoft
- Imagine 2.0, Impulse
- Sculpt 3D, Eric Graham
- Videoscape, Aegis
H.6 Verwendete Software
- Finalwriter, SoftWood, Dokumentenerstellung
- Deluxe Paint IV, Electronic Arts, Grafik und Retusche
- Brilliance, Carnage, Grafik und Retusche
- TxEd, Textverarbeitungsprogramme
- Tool Maker, Commodore, GUI-Erstellung
- SAS C v6.0 und v6.5 Compiler, Programmierung
- CPR, Debugging
- Enforcer, Debugging-Hilfsmittel
- Devpac 3.0, HiSoft, Optimierung
- Metacomco Macro Assembler, Optimierung
- Maple IV, Hypothesenuntersuchungen
- Magic Workbench Icon Templates, Icons
H.7 Verwendete Hardware
- Amiga 500+ System 2.1, 50 MHz MC68030, 60 MHz 68882 und 10 MB, Entwicklung
- Vidi Amiga, Rombo, Video-Scannen mit Sony Handycam
- Hewlett Packard Desk Jet 520, Masterdruck
- Amiga 1200 System 3.0, 50 MHz MC68030, 50 MHz 68882 und 6 MB, Testen und Entwicklung
- Amiga 1000 System 1.3, 7,14 MHz MC68000 und 2,5 MB, Optimierungen
- Amiga 1000 System 2.04, 7,14 MHz MC68000 und 2,5 MB, Konsistenzprüfung
- Amiga 3000 System 3.1, 40 MHz MC68040, Konsistenzprüfung
- Amiga 4000 System 3.1, 30 MHz MC68040, Konsistenzprüfung
- Quadraverb, Alesis, Echtzeit-Audialisierungsversuche
- DDT Sampler, DDT MIDI-Schnittstelle mit DDT Mixer, Echtzeit-Audialisierung
- DSS8+ (Digital-Sound-Studio) Hard- und Software, GVP, Sample-Bearbeitung
- Dynamisches Mikrofon, Sherman, Dirac-Samples (Korrelationsabschätzung, Modell <-> Realität)
H.8 Quelle der Inspiration
- Foundation Epic, Isaac Asimov
- Das Amiga-Konzept
- Die Musik von Tangerine Dream™, Yello, Vangelis, Jean-Michel Jarre, Kraftwerk
- Star Trek, Filme und Fernsehserien, Gene Roddenberry
- Gödel, Escher, Bach: Eine ewige goldene Braid, Douglas R. Hofstadter
- Bladerunner, Film, Ridley Scott
- Träumen Androiden von elektrischen Schafen?, Philip K. Dick
- Weltraumuntersuchungen, NASA und andere
- Das Porsche-Konzept