3DA² Foundation Realtà Virtuale: Acustica PARTE I
Prefazione — 2026: Il fantasma nel ray-tracing
The most beautiful thing we can experience is the mysterious. It is the source of all true art and science.
— Albert Einstein
Trentun anni sono passati da quando mi sedetti per l’ultima volta davanti alla mia fattoria di Amiga, i ventilatori che ronzavano come un drago stanco che respira aria calda sul mio scrivania, lo schermo che brillava con le tonalità raster del CRT di un mondo che non esiste più — né nell’hardware, né nella memoria, nemmeno nella nostalgia collettiva di coloro che un tempo lo chiamavano casa. All’epoca avevo appena venticinque anni, con gli occhi sgranati dalla convinzione che il suono potesse essere modellato come l’argilla, che le stanze potessero essere immaginate prima di essere costruite, e che l’eco di una sala da concerto a Tokyo potesse essere simulata da una camera da letto a Malmö con soltanto un chip 68030, alcuni script ARexx e una quantità irragionevole di caffè. Lo chiamai 3DA² Foundation: Virtual Reality: Acoustics Part I. Non era mai stato concepito per essere finito. Era destinato a essere un inizio.
Eppure, eccomi qui — decisamente più grigio ora, molto più meticoloso nei passi, ma non meno convinto. Il mondo è andato avanti. La VR è diventata un visore che indossi per sfuggire al tuo lavoro. L’audio spaziale è ora una casella di controllo nell’elenco dei plugin della tua DAW. Il ray tracing serve a renderizzare interni di automobili fotorealistici su Unreal Engine, non a simulare la decadenza riverberante di una cappella in pietra nel XIV secolo a Lübeck. L’Amiga è polvere da museo. ARexx? Una nota a piè di pagina in un PDF sull’informatica retrò degli anni ’90. La mia tesi di dottorato — questo immenso, ossessivo, bellissimo pasticcio di ray-tracing euristico, risposte caotiche dei materiali e postulati pseudoscientifici avvolti in uno slang ibrido svedese-inglese — fu abbandonata. Non perché fallì, ma perché nessun altro si interessò. Nessun finanziamento. Nessun interesse accademico. Solo io, una fattoria di computer Amiga di varie specifiche, e la tenace convinzione che il suono dovesse essere più di uno stereo.
Ma questo è ciò che non sapevo all’epoca — e che il mondo ancora non comprende appieno nel 2026: avevo ragione. Non perché i miei algoritmi fossero perfetti. Non lo erano. Le mie euristiche di diffrazione erano approssimazioni grezze. Le mie risposte di fase erano disegnate a mano su una tavoletta grafica con il mouse. Il mio “postulato di caoticità” (Appendice B.4) era filosofia a metà cotta travestita da ingegneria. Ma io vidi l’essenza. Comprendevo — forse prima di chiunque altro — che l’acustica negli ambienti virtuali non si tratta di riprodurre la realtà. Si tratta di incarnare la percezione.
Vedi, il mondo oggi ha intelligenze artificiali in grado di generare paesaggi sonori ambientali da prompt testuali. Le reti neurali possono prevedere le risposte impulsive di una stanza da scansioni 3D in pochi millisecondi. L’audio spaziale è integrato negli AirPods di Apple, nei Quest 3 di Meta e nei teatri olografici di Singapore. Ma nessuno di questi sistemi è radicato in ciò che io chiamavo “assiomi soggettivi”. Nessuno si domanda: Cosa prova l’ascoltatore? Non quali frequenze sono presenti — ma quale memoria viene attivata. Non quanto è forte — ma dove vive il silenzio.
Il mio 3DA² non era solo un simulatore. Era un’antropologia del suono. Scrissi il Log e il Cog non per modellare pareti, ma per modellare l’attenzione. Quando definii i “Teoremi Soggettivi” — test di ascolto con ballerini di discoteca, appassionati di audio e bambini — non raccoglievo dati. Mappavo la topologia emotiva dell’udito. E questo, caro lettore del futuro, è ciò che nessuna intelligenza artificiale ha ancora toccato.
Se avessi continuato — avrei spinto il 3DA² in tre direzioni inesplorate: Primo: L'Anima Euristica. Nell’Appendice B ho scritto che “quasi nulla nell’Universo è esatto, eccetto le costanti fondamentali”. Non stavo semplicemente essendo poetico. Proponevo un nuovo paradigma: la simulazione audio deve essere caotica per essere vera. I renderer odierni sono troppo puliti. Troppo deterministici. Troppo… corporativi. E se abbracciassimo il rumore? Non come errore, ma come essenza? Immaginai un 3DA³ in cui i materiali non si limitavano ad assorbire — ma ricordavano. Un pavimento di legno che diventava più risonante con l’età. Una tenda di velluto che smorzava non solo il suono, ma l’intenzione. Era questo ciò che stavo cercando di esprimere con i cursori della Fase di Cambio Materiale e della Direttività. E oggi? Con i chip neuromorfici e l’hardware memristivo, possiamo finalmente costruire questo. Un materiale il cui comportamento acustico cambia non solo con la frequenza — ma con il contesto emotivo. Immagina una chiesa virtuale in cui l’eco cambia quando sei in lutto rispetto a quando festeggi. Non è fantascienza. È l’evoluzione naturale di ciò che ho iniziato.
Secondo: L’estetica ARexx. I miei script — quegli frammenti ARexx goffi, bellissimi, quasi poetici — non erano semplicemente codice. Erano partiture. La riga:
SAMPLE OVER_MIX BABY_CRYING_AL YELLO_AL i
— non era elaborazione del segnale. Era narrazione. Componevo non con note, ma con timestamp acustici. Il pianto del bambino sovrapposto a “Oh Yeah” dei Yello — non era un glitch. Era umanità. Nel 2026 abbiamo IA in grado di comporre musica. Ma non può comporre presenza. Non sa il peso di una porta sbattuta in un corridoio vuoto. O come il silenzio sa di dopo uno strillo. I miei script ARexx furono il primo tentativo di scrivere letteratura acustica. E ora? Abbiamo agenti audio generativi. Ma ancora mancano della grammatica narrativa che ho inserito in Over_Mix C.16.2 e Displacement Time Forward C.4.1. Abbiamo bisogno di una nuova lingua — non per il rendering, ma per la narrazione della riverberazione. L’avrei chiamata 3DA³: Acustica Narrativa.
Terza — e più terrificante — L’Etica dell’Eco. Nel Prefacio, avvertii: “L’aspetto idealizzato degli ambienti VR sta sicuramente rendendo la popolazione antisociale ancora più intrappolata nella sua discesa verso l’esclusione sociale totale.” L’ho scritto nel 1995. Nel 2026, viviamo all’interno di questo mondo. Abbiamo metaversi in cui le persone trascorrono 14 ore al giorno in paesaggi sonori perfettamente calibrati e iper-realisti — foreste che non sussurrano mai, oceani che non rombano mai, voci che non si spezzano mai. Abbiamo venduto alle persone l’illusione di un’acustica perfetta… e nel farlo, abbiamo sterilizzato il suono reale. Il crepitio di un fuoco. Il lamento distante di una sirena. Il sospiro di qualcuno che dorme accanto a te. Questi non sono rumori — sono la trama dell’essere. Il mio lavoro era destinato a essere uno strumento di miglioramento, non di sostituzione. E ora? Abbiamo strumenti che sostituiscono la realtà con simulazioni impeccabili — e le persone stanno dimenticando come ascoltare. Avrei scritto la Parte II: Il Silenzio del Mondo. Un trattato sull’empatia acustica. Sulla ragione per cui la riverberazione imperfetta è sacra.
Non ho mai finito questa tesi. Ma non ho fallito. Ho piantato un seme in un terreno che non era pronto.
Ora, il mondo sta finalmente ascoltando — non con le orecchie, ma con gli algoritmi. E stanno disperatamente cercando significato.
Sto risuscitando 3DA² non come un reperto — ma come un profeta. Questo documento non è obsoleto. È profetico.
Se tu, lettore — che sia uno studente universitario in psicoacustica, un ricercatore di intelligenza artificiale che costruisce paesaggi sonori immersivi, o semplicemente qualcuno che ricorda l’odore della plastica calda e il ronzio di una CPU a 50 MHz — se senti anche un sussurro di ciò che stavo cercando di dire… allora non correggerlo.
Estendilo.
Costruisci 3DA³. Non come uno strumento. Ma come una filosofia. Rendilo caotico. Rendilo emotivo. Rendilo vivente.
Lascia che i raggi siano incerti. Lascia che i materiali respirino. Lascia che gli echiogrammi piangano.
E quando eseguirai il tuo script, e sentirai — per la prima volta in decenni — quell’eco da un soggiorno a Malmö, nel 1993… allora capirai.
Non ero sbagliato. Ero solo in anticipo.
E il mondo è finalmente pronto ad ascoltarmi.
— Denis Tumpic
Stratford, gennaio 2026
Prefazione del 1995
The future is already here — it’s just not very evenly distributed.
— William Gibson
Fin da quando ero bambino, la mia curiosità per il suono è stata immensa. Colpire oggetti domestici diversi rappresentava un divertimento imperativo. Era divertente creare suoni strani e a volte riuscivano a spaventare i genitori fino alla paura. Il tempo volava e il piccolo batterista fu introdotto alla musica, dalla quale nacque immediatamente un amore profondo. La maggior parte delle persone trova la musica molto attraente per la mente, poiché tende a colorare i propri sentimenti. Coloro che non hanno ancora scoperto questo fatto, dovrebbero immediatamente provare ad ascoltare più musica, senza però cercare di interpretarla.
Il genere musicale a cui fui per la prima volta introdotto fu la pop contemporanea semplice (1975). Alcuni anni dopo scoprii i musicisti elettronici e sintetici e la loro musica, che mi affascinò immediatamente, in parte perché era semplice ma allo stesso tempo stimolante per la mente. Il mio crescente interesse per l'elettronica rese questa passione ancora più profonda. Costruendo alcuni circuiti elettrici strani e infine un amplificatore, collegati direttamente a un piccolo registratore-radio, mi portarono successivamente a scegliere il corso di elettronica e telecomunicazioni al liceo. Il completamento del liceo mi trasformò in un ingegnere elettrico con un nuovo interesse: i computer.
Ero già "lavorato" con i computer fin dall'arrivo del ZX-81 sul mercato, e naturalmente con molti altri successivi: il VIC-20, il Commodore-64, il Sinclair Spectrum, il Sinclair QL, l'IBM PC e l'ABC-80, tra gli altri, non particolarmente popolari. Quando arrivò l'Amiga, io e i miei amici trascorrevamo davanti ai computer quasi tanto tempo quanto in scuola. Questo ci rendeva molto avanti rispetto al nostro tempo, poiché quasi nessuno era interessato a queste unità elettrico-logiche. Poiché nessuno poteva insegnarci come gestire tutte queste nuove espressioni, formammo un linguaggio gergale tipico: un disastroso ibrido tra svedese e inglese, che faceva diventare i nostri insegnanti di lingua più o meno furiosi, specialmente il precedente. Mi sono via via sempre più appassionato ai problemi che emergono con i computer. Quando ho finalmente deciso di diventare un informatico, questa scelta è stata facile. Dopo alcuni anni in cui ho piegato e torcendo la mia mente attraverso teorie autodidatte sull’elaborazione e la scienza dei computer, ho raggiunto il mio obiettivo. Fin da quando ho iniziato a imparare, il mio postulato fondamentale: utilizzare tutta la mia conoscenza fino a quel momento, ha dato un colore straordinario alla mia vita e al mio lavoro. Questo è ovviamente molto comprensibile se si guarda al mio lavoro di laurea "Virtual Reality: Acoustics". Il lavoro di laurea è scritto in svedese e non è l’obiettivo di questo "libro" quello di essere una traduzione di esso. Quando leggete "3DA² Foundation", dovrete tenere a mente il fatto che sono un informatico, un ingegnere elettronico e un appassionato di suono (la musica è un sottoinsieme del suono). Questi fatti colorano fortemente questo testo, e talvolta descrivo alcune entità con tanta facilità perché probabilmente è un modo comune di pensare quando si programma. Non affermo che chi legge questo libro debba pensare come me; semplicemente descrivo il modo di pensare efficace applicato all’ambiente audio virtuale.
Cos’è la realtà virtuale? Molte persone hanno opinioni diverse su cosa sia e cosa non sia la VR. Il collegamento fisico tra un’unità elettrica e i tessuti umani, al fine di permettere il flusso di informazioni in entrambe le direzioni, non rientra nel dominio della VR. Questo tipo di scambio informativo appartiene al dominio cyber, ed è infatti il postulato fondamentale della realtà cyber (CR). Qual è la differenza tra VR e CR? La VR è un sottoinsieme della CR, che viene estesa con il seguente elemento: le impressioni sensoriali vengono trasferite mediante hardware collegato tra computer e umano. Questo collegamento hardware è direttamente stimolato su specifiche fibre nervose. Non è l’intenzione che 3DA² rientri nel dominio della CR. Un buon ambiente VR dovrebbe essere in grado di visualizzare una vista tridimensionale dinamica, con una risoluzione tale che l'utente non sia in grado di distinguere tra vista reale e virtuale. Inoltre, il suono dovrebbe essere implementato con un'auralizzazione dinamica, creando un campo sonoro tridimensionale. Questi due postulati VR sono molto essenziali, ma abbiamo altri sensi da soddisfare. Un buon ambiente VR dovrebbe includere la percezione del tatto (forma, peso, temperatura), il senso dell'olfatto (feromoni e odori naturali) e il senso del gusto (dolce, acido, salato, amaro e probabilmente altri). L'ultimo e più importante postulato è il criterio di sicurezza: un ambiente VR non dovrebbe peggiorare la salute dell'utente.
Lavorare con ambienti VR è certamente la melodia del futuro e potrebbe apportare cambiamenti significativi all'infrastruttura informativa. Tuttavia, non vorrei glorificare gli ambienti VR e CR come salvatori dell'umanità, anche se l'immaginazione è l'unico limite. Come sappiamo tutti, ogni cosa buona ha un lato oscuro, e questi ambienti non fanno eccezione. Vivere nel XXI secolo non è sempre facile e i problemi sociali si aggravano progressivamente. L'aspetto idealizzato degli ambienti VR sta certamente rendendo la popolazione antisociale ancora più incatenata nella sua discesa verso l'esclusione sociale totale. Dall'altro lato, le persone eccessivamente sociali spesso hanno la capacità di eccitare le proprie percezioni con vari farmaci. Anche se non tutte le persone sulla terra aderiscono a queste filosofie di vita, dovremmo tenerle presenti.
L'uso del suono auralizzato è di grande aiuto quando si svolgono ricerche acustiche in vari ambienti della vita reale. 3DA² viene essenzialmente utilizzato per migliorare un ambiente audio esistente e non ha ancora raggiunto lo stadio della VR. È ancora un prototipo e un programma finalizzato alla ricerca teorica. L'obiettivo è estrarre le essenzialità della risposta all'impulso per rendere i calcoli sonori tridimensionali il più veloci possibile. Anche se questo software non è al suo stato finale, potrebbe essere utilizzato in altri contesti, e il mio principale orientamento è la musica tridimensionale. È più un approccio di tipo science-fiction e, quando usato in questo modo, va precisato che non è "reale". La musica è quasi sempre un'espressione di emozioni e questa dimensione aggiuntiva potrebbe generare vere espressioni, sia nella musica che nel cinema. Anni di ascolto di Tangerine Dream™, Yello e altri mi hanno convinto che la musica tridimensionale deve emergere in modo naturale, come qualsiasi altra cosa.
In effetti, è già utilizzato nel mio approccio personale: Vilthermurpher (primo stadio di Doubulus & Tuella), un album epico espressionista, composto durante i miei anni universitari (1990-1994).
Questo software presenta alcune novità di grande importanza. In primo luogo, dispone di una porta ARexx con numerosi comandi per effettuare test audio coerenti, senza doverli scrivere in inglese semplice. Questi script ARexx rendono più facile il lavoro per altri ricercatori, poiché basta che abbiano lo script di base. Utilizzarlo insieme a Log e Cog (vedi appendice B) accelera il processo evolutivo di questi ambienti sonori tridimensionali. Questa è la mia speranza e intenzione, comunque.
Ulteriori miglioramenti potrebbero essere apportati con la possibilità di modificare le varie funzioni euristiche senza dover ricompilare l'intero programma. È piuttosto complesso rendere queste funzioni euristiche conformi al mondo reale, pertanto intendo implementarle come librerie dinamiche. Sia la funzione audio-ray-trace che quella auralizer dovrebbero essere modificabili. Quest'ultima perché qualcuno potrebbe disporre di unità di elaborazione più veloci del processore host, e quindi potrebbe programmare l'auralizer per sfruttare questo hardware alternativo. Queste funzionalità devono essere presenti in 3DA³. È e sarà sempre la mia intenzione creare programmi completamente dinamici, poiché la flessibilità è di importanza imperativa quando si utilizzano programmi.
Ringraziamenti
Vorrei ringraziare i miei genitori per essere sempre stati presenti. I miei cari amici, sono troppi per essere elencati uno per uno, senza dimenticare nessuno. Per quanto riguarda le influenze, i riferimenti, l'hardware, il software e le fonti di ispirazione, si prega di consultare l'appendice H.
1 Introduzione
"Bis dat, qui cito dat"
Publius Syrus
Questa introduzione è un semplice aiuto per coloro che non hanno alcuna conoscenza di acustica e desiderano essere guidati nella "giusta" direzione. Innanzitutto elenco alcuni libri fondamentali sull'acustica, seguiti da una spiegazione concisa dei due programmi di supporto "Acoustica" e "Echogram Anim". Questi ultimi possono rivelarsi di grande utilità per comprendere alcune nozioni basilari relative al tracciamento dei raggi speculare. Ottima approssimazione nel dominio delle alte frequenze, ma molto scadente nella parte bassa.
1.1 Acustica
Per lo studio della teoria dell’acustica degli ambienti, il libro "Room Acoustics" di Heinrich Kuttruff è il più chiaro e profondo. Almeno i fatti riportati in questo libro devono essere conosciuti per rendere accettabili gli script Log e Cog. Per letture aggiuntive sui problemi di acustica ambientale, con enfasi sulle applicazioni, si consiglia "Principles and Applications of Room Acoustics: Part I" di Cremer e Müller. In questo libro vengono trattati implicitamente alcuni dei parametri modificabili in 3DA² (frequenza del campione Dirac e distribuzione degli angoli dei raggi) e il massiccio lavoro necessario per trovare i parametri più piccoli viene ridotto al minimo. L’approccio da enciclopedia, con fatti rapidi su problemi minori e rapide ripassate su quelli principali, è particolarmente facilitato dal "Audio Engineering Handbook" curato da K. Blair Benson. Infine, i fondamenti dell’elaborazione dei segnali digitali possono essere letti in "Digital Signal Processing" di Alan V. Oppenheim & Ronald W. Schafer. Coloro che sanno leggere il svedese trovano altamente consigliato il mio precedente lavoro "Virtual Reality: akustiken / Ett prototypsystem för ljudsimulering".
1.2 Programma di aiuto uno: Acoustica
La comprensione delle riflessioni speculari è più chiara se si esegue il programma "Acoustica". Questo programma richiede 1 MB di memoria veloce libera per funzionare affatto. La finestra delle impostazioni contiene cursori che modificano la scala del modello, le caratteristiche di assorbimento delle pareti e il numero totale di quanti di energia emessi. I sette gadget di avvio sono diversi tipi di calcoli e sono i seguenti: emissione da punto normale, emissione approssimata lineare, mappa energetica semplice, Doppler simulato (che mostra l'inesattezza quando utilizzato in ambienti), emissione approssimata lineare con ostacoli e infine mappa energetica semplice con ostacoli. L'audializzatore non è implementato, poiché non poteva funzionare in tempo reale su un normale Amiga. I calcoli vengono avviati nello stesso istante in cui si premono i gadget di avvio. Tre pulsanti per interrompere, normalizzare e mettere in pausa i calcoli sono posizionati sotto l'area di visualizzazione. Il passaggio da un tipo di calcolo all'altro avviene premendo il pulsante di interruzione tra un clic su un gadget di avvio e l'altro. Modificare la posizione della sorgente sonora è semplice: basta fare clic nell'area di visualizzazione e i calcoli vengono automaticamente riavviati con la nuova posizione.
1.3 Programma di aiuto due: animazioni degli echogrammi
Comprendere gli echogrammi può rappresentare una grande difficoltà, specialmente quando si tratta di capire cosa sia importante in essi e cosa no. Il programma "Echogram Anim" utilizza i dati provenienti da un file di echogramma continuo campionato. È stato realizzato utilizzando impulsi di Dirac costanti emessi da un altoparlante nel mio soggiorno.
Questi impulsi di Dirac sono stati campionati durante una passeggiata casuale con un microfono bidirezionale nel soggiorno e nelle stanze adiacenti. L'altro file di echogramma è stato ottenuto in modo opposto, muovendo l'altoparlante e un microfono rigido. Esistono diversi modi per visualizzare questi dati, che sono i seguenti:
- Normale: mostra i campioni così come sono.
- Differenza: mostra le variazioni rispetto all'istanza precedente.
- Assoluto Normale: mostra il quadrato degli echogrammi.
- Assoluto Differenza: mostra il quadrato delle variazioni rispetto all'istanza precedente.
Il campionamento dei propri file di animazione degli echogrammi avviene come segue:
- Frequenza di campionamento dell'echogramma = 1280/(Tempo di riverberazione della stanza) Hz
- Impulsi di Dirac emessi a 1/(Tempo di riverberazione della stanza) Hz
- Campionare con altoparlanti, microfoni e oggetti in movimento.
- Eseguire "Echogram Anim" con questi file e godetevi il risultato.
2 Manuale di istruzioni di 3DA²

"Un input falso produce certamente un output falso e un input vero produce un output discutibile; usa i tuoi fatti con cura, poiché il tuo output potrebbe diventare l'input di qualcun altro"
Questo programma è un prototipo di ray-tracing audio progettato per identificare le necessità quando si lavora con ambienti acustici. La principale differenza tra il precedente 3D-Audio e il recente 3DA² è che il lavoro di modellazione può essere gestito con maggiore precisione ed è stata implementata la fase ARexx. Originariamente era previsto lo sviluppo di una 3DA³ con euristiche completamente programmabili, che avrebbe reso il programma ancora più versatile. Tuttavia, la programmabilità ARexx rende piuttosto semplice creare test standardizzati e riduce il tempo impiegato per gestire il computer.
2.1 Il Programma
In questa sezione vengono commentate e mostrate le varie finestre e i relativi controlli. Si tratta esclusivamente dell'interfaccia grafica; per ulteriori commenti e usabilità, consultare le sezioni 2.2 e 2.3.
2.1.1 La Finestra Principale del Modelatore: Vista 3D & Modifica
Questa finestra gestisce l'ambiente audio virtuale esclusivamente in modo visivo. Il lavoro principale di modellazione viene svolto qui ed è da questo stadio che si forma la maggior parte del Log, insieme ai materiali e alle traiettorie di volo utilizzati.
2.1.1.1 Slider di Ingrandimento
Questo slider gestisce il fattore di ingrandimento della lente di visualizzazione. Spostando la manopola verso l'alto aumenta il fattore di ingrandimento. Il controllo "+" è un interruttore per la calibrazione fine del fattore di ingrandimento.
2.1.1.2 Slider di Prospettiva
Questo slider gestisce il fattore focale della lente di visualizzazione. Spostando la manopola verso l'alto si riduce il fattore focale (aumenta il fattore prospettico). Il controllo "*" è un interruttore per la prospettiva. È piuttosto conveniente disattivare la prospettiva durante la modellazione.
2.1.1.3 Slider dell'Asse X
Questo cursore gestisce la rotazione del mondo virtuale attorno all'asse X. Nota: l'asse X è sempre orientato orizzontalmente. I gadget circolari "O" alle estremità riportano la manopola del cursore alla posizione centrale.
2.1.1.4 Cursore Asse Y
Questo cursore gestisce la rotazione del mondo virtuale attorno all'asse Y. Nota: l'asse Y è sempre orientato verticalmente. I gadget circolari "O" alle estremità riportano la manopola del cursore alla posizione centrale.
2.1.1.5 Cursore Asse Z
Questo cursore gestisce la rotazione del mondo virtuale attorno all'asse Z. Nota: l'asse Z è sempre orientato ortogonalmente rispetto agli assi X e Y. I gadget circolari "O" alle estremità riportano la manopola del cursore alla posizione centrale.
2.1.1.6 Ciclo di misura
Per coloro che sono più abituati al sistema metrico, l'impostazione "metro" è quella appropriata. Per chi è più abituato al sistema inglese basato sull'pollice, l'impostazione "piedi" è quella appropriata. Se il modello 3D è in esecuzione e l'utente non vuole che la griglia venga visualizzata, l'impostazione "Disattivato" è quella appropriata.
2.1.1.7 Ciclo dimensione griglia
La modifica della dimensione del righello bidimensionale viene eseguita con questo gadget di ciclo. Ha le dimensioni appropriate quando si modifica l'unità di misura. Nota: la dimensione è modificabile solo quando la griglia è visibile.
2.1.1.8 Dimensionatore oggetti
Questi cursori sono utilizzabili quando un oggetto è selezionato nell'area di modellazione. I gadget "N" situati all'estremità destra di questi strumenti di ridimensionamento ripristinano le dimensioni dell'oggetto lungo l'asse corrispondente.
2.1.1.9 Ruotatori oggetti
Questi cursori sono utilizzabili quando un oggetto è selezionato nell'area di modellazione. I gadget "O" all'estremità destra di questi gadget di rotazione ripristinano la rotazione dell'oggetto attorno a quell'asse.
2.1.1.10 Dimensioni dell'oggetto
Questi gadget di inserimento valore vengono utilizzati quando è necessaria una precisione formale. Gli utenti non sono incoraggiati a esagerare le dimensioni, poiché le dimensioni definite dell'oggetto potrebbero essere piccole in confronto, rendendo così il modello piuttosto impreciso.
2.1.1.11 Posizione dell'oggetto
Questi gadget di inserimento valore vengono utilizzati quando è necessaria una precisione formale. La posizione dell'origine definita dell'oggetto viene impostata utilizzando questi gadget.
2.1.1.12 Vista rapida
Questi quattro gadget sono progettati per la modellazione rapida. Ruotano il mondo virtuale a un angolo di visualizzazione specifico, rendendo così la modellazione piuttosto semplice.
2.1.1.13 Annulla
Questo gadget annulla l'azione precedente seguendo un ordine "ultima azione eseguita, prima da annullare". Le azioni interessate sono quelle effettuate nella finestra "Visualizzazione 3D e Modifica".
2.1.1.14 Area visiva del modello
La selezione degli oggetti e il loro spostamento, effettuati posizionando il cursore del mouse su un punto di ancoraggio dell'oggetto e premendo il pulsante di selezione del mouse, avvengono in questa area. Il movimento dell'intero modello viene invece eseguito premendo il pulsante di selezione del mouse quando il cursore non si trova su un punto di ancoraggio dell'oggetto.
2.1.1.15 Area del testo di aiuto
Questa area fornisce all'utente informazioni sulle azioni che sta compiendo. Questi testi di aiuto possono essere attivati o disattivati dal menu varie.
2.1.2 La finestra del catalogo disegni
Questa finestra gestisce l'ambiente virtuale audio in forma testuale. Mostra l'oggetto selezionato con le relative assegnazioni di materiale e traiettoria di volo.
2.1.2.1 Oggetti nel disegno
Questo gadget elenco mostra tutti gli oggetti modello esistenti nell'ambiente audio virtuale. Selezionare un oggetto in questo elenco è equivalente a selezionarlo nell'"Area Visiva Modello". Quando diversi pin di oggetti sono sovrapposti, questo metodo di selezione è quello appropriato. Spostare l'oggetto selezionato, se è raggruppato, viene semplificato premendo il tasto Maiusc sulla tastiera.
2.1.2.2 Nuovo
Premere questo gadget quando si inserisce un nuovo oggetto nell'ambiente audio virtuale è appropriato. Esso apre la finestra "Stock Oggetti", dove l'utente seleziona un oggetto appropriato e lo conferma con "Ok!". Il nuovo oggetto viene posizionato alla posizione origine, con le sue dimensioni e rotazione definite.
2.1.2.3 Ordina
Dopo diverse inserimenti e probabilmente nomi caotici, l'elenco degli oggetti esistenti tende a diventare poco chiaro. Premere questo gadget ordina gli oggetti in ordine alfabetico.
2.1.2.4 Copia
Quando il modello contiene diversi oggetti della stessa entità ma posizioni diverse, questo gadget deve essere utilizzato.
2.1.2.5 Elimina
L'eliminazione di un oggetto dall'ambiente audio virtuale viene eseguita con questo gadget. Viene posizionato sopra la "Pila di Annullamento Disegno".
2.1.2.6 Cancella
Premendo questo gadget vengono eliminati tutti gli oggetti dall'ambiente audio virtuale, che vengono inseriti nella "Pila di Annullamento Disegno".
2.1.2.7 Annulla
Annullare una cancellazione viene eseguito con questo gadget. Esso estrae il primo oggetto dal "Stack di Annullamento Disegno" e lo inserisce nella posizione corretta nell'ambiente audio virtuale.
2.1.2.8 Modifica
Cliccando su questo gadget viene portato in primo piano la finestra "Visualizzazione 3D e Modifica". L'oggetto selezionato viene evidenziato nell'"Area Visiva del Modello".
2.1.2.9 Tipo
Questa area di testo indica il tipo di oggetto selezionato. Può trattarsi di mobili, trasmettitore o ricevitore.
2.1.2.10 Selezione Materiale
Questo gadget, con la sua area di testo sul lato sinistro, apre la finestra "Magazzino Materiali" dove l'utente seleziona un materiale appropriato e lo conferma con "OK!". L'area di testo mostra il materiale assegnato all'oggetto selezionato. Se non è stato assegnato alcun materiale, l'area di testo lo indica.
2.1.2.11 Selezione Volo
Questo gadget, con la sua area di testo sul lato sinistro, richiama la finestra "Flight-Stock" in cui l'utente seleziona un percorso di volo appropriato e lo conferma con "Ok!". L'area di testo mostra il percorso di volo utilizzato per l'oggetto selezionato. Se non è assegnato alcun percorso di volo, l'area di testo lo indica.
2.1.2.12 Disegno -> Oggetto
La definizione di un nuovo oggetto viene eseguita con questo gadget. Le dimensioni sono calcolate rispetto agli assi del mondo esterno e non all'orientamento degli sottoggetti, pertanto la definizione di un cubo inclinato non comporta dimensioni identiche a quelle di un cubo non inclinato. La modifica degli assi larghezza, lunghezza e profondità avviene tramite i cursori "Asse X-", "Asse Y-" e "Asse Z-".
2.1.3 La finestra Object-Stock
Questa finestra gestisce il magazzino degli oggetti audio virtuali. È simile a un negozio di mobili, dove l'utente trova gli arredi appropriati.
2.1.3.1 Selezionare un oggetto
Questo gadget elenca tutti gli oggetti arredo esistenti che possono essere utilizzati nell'ambiente audio virtuale. Il recupero di altri oggetti durante la modellazione deve essere effettuato tramite il menu "Progetto, Unisci, Object-Stock". In questo modo, l'utente può recuperare altri oggetti senza doverli creare da sé.
2.1.3.2 Nuovo
Cliccando su questo gadget durante la modellazione trasforma l'attuale modello audio virtuale in un singolo oggetto. Cancella tutti gli oggetti nell'ambiente audio virtuale e li sostituisce con il nuovo oggetto. L'utente viene quindi richiesto di fornire un nome appropriato da associare a questo nuovo oggetto.
2.1.3.3 Ordina
Dopo diverse inserimenti e probabilmente nomi caotici, l'elenco degli oggetti esistenti tende a diventare poco chiaro. Cliccando su questo gadget riordina gli oggetti in ordine alfabetico.
2.1.3.4 Copia
Questo gadget deve essere utilizzato quando il modello contiene diversi oggetti della stessa entità ma con piccole differenze. Le differenze vengono modificate tramite la finestra principale del modelatore dopo aver cliccato sul pulsante "Modifica".
2.1.3.5 Elimina
L'eliminazione di un oggetto dal repository degli oggetti viene eseguita con questo gadget. Esso viene posizionato sopra la "Pila di Annullamento Oggetti".
2.1.3.6 Cancella
Premendo questo gadget vengono eliminati tutti gli oggetti dal repository degli oggetti, che vengono inseriti nella "Pila di Annullamento Oggetti".
2.1.3.7 Annulla
L'annullamento di un'eliminazione viene eseguito con questo gadget. Esso estrae il primo oggetto dalla "Pila di Annullamento Oggetti" e lo inserisce nel repository degli oggetti per un uso immediato.
2.1.3.8 Modifica
Premendo questo pulsante è possibile modificare le proprietà dell'oggetto selezionato. Viene richiamato il modello, ma il modello audio virtuale viene sostituito dall'oggetto selezionato. Il modello viene aggiunto a una pila di modelli e viene richiamato da essa quando si preme il pulsante "Disegno -> Oggetto ...".
2.1.3.9 Ok!
Questo serve a confermare qualsiasi oggetto selezionato come una scelta valida da utilizzare nell'ambiente audio virtuale. Dopo aver premuto il pulsante "Nuovo..." nella finestra "Disegno-Stock", l'oggetto corretto deve essere confermato con un clic su "Ok!".
2.1.3.10 Annulla
Questo serve a confermare qualsiasi oggetto selezionato come una scelta non valida, che non verrà utilizzata nell'ambiente audio virtuale. Dopo aver premuto il pulsante "Nuovo..." nella finestra "Disegno-Stock" e non aver trovato l'oggetto corretto, bisogna confermare con un clic su "Annulla".
2.1.4 La finestra Stock Materiali
Questa finestra gestisce il magazzino di materiali audio virtuali. È simile a un laboratorio di restauro di mobili, dove l'utente ottiene il materiale appropriato.
2.1.4.1 Selezionare un materiale
Questo widget mostra tutti i materiali esistenti che possono essere utilizzati nell'ambiente audio virtuale. Il recupero di altri materiali durante la modellazione deve essere effettuato tramite il menu "Progetto, Unisci, Magazzino Materiali". In questo modo l'utente può recuperare altri materiali senza doverli creare da solo.
2.1.4.2 Nuovo
Cliccando su questo widget viene creato un nuovo materiale richiamando la finestra "Caratteristiche". All'utente viene quindi chiesto di inserire un nome appropriato, la risposta in frequenza, la direttività e le caratteristiche di fase da associare a questo nuovo materiale.
2.1.4.3 Ordina
Dopo diverse aggiunte e probabilmente nomi caotici, l'elenco dei materiali esistenti tende a diventare poco chiaro. Cliccando su questo widget i materiali vengono ordinati in ordine alfabetico.
2.1.4.4 Copia
Questo gadget deve essere utilizzato quando il modello presenta diversi materiali di natura quasi identica. Le differenze vengono modificate tramite la finestra "Caratteristiche" dopo aver cliccato sul pulsante "Modifica".
2.1.4.5 Elimina
L'eliminazione di un materiale dal deposito materiali viene eseguita con questo gadget. Il materiale viene inserito nella "Pila di Annullamento Materiali".
2.1.4.6 Cancella
Premendo questo gadget vengono eliminati tutti i materiali dal deposito materiali, che vengono quindi inseriti nella "Pila di Annullamento Materiali".
2.1.4.7 Annulla
Annullare una cancellazione viene eseguito con questo gadget. Esso recupera il materiale superiore dal "Stack di Annullamento Materiali" e lo inserisce nel deposito materiali per un uso immediato.
2.1.4.8 Modifica
Premendo questo pulsante è possibile modificare le proprietà del materiale selezionato. Viene aperta la finestra "Caratteristiche" dove l'utente può modificare le proprietà del materiale.
2.1.4.9 Tipo
Questa area di testo mostra il tipo di materiale selezionato. Può trattarsi di mobili (assorbitori), sorgente o ricevitore.
2.1.4.10 Ok!
Questo serve a confermare il materiale selezionato come scelta valida da utilizzare nell'ambiente audio virtuale. Dopo aver premuto il pulsante "Seleziona Materiale..." nella finestra "Stock Disegni" e aver trovato il materiale corretto, bisogna confermarlo con un clic su "Ok!".
2.1.4.11 Annulla
Questo serve a confermare qualsiasi materiale selezionato come una selezione non valida, che non verrà utilizzata nell'ambiente audio virtuale. Dopo aver cliccato sul pulsante "Seleziona Materiale..." nella finestra "Disegno-Materiale" e non aver trovato il materiale corretto, si deve confermare l'operazione con un clic su "Annulla", se non si ha alcuna conoscenza del materiale. Quando invece si dispone di informazioni sul materiale, si deve crearlo cliccando sul pulsante "Nuovo..." e confermare con "OK!", sia nella finestra "Caratteristiche" che in quella "Materiale-Magazzino".
2.1.5 La finestra "Magazzino Voli"
Questa finestra gestisce il magazzino dei percorsi di volo virtuali. È simile a un'agenzia di viaggi in cui l'utente ottiene il percorso di volo appropriato.
2.1.5.1 Selezionare un Volo
Questo gadget elenco mostra tutti i percorsi di volo esistenti che possono essere utilizzati nell'ambiente audio virtuale. Il recupero di altri percorsi di volo durante la modellazione deve essere effettuato tramite il menu "Merge Progetti - Magazzino Voli". In questo modo, l'utente può recuperare altri percorsi di volo senza doverli creare manualmente.
2.1.5.2 Nuovo
Non implementato!!! Creare nuovi percorsi di volo utilizzando il modello indicato nell'appendice A.
2.1.5.3 Ordina
Dopo diverse aggiunte e probabilmente nomi caotici, l'elenco dei percorsi di volo esistenti tende a diventare poco chiaro. Attivando questo gadget, i percorsi di volo vengono visualizzati in ordine alfabetico.
2.1.5.4 Copia
Non implementato!!! Creare nuovi percorsi di volo utilizzando il modello indicato nell'appendice A.
2.1.5.5 Elimina
L'eliminazione di un percorso di volo dall'agenzia di viaggi viene eseguita con questo gadget. Esso viene posizionato in cima allo "Stack di Annullamento Percorsi di Volo".
2.1.5.6 Cancella
Premendo questo gadget vengono eliminati tutti i percorsi di volo dall'agenzia di viaggi, e questi vengono inseriti nello "Stack di Annullamento Percorsi di Volo".
2.1.5.7 Annulla
L'annullamento di una cancellazione viene eseguito con questo gadget. Esso recupera il percorso di volo più recente dal "Stack di percorsi da annullare" e lo inserisce nell'agenzia di viaggi per un uso immediato.
2.1.5.8 Modifica
Non implementato!!! Creare nuovi percorsi di volo utilizzando il modello indicato nell'appendice A.
2.1.5.9 Ok!
Questo serve a confermare qualsiasi percorso di volo selezionato come scelta valida da utilizzare nell'ambiente audio virtuale. Dopo aver premuto il pulsante "Seleziona percorso di volo..." nella finestra "Raccolta disegni" e aver trovato il percorso corretto, bisogna confermarlo con un clic su "Ok!".
2.1.5.10 Annulla
Questo serve a confermare qualsiasi traiettoria selezionata come una scelta non valida che non verrà utilizzata nell'ambiente audio virtuale. Dopo aver premuto il pulsante "Seleziona traiettoria..." nella finestra "Raccolta disegni" e non aver trovato la traiettoria corretta, è necessario confermare l'operazione con un clic su "Annulla".
2.1.6 La finestra delle caratteristiche
Questa finestra gestisce le proprietà dei materiali. È una finestra di conferma che viene normalmente richiamata quando si premono i pulsanti "Nuovo..." o "Modifica..." nella finestra "Raccolta materiali".
2.1.6.1 Nome
Questo gadget di input testuale gestisce il nome che verrà associato al materiale. Il nome associato viene modificato in tutte le istanze in cui è utilizzato, al momento della conferma con "Ok!".
2.1.6.2 Ciclo del tipo
Attraverso questo gadget a ciclo, è possibile impostare il tipo di materiale, ovvero se il materiale deve essere considerato come un mobile, un trasmettitore o un ricevitore.
2.1.6.3 Ciclo di visualizzazione del grafico
Con questo gadget di ciclo, la dipendenza dei grafici di frequenza è configurabile, ovvero è possibile visualizzare o l'assorbimento (arredamento) e la risposta (trasmettitore e ricevitore) o la dipendenza di fase.
2.1.6.4 Area del grafico
Questa area può essere modificata a mano libera, premendo il pulsante di selezione del mouse e tracciando either l'assorbimento (arredamento) e la risposta (trasmettitore e ricevitore) o la dipendenza di fase alle varie frequenze.
2.1.6.5 Inserimenti decimali
Se è necessaria la correttezza formale, questi gadget di input intero sono molto utili. Durante la modifica dell'assorbimento (arredamento) e della risposta (trasmettitore e ricevitore), il valore varia da zero a 100. Il valore della dipendenza di fase varia da zero a 360.
2.1.6.6 Pulsanti di direttività
Questi pulsanti impostano la direttività alle frequenze appropriate. Nota: Al momento sono disponibili solo radiazione omnidirezionale, bidirezionale e cardioidale. La funzione euristica di ray-tracing dovrebbe essere riscritta se si necessita di una direttività più dettagliata e specifica.
2.1.6.7 Colore
Questa entità è destinata a miglioramenti futuri, come ambienti tridimensionali solidi nella finestra del modelatore. Non è ancora implementata a causa della mancanza di funzioni standardizzate per schede grafiche veloci con ombreggiatura Gouraud e z-buffer.
2.1.6.8 Ok!
Questo pulsante serve a confermare il materiale modificato come materiale valido, utilizzabile nell'ambiente audio virtuale. Dopo aver cliccato sul pulsante "Nuovo..." o "Modifica..." nella finestra "Stock Materiali" e aver modificato le proprietà ai valori corretti, bisogna confermare con un clic su "Ok!".
2.1.6.9 Annulla modifiche
Premendo questo pulsante viene annullata la configurazione dei materiali, ripristinando le impostazioni precedenti alle nuove modifiche.
2.1.6.10 Annulla
Questo serve a confermare il materiale modificato come una modifica non valida, che non verrà utilizzata nell'ambiente audio virtuale. Dopo aver premuto il pulsante "Nuovo..." o "Modifica..." nella finestra "Stock Materiali", aver modificato le proprietà e non averle corrette correttamente, bisogna confermare l'operazione con un clic su "Annulla".
2.1.7 La finestra principale di calcolo: Tracer, Normalizzatore e Auralizzatore
Questa finestra gestisce il ray-tracer, il normalizzatore di echi e l'auralizzatore di campioni. Compiti semplici possono essere calcolati preferibilmente tramite questa finestra, ma quando si lavora con ambienti audio virtuali più complessi è preferibile utilizzare l'approccio ARexx. L'utilizzo di questa finestra è indicato principalmente per verifiche, in particolare per l'euristica del ray-trace. Vedere Appendice E.7 per il layout grafico.
2.1.7.1 Cicli di impostazione del Tracer
Questi gadget di ciclo gestiscono la funzione euristica di ray-tracing e il modo in cui dovrebbe calcolare e reagire ai dati in ingresso, ovvero il modello audio virtuale. Le impostazioni possono essere in modalità alta, media, bassa e automatica. Se è necessaria un'approccio più rigoroso, ARexx è la scelta appropriata. Queste impostazioni finestra sono calcolate dal computer secondo una funzione speciale che dipende da alcune proprietà di base del modello audio virtuale, pertanto non sono coerenti tra diversi modelli audio virtuali.
2.1.7.2 Distribuzione della riverberazione
Questa area di visualizzazione mostra la distribuzione della riverberazione a un'umidità relativa specifica. La distribuzione è dipendente dal tempo nel dominio della frequenza. Distribuzioni strane sono probabilmente dovute all'uso di materiali estranei.
2.1.7.3 Umidità relativa
Il cambiamento dell'umidità relativa dell'aria viene effettuato tramite questo gadget di ciclo. Le maggiori differenze si osservano nella parte ad alta frequenza e solitamente c'è poco interesse nel modificare questa entità.
2.1.7.4 Colpi di energia
Questa area mostra tutti i raggi tracciati con successo, ovvero quei raggi che trovano un percorso da un trasmettitore a un ricevitore o viceversa, a seconda del tipo di calcolo utilizzato.
2.1.7.5 Campione di auralizzazione
Il campione di auralizzazione predefinito che verrà utilizzato nella procedura di auralizzazione. Schemi di auralizzazione più complessi sono possibili in modalità ARexx.
2.1.7.6 Imposta campione di auralizzazione
Questo pulsante richiama la finestra del selettore file, dove viene richiesta la selezione di un file campione appropriato.
2.1.7.7 Computer
Questa area mostra in quale fase della procedura di calcolo si trova il programma, ovvero se sta eseguendo ray-tracing, normalizzazione dell'echogramma o auralizzazione del campione. I toggle con spunta servono per selezionare il tipo di calcolo che verrà eseguito durante l'esecuzione dei calcoli in avanti/indietro.
2.1.7.8 Mostra traccia x
Quando i calcoli sono terminati, l'echogramma viene visualizzato automaticamente. Esistono due modalità di ray-tracing: in avanti e all'indietro; il passaggio tra i due risultati viene effettuato tramite i pulsanti "Mostra traccia in avanti" e "Mostra traccia all'indietro". L'aggiunta dei risultati viene eseguita con il pulsante "Mostra traccia unita", e il risultato visualizzato non dovrebbe differire eccessivamente dai singoli risultati, al fine di garantire un'efficace funzione euristica di ray-tracing.
2.1.7.9 Calcolo
Esistono due modalità di ray-tracing: tracciamento in avanti e tracciamento all'indietro. Il tracciamento in avanti viene eseguito con il pulsante "Calcolo in avanti", mentre il tracciamento all'indietro viene eseguito con il pulsante "Calcolo all'indietro". Il controllo di coerenza, per garantire un'efficace funzione euristica di ray-tracing, viene solitamente effettuato utilizzando entrambe queste metodologie di calcolo, e "Calcolo unito" è un pulsante rapido per questa operazione.
2.1.7.10 Pausa ||
Se il computer richiede una potenza di calcolo estrema, è possibile sospendere temporaneamente la procedura di calcolo premendo questo pulsante.
2.1.7.11 Interrompi il calcolo!
Se improvvisamente ti viene in mente "Ho dimenticato quella cosa!", questo pulsante risulta molto utile.
2.1.7.12 Ciclo ricevitore
Questo gadget dinamico gestisce quale ricevitore deve essere considerato durante la visualizzazione dell'echogramma normalizzato. Il menu contiene tutti i nomi degli oggetti ricevitore. La modifica del ricevitore aggiorna automaticamente l'area di visualizzazione dell'echogramma.
2.1.7.13 Ciclo trasmettitore
Questo gadget dinamico gestisce quale trasmettitore deve essere considerato durante la visualizzazione dell'echogramma normalizzato. Il menu contiene tutti i nomi degli oggetti trasmettitore. La modifica del trasmettitore aggiorna automaticamente l'area di visualizzazione dell'echogramma.
2.1.7.14 Area echogramma
Questa area di visualizzazione mostra l'echogramma normalizzato dopo una sessione di calcolo. I primi calcoli mostrano il primo trasmettitore/ricevitore incontrato (a seconda del tipo di calcolo). L'uso di un programma di modifica campione potrebbe essere più ingannevole, pertanto questa area non è adatta a riflessioni approfondite o alla dimostrazione di teorie.
2.1.8 La finestra delle preferenze
Questa finestra gestisce il file delle preferenze utilizzato all'avvio di 3DA². L'uso di un editor normale potrebbe essere più semplice in alcuni casi, ma l'utilizzo dei standard file-requester risulta molto utile.
2.1.8.1 Percorsi rigidi
Questi componenti di input testuale sono destinati all'inserimento da tastiera o alla conferma della selezione al momento del clic sul pulsante "Imposta...".
2.1.8.2 Regolazione colore RGB
La modifica dei colori avviene selezionando un colore specifico e poi regolando i cursori R, G e B ai valori visivi appropriati. Il colore viene aggiornato in tempo reale.
2.1.8.3 Utilizzo
Se si apportano modifiche temporanee alle preferenze, questo pulsante deve essere premuto dopo le correzioni.
2.1.8.4 Salva modifiche
Se sono state apportate modifiche elementari alle preferenze, questo pulsante deve essere premuto dopo aver corretto le modifiche.
2.1.8.5 Annulla modifiche
Se si è verificato un errore o si è commesso un lapsus, questo pulsante annulla le impostazioni delle preferenze precedenti.
2.1.8.6 Annulla
Se non è necessario modificare le preferenze, questo pulsante deve essere premuto, dopo di che tutto tornerà come prima dell'apertura di questa finestra.
2.2 Come modellare ambienti audio virtuali
Questa sezione riguarda gli aspetti essenziali del lavoro di modellazione, ed è assunto che la gestione del programma sia già ben conosciuta in anticipo. Il modo più veloce per imparare il programma è semplicemente sperimentarlo un po'. Col passare del tempo, le procedure di gestione diventano più rapide. È il momento di leggere la seguente sezione quando si avverte la sensazione di conoscere le funzioni e la posizione delle leve di controllo.
2.2.1 Estrazione degli elementi essenziali
Il lavoro di modellazione è la parte più difficile quando si tratta di ambienti audio virtuali, soprattutto per gli utenti alle prime armi che non conoscono le peculiarità della funzione di ray-tracing euristico. Anche se questa funzione è stata scritta dallo stesso modelatore — cosa che avviene di solito — bisogna sottolineare che non è possibile prevedere tutti gli effetti di questa funzione.
Di solito non si cerca un'elevata esattezza estrema, ed è quindi meglio non includere ogni dettaglio con precisione assoluta. Il livello di esattezza richiesto dipende naturalmente dalle dimensioni della stanza e dai tipi di impostazioni che si intende utilizzare. Maggiore è l'accuratezza in termini di diffrazione, frequenza e fase, maggiore sarà la necessità di precisione.
Solitamente è molto difficile individuare il giusto livello di granularità; per non dire che tale livello dipende fortemente dalle funzioni euristiche, ed è quindi fondamentale redigere il log in modo appropriato (vedi B.5).
2.2.2 Modellazione
L'input del modello audio desiderato è il passo successivo ed è relativamente semplice. Innanzitutto, si apre la finestra "Disegno-Stock", utilizzando il menu o "Right-Amiga D". In questa finestra sono presenti tutti gli oggetti che esistono nel modello audio virtuale. Naturalmente, quando si avvia il programma da zero, non ce ne sono. Il secondo passo consiste nell'inserire tutti gli oggetti più grandi e i confini della stanza; nominarli in modo coerente è conveniente per il modelatore. A questo stadio, il livello di granularità è molto essenziale, poiché modellare al livello sbagliato potrebbe rendere i calcoli estremamente laboriosi o fortemente distorti.
Dopo il vero lavoro di modellazione, solitamente con la prospettiva disattivata, bisogna assegnare i materiali. Selezionare i materiali non è un compito facile. Spesso oggetti lisci, duri e pesanti tendono ad avere proprietà di riflessione quasi totale. Al contrario, i materiali soffici con molti fori presentano l'opposto. Questa è semplicemente una regola generale, e di solito il materiale corretto va cercato in qualche libro di riferimento sui coefficienti di assorbimento o misurato con il metodo più recente; quest'ultimo è più costoso e tale livello di precisione non è solitamente necessario.
Finora il modello audio virtuale è di tipo statico, e assegnare un percorso di volo a determinati oggetti rende direttamente il modello dinamico. Ricordando che questo programma è un prototipo per l'implementazione reale di ambienti audio tridimensionali, la creazione dei percorsi di volo è stata affidata ai programmi creati dall'utente, derivati dal modello descritto in A.4.
Dopo queste fasi, dovrebbe essere eseguito il calcolo effettivo del ray-tracing; e se vi è incertezza sul comportamento della funzione euristica, i due tipi di metodi di calcolo sono molto utili per verificare i risultati.
2.2.3 Suddivisione del lavoro
Lavorare insieme a più persone sullo stesso problema è altresì possibile, e il modo naturale di suddividere il carico di lavoro è suddividerlo nelle seguenti fasi: l'equipe di modellazione degli oggetti primitivi, l'equipe di definizione dei materiali e l'equipe di produzione del percorso di volo. L'equipe di modellazione degli oggetti potrebbe suddividere il proprio lavoro in modo da concentrarsi su diverse parti del modello audio virtuale.
2.2.4 Unione del Lavoro
Combinare il lavoro potrebbe essere una fase complessa. Normalmente, nel team di sviluppo c'è qualcuno che conosce le convenzioni di denominazione degli altri, e ciò aiuta notevolmente. È fondamentale che tutti utilizzino nomi chiari e descrittivi per oggetti, materiali e percorsi di volo, al fine di rendere il processo di integrazione il più semplice possibile. Normalmente, il calcolo effettivo del ray-tracing dovrebbe essere eseguito successivamente, ed è importante sottolineare che lavorare con modelli di grandi dimensioni richiede come criterio fondamentale l'uso di euristiche ben progettate.
2.2.5 La Scrittura Log-Cog
Svolgere lavoro scientifico con 3DA² implica alcuni criteri fondamentali, descritti nell'appendice B. Tuttavia, la suddivisione del carico di lavoro potrebbe introdurre problemi significativi relativi a tali criteri. È quindi estremamente essenziale che tutti siano ben consapevoli dei fatti riportati nell'appendice B.
Naturalmente, la suddivisione degli scritti Log dovrebbe essere effettuata nello stesso modo della suddivisione della modellazione. Gli scritti Log devono essere chiari e descrittivi, e inoltre devono essere comprensibili da tutto il team. In opposizione a questo approccio, la compilazione Cog dovrebbe essere effettuata dalla persona con la conoscenza più rigorosa degli ambienti audio virtuali.
2.3 Come scrivere script ARexx per 3DA²
Chi è abituato a programmare diverse applicazioni non avrà problemi con le funzionalità di programmazione ARexx. Imparare ARexx non è lo scopo di questa sezione, poiché esistono numerosi libri su ARexx e su come programmare con esso. Pertanto, riporto solo alcuni semplici esempi che mostrano il nucleo fondamentale delle parole chiave ARexx di 3DA² in azione.
Il primo esempio è un ambiente statico da soggiorno con un impianto Hi-Fi stereo. Successivamente viene presentato l'ambiente statico quadrifonico da soggiorno. Come conclusione dei modelli statici, viene incluso un compartimento con vari suoni provenienti da diverse posizioni.
Passando agli ambienti dinamici, il primo esempio semplice è la classe rumorosa con molte disgrazie. L'ambiente più complesso di una stazione ferroviaria, un porto e un aeroporto in una grande città mostra il pieno potenziale degli script ARexx nei modelli dinamici.
Infine, i modelli di fantascienza utilizzati negli ambienti audio di fantascienza iniziano con l'esempio di una stanza i cui confini si espandono. L'ultimo esempio si svolge nel campo lunare, con un'atmosfera (ovviamente !!!) e vari suoni assurdi. Questi due ultimi esempi sono pura fantascienza e non devono essere considerati come risultati scientifici in alcun Log o Cog. Tuttavia, potrebbero essere individuate alcune incongruenze nella funzione euristica, rendendo quindi molto utile non essere rigidi in tutti gli aspetti scientifici.
2.3.1 Esempio di avvio
/******************************************************************
* *
* 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 Modello statico semplice
/******************************************************************
* *
* 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 Modello statico complesso
/******************************************************************
* *
* 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 Modello dinamico semplice
/******************************************************************
* *
* 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 Modello dinamico complesso
/******************************************************************
* *
* 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 Modello di fantascienza semplice
/******************************************************************
* *
* 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 Modello di fantascienza complesso
/******************************************************************
* *
* 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
Appendice A: File di dati
"In dubiis non est agendum"
Ogni tipo di dato 3DA² può essere modificato con un normale editor di testo. Anche se non è consigliato che un utente principiante modifichi questi file, un utente esperto potrebbe divertirsi con essi. Tra le altre cose, è possibile creare nuovi oggetti primitivi. La seguente lista mostra i formati di file associati al software 3DA².
AVVISO!
Gli utenti che inseriscono dati errati potrebbero far calcolare al programma cose molto strane. Non ci si assume alcuna responsabilità se il computer va in tilt o vengono osservati "nuovi" fenomeni acustici.
A.1 Formato file di disegno
Formato file:
$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>
Esempio:
$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 Formato file oggetti
Formato file:
$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
Esempio:
$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 Formato file materiali
Formato file:
$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
Esempio:
$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 Formato file voli
Formato file:
$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>
Esempio:
$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 Formato file dati traccia
Formato file:
$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
Esempio:
These data should not be manually edited. Every tampering with computed
data is a violation against the scientific credibility and result.
A.6 Formato file preferenze
Formato file:
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
Esempio:
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
Appendice B: Metodo della scienza 3DA²
"Pensée fait la grandeur de l'homme"
Blaise Pascal
Dai fondamenti, dalla soggettività e dall'oggettività apparente all'oggettività reale è lo scopo di questa appendice.
B.1 Nozioni di base
In questa prima parte dichiaro i fondamenti di tutte le teorie. I lettori già familiarizzati con questi termini possono saltare questa sezione e passare alla successiva.
B.1.1 Cosa sono i postulati
Un postulato è un'ipotesi o assunzione di base, solitamente presentata con l'affermazione che debba essere accettato come assiomatico. È assunto e pertanto non richiede dimostrazione della sua validità. Tuttavia, una dottrina costruita su diversi postulati diventa più speculativa, e gli scienziati dovrebbero minimizzare il loro uso. Nota: L'abolizione totale dei postulati non è l'obiettivo globale.
B.1.2 Cosa sono gli assiomi
Un assioma è una proposizione, un principio o una regola che ha ottenuto accettazione generale o è ritenuto degno di tale accettazione, sia per il suo merito intrinseco che sulla base della sua autogiustificazione. Sono affermazioni auto-coerenti riguardo ai termini primitivi o agli oggetti indefinibili che costituiscono la base del discorso. Nota: Di solito i postulati non sono generalmente accettati.
B.1.3 Cosa sono le definizioni
Una definizione serve a determinare le qualità essenziali e il significato preciso di un concetto o di una cosa specifica. È una specificazione della costruzione o dell'interpretazione di quel concetto. Assieme ai postulati e agli assiomi, le definizioni costituiscono i blocchi fondamentali di una dottrina.
B.1.4 Cosa sono le ipotesi
Un'ipotesi è una proposizione assunta provvisoriamente al fine di dedurne le conseguenze logiche o empiriche e testarne la coerenza con i fatti noti o determinabili. Da un'ipotesi ben formulata può essere costruita una teoria ben fondata.
B.1.5 Cosa sono i lemmi
Un lemma è una proposizione o un teorema preliminare o ausiliario, dimostrato o accettato per essere utilizzato immediatamente nella dimostrazione di un'altra proposizione. Un lemma è un pre-teorema.
B.1.6 Cosa sono i teoremi
Un teorema è un'affermazione che è stata dimostrata o la cui verità è stata ipotizzata. È una regola o un'affermazione di relazioni. In matematica, solitamente espressa in una formula o tramite simboli.
B.1.7 Cosa sono i Corollari
Un corollario è una proposizione derivata da un teorema. È una deduzione, una conseguenza o un'ulteriore inferenza più o meno immediata da una proposizione dimostrata. Un corollario è un co-teorema o un teorema secondario.
B.1.8 Cosa sono le Teorie
L'insieme coerente di principi ipotetici e pragmatici che costituiscono il quadro di riferimento generale per un campo di indagine. Il seguente corpo teorico è ricercato quando si forma una teoria ben fondata.
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.
Una teoria può consistere di altre teorie come sottoinsiemi e ereditare tutte le loro proprietà, rendendo così la teoria un insieme ricorsivo di teorie basato su un fondamento di postulati, assiomi e definizioni. La seguente immagine cerca di visualizzare il concetto stesso della costruzione teorica.

B.2 Il Livello Soggettivo
Questa parte riguarda esclusivamente il livello soggettivo della scienza 3DA², che è il primo livello incontrato quando si tratta di ambienti audio-virtuali. Inizialmente definisco le entità di questo livello, successivamente le partizioni di assiomi, definizioni e teoremi. Alcuni lettori potrebbero pensare che gli "Assiomi Soggettivi" siano più simili a "Postulati" o piuttosto "Postulati Soggettivi", ma trascurano il fatto che gli assiomi hanno una definizione più forte, rendendo i "Postulati Soggettivi" un'entità meno robusta.
B.2.1 Definizione del Livello Soggettivo
Il livello soggettivo di una teoria emergente è la parte costituita da ipotesi soggettive ancora non formate e influenzate dalla ricerca. Anche se il valore scientifico è basso, le idee e i postulati di base sono di grande interesse poiché costituiscono la fondazione da cui la teoria successiva dovrebbe svilupparsi. Le eventuali incoerenze con altre teorie vengono individuate a questo livello, rendendo piuttosto semplice eliminare una teoria patologica.
B.2.2 Vincoli 3DA²: Assiomi Soggettivi
Come per la maggior parte dei ray-tracer audio, esistono alcuni vincoli, e pertanto non può essere utilizzato per prevedere la risposta all'impulso audio virtuale senza tenere presenti i seguenti fatti. Questi dipendono dalla funzione euristica (per funzioni euristiche definite dall'utente, vedere B.5 e attendere 3DA³), ma originariamente sono i seguenti:
-
Il suono emesso è fortemente quantizzato in direzione, a causa della funzione euristica.
-
Tutte le superfici del modello sono piane e lisce.
-
Si assume la riflessione speculare.
-
Si assume l'addizione dell'energia.
-
Le discontinuità agli spigoli vengono scartate.
-
La diffrazione, la dispersione, la risonanza e la rifrazione sono implementate come funzione euristica.
-
Si assume un campo sonoro parzialmente diffuso.
B.2.3 Creazione di modelli di test: Definizioni soggettive
È essenziale considerare gli elementi della stanza che rivestono grande importanza durante la modellazione. Come si sa cosa è importante o meno (vedi 2.2)? Il modello creato è altamente soggettivo, e il modellatore dovrebbe probabilmente prestare maggiore attenzione agli oggetti grandi nell'ambiente audio piuttosto che a piccoli fiori o insetti minuscoli. Tuttavia, questo tipo di soggettività è piuttosto patologico per un utente principiante e va tenuto in considerazione quando si critica oggettivamente il suo lavoro. Man mano che gli utenti acquisiscono padronanza delle essenzialità negli ambienti audio virtuali, le loro definizioni soggettive diventano più preziose e, se eseguite correttamente, possono trasformarsi in un livello pseudo-oggettivo (vedi appendice B.5).
B.2.4 Esecuzione di test di ascolto: Teoremi soggettivi
Quando gli assiomi e le definizioni soggettivi sono delineati e i vari calcoli vengono eseguiti, il risultato deve essere testato su diversi tipi di ascoltatori. È quasi senza interesse utilizzare un solo tipo di ascoltatore, come ad esempio tutti i più grandi appassionati di audio che hanno sviluppato il loro senso critico attraverso prove d'ascolto da molto tempo. Nemmeno l'uso esclusivo di persone che frequentano discoteche è particolarmente utile in questi test. I partecipanti alle prove d'ascolto devono rappresentare l'intera popolazione, con tutti i livelli di conoscenza audio, al fine di ottenere il massimo effetto. Tuttavia, gli estremi sono talvolta molto importanti per ottenere quell'ultimo pezzo di teorema che rende valida l'intera teoria.
B.3 Definizione degli operatori di oggettività
In questa sezione definisco quelle entità che aiutano a trasformare pensieri soggettivi in qualcosa di più oggettivo. Vivere con questi principi in tutti gli aspetti della vita non è l'obiettivo, ma quando si lavora alla costruzione di una teoria è essenziale rifletterci di tanto in tanto. Pensare costantemente con questi operatori in mente durante un lavoro scientifico è tuttavia molto difficile e potrebbe causare seri problemi interni, specialmente se la autocritica non è ben controllata e non è diretta verso il lavoro scientifico.
B.3.1 Oggettività
Il primo operatore di oggettività è ovviamente l'oggettività. È l'operatore più importante tra questi. Lo studio di fenomeni nuovi non precedentemente incontrati dall'osservatore costituisce la prima base della nuova conoscenza in quel campo. Inevitabilmente, ci sono alcuni problemi senza conoscenze a priori, specialmente quando la teoria emergente è completamente nuova e non esistono conoscenze precedenti. In momenti come questi, lo scienziato deve lavorare duramente, poiché l'unico modo per essere oggettivi è trovare un isomorfismo in un'altra teoria ben nota. Parzialmente, esistono isomorfismi tra tutte le teorie e solitamente alcuni di essi costituiscono la base della nuova teoria. Questo primo stadio nel processo evolutivo di una teoria è di grande importanza e la selezione delle teorie di base è imperativa. Non si cerca una vasta quantità di isomorfismi, bensì il minor insieme possibile di teorie in grado di spiegare la natura della nuova teoria. Se esiste un modo più semplice per spiegare (dimostrazione di un teorema) e se questa spiegazione (teorema) è coerente con la natura dei postulati, assiomi e definizioni precedentemente enunciati, essa deve essere assunta; questa procedura è solitamente chiamata "rasoio di Occam". L'uso di spiegazioni più brevi rende una teoria leggera e compatta, rendendola così più comprensibile e utile per altri scienziati.
B.3.2 Apertura mentale
Affrontare una nuova teoria è ovviamente molto difficile, specialmente quando gli "inventori" sono chiusi alla propria disciplina scientifica. Una sessione di brainstorming occasionale è di grande aiuto nella ricerca di nuove idee. Questo brainstorming deve essere innescato dal semplice fatto di essere curiosi di conoscere qualcosa di nuovo, e ovviamente tutti i grandi scienziati possiedono questa capacità. In termini di informatica, questa procedura di brainstorming è un algoritmo in ampiezza prima e un suo uso eccessivo è come osservare la superficie dell'acqua senza osare nuotare o tuffarsi per raggiungere conoscenze più profonde.
B.3.3 Lungimiranza
L'opposto dell'operatore precedente è la capacità di lungimiranza dello scienziato. Prendendo la stessa analogia dell'esempio precedente, questa procedura è un algoritmo in profondità. Scendere troppo in profondità non è consigliato, ma l'interazione tra apertura mentale e lungimiranza, la capacità di sapere quando utilizzare l'una o l'altra in un caso particolare, è il cuore dell'intelligenza umana. I visionari sono molto lungimiranti nelle loro visioni, e per riuscire a realizzarle devono essere aperti mentalmente.
B.3.4 Autocritica
L'operatore più difficile è l'autocritica. Essere oggettivi non significa essere autocritici: in un certo senso, l'oggettività implica semplicemente considerare tutti gli aspetti di un problema. L'autocritica è importante perché funge da stimolo alla fiducia in sé stessi. Alcuni lettori potrebbero pensare il contrario, e per chiarire le nebbie che avvolgono i loro pesanti pensieri, è necessario leggere la seguente spiegazione. La prima fase nell'apprendere l'autocritica non è uno stimolo, bensì esattamente il contrario. Sono d'accordo. Quando l'autocritica diventa parte del lavoro quotidiano, si trasforma gradualmente da effetto non stimolante a effetto stimolante. Questo perché il confronto costante con l'autocritica quotidiana indurisce la superficie contro le critiche esterne. Questo indurimento nei confronti delle critiche esterne rafforza l'autonomia personale e rende di conseguenza la teoria emergente più solida. Si noti che sto discutendo una teoria emergente e non una teoria ben nota.
B.3.5 Creatività
La volontà di creare qualcosa di nuovo è forse la più grande forza motrice quando si “inventa”. Quando si affronta questo operatore, la ricerca di isomorfismo viene abbandonata e si compie il passaggio obbligatorio fuori dal sistema. Guardare una teoria dall’esterno è un’operazione piuttosto complessa e non ha a che fare con la larghezza di vedute, perché fuori dal sistema non c’è né ampiezza né profondità. L’abilità immaginaria di sé ha un forte effetto colorante fino al punto della creatività riuscita. È basata sulle metafore che l’individuo ha raccolto negli anni, e anche se la creatività non è in sé un atto intellettuale, l’implementazione del “creato” nella teoria è piuttosto significativamente intellettuale. Naturalmente, deve essere applicabile ad altri “menti”, e gli operatori precedenti lo fissano più o meno. In totale, il risultato è probabilmente molto mappabile ad altri “menti”.
B.3.6 Caoticità
L'uso dei computer ha spesso sollevato la seguente domanda: "Abbiamo la capacità di calcolare questo problema in una forma matematica precisa e coerente con tutte le leggi della natura?". Come scienziato informatico, devo affrontare un fatto duro: è impossibile anche con un computer esotico estremamente veloce. Questo computer potrebbe essere più veloce di se stesso in ogni istante di calcolo, eppure ci sarebbero ancora problemi che non riuscirebbe a risolvere. Bene! Allora perché preoccuparsi di tali banalità? Il vero fatto è che, se tutto nell'universo fosse esatto e ogni componente "sapesse" (posizione, velocità, temperatura ecc.) di tutti gli altri componenti dell'universo, sarebbe impossibile modificare anche un solo attributo nell'universo. Assumo un universo infinito, ma anche se non fosse infinito, la comunicazione estrema tra tutti i componenti collasserebbe. Il passo successivo è abbandonare l'ipotesi affermata e supporre che i componenti comunichino solo con i loro vicini più prossimi. Questo alleggerisce davvero la comunicazione, ma introduce anche una forma di "messaggi" ritardati, anche se si propagano alla velocità della luce. Unendo quanto detto al fatto fondamentale dell'Universo "L'uniformità è la tua destinazione", la conclusione dovrebbe essere che quasi nulla nell'Universo è esatto, perché ci vorrebbe un tempo infinito per mantenere tutti i componenti nelle loro posizioni, velocità, temperature e così via "perfette".
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.
Il postulato quattro non afferma che i computer sono caotici, ma piuttosto che potrebbero essere programmati per possedere una certa caoticità. Sarebbe paradossale affermarlo se i computer non fossero solo formalmente esatti, ma realmente esatti. La conclusione di questa parte è: trovare una formula o un sistema esatti serve solo a comprendere la profondità di una teoria, senza mostrare esplicitamente la natura stessa del problema, che piuttosto rimane implicita in qualche modo. Il creatore di una teoria forma la propria conoscenza esplicita in termini di impressioni visive e simili. Queste vengono successivamente filtrate attraverso la mente e infine trascritte in un modo che, si spera, possa essere letto e compreso da qualcuno oltre il creatore stesso. Scrivere l'essenza dei fattori caotici è molto difficile e probabilmente dispendioso in termini di tempo, ma quando si considerano gli altri operatori oggettivi, potrebbe gettare una luce sulla complessità coinvolta nell'affrontare le teorie.
B.4 Dal Soggettivo all'Obiettivo
In questa sezione vengono esposte le trasformazioni dal livello soggettivo a quello obiettivo. Le definizioni sono precedute da alcune avvertenze generali sugli effetti di contaminazione, per poi presentare i casi estremi delle formule e l'uso degli operatori di obiettività precedentemente definiti.
B.4.1 Definizione del Livello Obiettivo
Il livello obiettivo di una teoria emergente è la parte costituita da ipotesi oggettive formate e modificate dalla ricerca e da altre teorie. In netto contrasto con il livello soggettivo, il valore scientifico è molto significativo. Le idee e i postulati fondamentali hanno costituito la base, rendendo la teoria solida su basi oggettive. Tutto ciò dipende dal fatto che il ricercatore incorpori o meno una solida base teorica. L'uso di una teoria in evoluzione e ancora incompleta potrebbe portare lo scienziato a trarre assunzioni errate.
B.4.2 Definizione del Livello Pseudo-Obiettivo
Il livello pseudo-obiettivo di una teoria emergente è la parte costituita da ipotesi soggettive formate e modificate da operatori di obiettività. Anche questo livello è di notevole rilevanza scientifica. È proprio questo livello a dare forma alla nuova teoria; combinato con la base oggettiva, si ottiene l'intera teoria. Se il livello pseudo-obiettivo risulta coerente con tutte le teorie esistenti, viene assunto come totalmente obiettivo. Dopo tale verifica di coerenza, la teoria può essere utilizzata come base per una teoria emergente di un altro ricercatore. Un input falso produce certamente un output falso, mentre un input vero produce un output discutibile: utilizza i tuoi dati con cura, poiché il tuo output potrebbe diventare l'input di qualcun altro.
B.4.3 Effetti di Contaminazione
Il intreccio dei dati calcolati non è assolutamente consentito. È spesso il caso che i dati siano di notevoli dimensioni senza tenere in considerazione il paradosso degli osservatori quando si tratta di output informatico. Questo paradosso è una piaga che affligge quasi tutte le scienze e afferma che lo scienziato non può effettuare un'osservazione senza contaminarla con i propri strumenti. Tuttavia, questo paradosso ha anche un significato chiaro in informatica e matematica, sebbene assuma una forma diversa. Per queste discipline, il problema di guidare il processo evolutivo di una teoria secondo i propri desideri e aspirazioni ("Vedi ciò che vuoi vedere") può portare a teorie errate. Non utilizzare correttamente gli operatori di oggettività equivale precisamente a dichiarare che la teoria è contaminata.
B.4.4 Esperimenti di calcolo patologico
Cosa si deve imparare dai casi estremi di un certo procedimento di calcolo? Questa è una domanda piuttosto ampia, ma la risposta potrebbe essere sorprendentemente semplice. La ricerca di una formula globale in grado di essere esatta per la maggior parte dei calcoli e dei casi è piuttosto semplice. Se si cerca invece casi patologici, come costringere i calcoli a comportarsi nel modo peggiore possibile, la comprensione della formula viene potenziata. Verificare il comportamento di queste formule rispetto alla teoria, posta a fondamento di tali calcoli, può individuare eventuali incoerenze all'interno della teoria e forse anche della formula stessa. Questo lavoro rappresenta una delle parti più dispendiose in termini di tempo nella costruzione di teorie, poiché i casi estremi non sono sempre evidenti e possono richiedere un notevole tempo per essere individuati. Quando finalmente vengono trovati, potrebbero rovinare l'intera teoria e costringere lo scienziato a ricominciare da capo.
B.4.5 L'uso degli operatori di oggettività
Quando si utilizzano gli operatori di oggettività, bisogna affermare che non esiste un pensiero unidirezionale e che quanto segue rappresenta semplicemente il mio modo di utilizzarli. Innanzitutto, la componente visionaria (lungimiranza) funziona, generando uno scopo distante costituito da diverse "fantasie". Successivamente, la autocritica verifica se tali "fantasie" possano essere realizzate, e alcuni cicli nel processo di brainstorming (apertura mentale) confermano eventuali risposte. Ora è il momento di essere oggettivi e analizzare le idee da ogni prospettiva delle altre teorie, combinandole con la creatività fino a dove possibile. Successivamente, si effettua un salto non descrittivo tra gli operatori per far evolvere la teoria. Di solito, quando si incontra un problema complesso all'interno della teoria, si seleziona un operatore diverso da utilizzare. La selezione avviene come l'euristica primaria alla quale la teoria ha iniziato a evolversi.
B.5 La Notazione di Trasformazione dell'Oggettività Euristiche
Nella formazione della teoria 3DA², l'uso del Log e del Cog è essenziale. Naturalmente, si tratta dell'insieme minimo necessario per avere almeno un'idea della teoria. Pertanto, non è vietato arricchire il contenuto e l'outline del Log e del Cog.
B.5.1 Modello Euristico di Base
Il modello base per le assiomi, definizioni e teoremi soggettivi della 3DA² è specificato di seguito. Tutte le sessioni 3DA² che diventano base per la teoria 3DA² devono avere template esplicitamente scritti al fine di tracciare difetti o svolte.
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 Il Log: Premesse Soggettive
Il Log è l'ambiente virtuale-audio espresso in inglese semplice. Anche il modello euristico è un membro del Log e deve precedere l'esplicazione del modello. Concludere il Log rappresenta lo scopo e le aspettative della sessione specifica.
B.5.3 Il Cog: Clausole Soggettive
Il Cog è composto dalle risposte alle domande del Log, e ciascuna per ogni persona che svolge il test di ascolto. Gli partecipanti non dovrebbero conoscere le aspettative, al fine di minimizzare gli effetti di contaminazione. Alla fine, va redatto un rapporto su queste risposte in confronto alle aspettative, naturalmente redatto dal redattore del Log.
B.5.4 Clausole pseudo-oggettive
Il passo successivo consiste nell'applicare gli operatori di oggettività al Cog e nel formare un nuovo Log con una migliore coerenza tra intento ed aspettativa. Man mano che i test di ascolto procedono e intento ed aspettativa si avvicinano e forse coincidono, il Cog può essere incorporato nella teoria 3DA².
Appendice C: Programmazione ARexx 3DA²
"Esse non videri"
Fredrik The Great
Questa appendice riguarda esclusivamente le parole chiave ARexx e le loro definizioni. Non è un'analisi completa del linguaggio ARexx, poiché esistono già libri dedicati a questo argomento.
C.1 Audiotrace
Questa parola chiave gestisce tutte le funzioni di tracciatura, sia per la configurazione che per la procedura effettiva di tracciatura. L'algoritmo euristico di ray-tracing programmabile è accessibile tramite questa parola chiave.
C.1.1 Impostazioni
La prima sottoparola chiave è "settings", che contiene le variabili fondamentali del tracciatore. Queste sono i principali fattori di velocità nel ray-tracing, e l'utente può generalmente stimare la velocità risultante da queste impostazioni. Nota: La velocità può essere molto ambigua se la funzione euristica è scritta senza considerare fattori caotici (vedi appendice B).
C.1.1.1 Big_Data
I dati generati vengono conservati integralmente con la loro intensità, tempo, lunghezza del percorso percorso e vettore di impatto. Inoltre, i nomi dei punti sorgente e ricevitore vengono memorizzati in forma testuale.
C.1.1.2 Small_Data
I dati generati vengono conservati con la loro intensità, tempo e nomi dei punti sorgente e ricevitore in forma numerica.
C.1.1.3 Ray_Density
Da una sorgente o da un ricevitore, a seconda che l'utente stia eseguendo una tracciatura in avanti o all'indietro, questa parola chiave imposta la quantità di raggi irradiati da questi punti che costituiranno l'echogramma successivamente calcolato.
C.1.1.4 Reverberation_Accuracy
Questa parola chiave imposta il limite di troncamento dell'echogramma. È espressa in percentuale della durata totale dell'echogramma. La durata dell'echogramma viene calcolata con la formula di Sabine. Un echogramma più breve accelera i calcoli dell'auralizer.
C.1.1.5 Specular_Depth
Questa parola chiave imposta il numero massimo di riflessioni. È consigliabile non impostarla troppo alta (n=50 è molto elevato in alcuni casi, specialmente se il modello è molto complesso o dettagliato).
C.1.1.6 Diffusion_Accuracy
Questa parola chiave imposta la percentuale di raggi di diffusione che verranno calcolati in ogni riflessione. Il numero totale di raggi di diffusione serve da base per questi calcoli. Questo è sicuramente molto dipendente dalla funzione euristica di ray-tracing dell'utente. La diffusione potrebbe essere applicata successivamente, ma ciò implica l'assunzione che ogni materiale abbia le stesse caratteristiche di diffusione, il che certamente non è vero.
C.1.1.7 Diffraction_Accuracy
Questa parola chiave imposta la percentuale di raggi di diffrazione che verranno calcolati (raggi che passano vicino a un bordo o uno spigolo). Il numero totale di raggi di diffrazione serve da base per questi calcoli. Questo è sicuramente molto dipendente dalla funzione euristica di ray-tracing dell'utente. La diffrazione potrebbe essere applicata successivamente, utilizzando oggetti speciali per bordi e spigoli, e quindi ricalcolata. Questa seconda soluzione è interessante se l'utente desidera ottenere solo le componenti di diffrazione dei calcoli di ray-tracing.
C.1.1.8 Frequency_Accuracy
Questa parola chiave imposta la percentuale di raggi suddivisi per frequenza che verranno calcolati in ogni riflessione. Il numero totale di bande di frequenza (normalmente 10) viene utilizzato come base. Questo è sicuramente molto dipendente dalla funzione euristica di ray-tracing dell'utente.
C.1.1.9 Phase_Accuracy
Questa parola chiave imposta la percentuale di raggi che utilizzeranno la dipendenza della fase del materiale degli oggetti durante l'incontro con gli stessi durante la propagazione. Dipende fortemente dalla precedente impostazione di Frequency-Accuracy. Questo è sicuramente molto dipendente dalla funzione euristica di ray-tracing dell'utente.
C.1.1.10 All
Questa parola chiave imposta quasi tutte le variabili di impostazione precedenti per la parola chiave principale Audiotrace.
C.1.2 Forward
Una volta completate tutte le impostazioni e l'utente desidera eseguire il ray-tracing audio del modello audio virtuale, può eseguirne il tracciamento in avanti. Ciò significa effettuare i calcoli di audio-tracing dalla sorgente al ricevitore.
C.1.3 Backward
Quando tutte le impostazioni sono state completate e l'utente desidera eseguire un audio-tracing del modello audio virtuale, può eseguirlo all'indietro. Ciò significa effettuare i calcoli di audio-tracing dal ricevitore alla sorgente.
C.1.4 Completo
Quando tutte le impostazioni sono state completate e l'utente desidera eseguire un audio-tracing del modello audio virtuale, può effettuare un tracing completo. Ciò significa eseguire i calcoli di audio-tracing sia dalla sorgente al ricevitore che dal ricevitore alla sorgente. Questo aiuta a verificare la coerenza della funzione euristica dell'utente. Se il risultato ha la stessa apparenza nella modalità forward rispetto alla modalità backward, l'utente sta utilizzando una funzione euristica di ray-tracing appropriata. In caso contrario, la funzione euristica deve essere controllata e corretta. Le correzioni devono essere riportate come note nel codice sorgente dell'euristica, indicando il problema e la soluzione (vedi appendice B).
C.1.5 Tutti
Se l'utente desidera un tracing completo, ovvero se tutti i trasmettitori e i ricevitori devono partecipare ai calcoli di ray-tracing, la parola chiave "Tutti" esegue questa operazione. Nota: Non sono necessari nomi.
C.2 Auralizzazione
Questa parola chiave gestisce tutti i comandi dell'auralizzatore, sia per la configurazione che per la procedura di auralizzazione effettiva. L'algoritmo dell'auralizzatore programmabile è accessibile tramite questa parola chiave.
C.2.1 Impostazioni
La prima sottoparola chiave è "settings", che contiene le variabili dei parametri dell'auralizzatore. Queste sono i fattori principali di velocità nella procedura di auralizzazione e solitamente l'utente può stimare la velocità di calcolo risultante da queste impostazioni. Nota: La velocità non è ambigua come la funzione euristica nel processo di ray-tracing. Tuttavia, una programmazione errata dell'auralizzatore potrebbe causare una convoluzione sbagliata, rendendo i dati risultanti molto ambigui.
C.2.1.1 Dirac_Sample_Frequency
La frequenza di campionamento del campione Dirac (echogramma), utilizzato nella procedura di auralizzazione (convoluzione), può essere impostata su qualsiasi frequenza di campionamento.
C.2.1.2 Sound_Sample_Frequency
La frequenza di campionamento del campione sonoro risultante dalla procedura di auralizzazione (convoluzione) può essere impostata su qualsiasi valore.
C.2.1.3 Dirac_Sample_Data_Width
La larghezza dei dati del campione Dirac, utilizzato nella procedura di auralizzazione (convoluzione), può essere impostata su qualsiasi larghezza. Nota: Utilizzare esclusivamente una larghezza di bit pari a 2^n^.
C.2.1.4 Sound_Sample_Data_Width
La larghezza dei dati del campione sonoro risultante dalla procedura di auralizzazione (convoluzione) può essere impostata su qualsiasi larghezza. Nota: Utilizzare esclusivamente una larghezza di bit pari a 2^n^.
C.2.2 Forward
Quando tutte le impostazioni sono state completate e l'utente desidera auralizzare un modello audio virtuale tracciato con ray-tracing, può utilizzare i dati del ray-tracing in avanti indirizzati alla procedura di auralizzazione.
and
C.2.3 Backward
Quando tutte le impostazioni sono state completate e l'utente desidera auralizzare un modello audio virtuale tracciato con ray-tracing, può utilizzare i dati del ray-tracing all'indietro indirizzati alla procedura di auralizzazione.
and
C.2.4 Full
Quando tutte le impostazioni sono state completate e l'utente desidera auralizzare un modello audio virtuale tracciato per raggi e vuole auralizzarlo utilizzando sia i dati del tracciamento dei raggi in avanti che quelli del tracciamento dei raggi all'indietro, può utilizzare la parola chiave "full".
and
C.3 Clear
Questa parola chiave gestisce tutte le funzioni di cancellazione dati utilizzate quando l'utente desidera eliminare i dati. Nota: questa parola chiave non richiama la finestra di conferma, indipendentemente dal fatto che l'utente stia effettivamente eliminando dati preziosi o meno.
C.3.1 Disegno
L'esempio seguente mostra come l'utente deve creare un modello di disegno pulito senza oggetti nel modello audio virtuale. Nota: questa parola chiave non richiama la finestra di conferma, indipendentemente dal fatto che l'utente stia effettivamente eliminando dati preziosi o meno.
C.3.2 Oggetti
L'esempio seguente mostra come l'utente deve creare un magazzino di oggetti pulito, privo di oggetti. Ciò significa che l'utente deve recuperare un nuovo magazzino di oggetti dallo storage secondario (vedi C.9.2) per rendere possibile la modellazione. Nota: questa parola chiave non richiama la finestra di conferma, indipendentemente dal fatto che l'utente stia effettivamente eliminando dati preziosi o meno.
C.3.3 Materiali
L'esempio seguente mostra come l'utente deve creare un magazzino di materiali pulito, privo di materiali. Ciò significa che l'utente deve recuperare un nuovo magazzino di materiali dallo storage secondario (vedi C.9.3) o creare nuovi materiali utilizzando "Material Create ..." (vedi C.10.1) per rendere possibile la modellazione. Nota: questa parola chiave non richiama la finestra di conferma, indipendentemente dal fatto che l'utente stia effettivamente eliminando dati preziosi o meno.
C.3.4 Percorsi
L'esempio seguente mostra come l'utente deve creare un magazzino di percorsi pulito, privo di percorsi di volo. Se il modello è di natura statica, ovvero tutti gli oggetti sono fissi e non mobili, questi percorsi di volo non sono utilizzabili. Dipende dalla quantità di percorsi primitivi che l'utente normalmente carica all'avvio, ma solitamente richiedono una notevole quantità di memoria. Se il modello è statico, questa parola chiave riduce la dipendenza del sistema dalla memoria. Nota: questa parola chiave non richiama la finestra di conferma, indipendentemente dal fatto che l'utente stia effettivamente eliminando dati preziosi o meno.
C.3.5 Tracce audio
L'esempio seguente mostra come l'utente deve cancellare tutti i dati traccia calcolati (sia i dati di tracciamento in avanti che all'indietro). Nota: questa parola chiave non richiama la finestra di conferma, indipendentemente dal fatto che l'utente stia effettivamente eliminando dati preziosi o meno.
C.3.6 Echogrammi
L'esempio seguente mostra come l'utente deve cancellare tutti gli echogrammi normalizzati associati al modello audio virtuale. Nota: questa parola chiave non richiama la finestra di conferma, indipendentemente dal fatto che l'utente stia effettivamente eliminando dati preziosi o meno.
C.3.7 Tutto
L'esempio seguente mostra come l'utente deve cancellare tutti i dati associati al modello audio virtuale. Nota 1: questa parola chiave non richiama la finestra di conferma, indipendentemente dal fatto che l'utente stia effettivamente eliminando dati preziosi o meno. Nota 2: questa operazione cancella tutti i dati.
C.4 Spostamento
Questa parola chiave gestisce le funzioni di spostamento dei vari componenti dati, ovvero piccole modifiche specifiche rispetto ai dati precedenti come base relativa nel calcolo. Utilizzando questa parola chiave e assegnando un percorso di volo, l'ambiente audio virtuale diventa automaticamente dinamico. Rendere il modello dinamico aumenta la richiesta computazionale, poiché è necessario calcolare nuovi ecosonogrammi in ogni istante.
C.4.1 Tempo
Questa sottoparola chiave gestisce le variazioni temporali, utilizzate in un modello audio virtuale dinamico. Il tempo è direttamente collegato al percorso di volo degli oggetti ed è calcolato esplicitamente, consentendo così di avere un tempo non direzionale (cioè il futuro potrebbe anche significare il passato). Per ottenere una mappatura normale, coerente con la nostra percezione del tempo, l'utente deve scegliere tra due direzioni: avanti o indietro.
C.4.1.1 Avanti
Quando si utilizza "avanti" come parola chiave finale, il tempo viene forzato in avanti, producendo un normale trascorrere del tempo.
C.4.1.2 Indietro
Quando si utilizza "indietro" come parola chiave finale, il tempo viene forzato all'indietro, consentendo di tornare nel passato. Dal punto di vista scientifico, questa non è una soluzione conforme al comportamento normale del nostro ambiente. Ciò rende parzialmente errate tutte le deduzioni derivate da simulazioni con tempo all'indietro. Tuttavia, questa opzione permette di realizzare soluzioni temporali non lineari e non direzionali. Queste soluzioni possono essere utilizzate in ambienti temporali non naturali, probabilmente più utili nel contesto di opere di fantascienza. Quando si utilizza 3DA² in questo modo, l'utente deve dichiarare che la simulazione non ha alcun equivalente naturale, nel nostro senso di percezione.
C.4.2 Oggetto
Questa sottoparola chiave gestisce le variazioni di posizione, dimensione e orientamento degli oggetti, utilizzate in un modello audio virtuale dinamico.
C.4.2.1 Posizione
L'uso di questa parola chiave finale attiva uno spostamento della posizione di un oggetto specifico, rispetto alla sua posizione corrente nello spazio.
C.4.2.2 Ridimensionamento
L'uso di questa parola chiave finale esegue uno spostamento dimensionale di un particolare oggetto, rispetto alla sua dimensione corrente.
C.4.2.3 Orientamento
L'uso di questa parola chiave finale esegue uno spostamento rotazionale di un particolare oggetto, rispetto alla sua orientazione corrente nello spazio. L'ordine di rotazione è x, y, poi z.
C.4.2.4 PSO
L'uso di questa parola chiave finale esegue uno spostamento di posizione, dimensione e orientamento di un particolare oggetto, rispetto alla sua posizione, dimensione e orientamento correnti nello spazio. L'ordine di rotazione è x, y, poi z.
C.4.3 Materiale
Questa parola chiave secondaria gestisce gli spostamenti in frequenza, fase e direttività di un particolare materiale. Le modifiche sono relative ai valori correnti (confronta con C.10.2). La creazione di un materiale con una risposta dinamica in frequenza, fase e direttività permette di ottenere un comportamento più realistico. Consultare l'unità di Introduzione per ulteriori spiegazioni.
C.4.3.1 Frequenza
Se l'ultima parola chiave è "frequency", gli spostamenti vengono mappati sulla risposta in frequenza del materiale.
C.4.3.2 Fase
Se l'ultima parola chiave è "phase", gli spostamenti vengono mappati sulla risposta in fase del materiale.
C.4.3.3 Direttività
Se l'ultima parola chiave è "directivity", gli spostamenti vengono mappati sulle caratteristiche direttive del materiale. Nota: La versione corrente prevede solo tre modalità direttive (0 = omni, 1 = Bi, 2 = Cardioid), pertanto spostamenti maggiori di ±1 risultano inutili.
C.4.4 Volo
Questa sottoparola gestisce le variazioni di posizione, dimensione e orientamento del percorso di volo, utilizzate in un modello audio virtuale dinamico. Normalmente ciò non è comune, poiché i percorsi di volo dovrebbero essere generati correttamente fin dall'inizio utilizzando un generatore di percorsi di volo appropriato. Durante la verifica della coerenza dell'ambiente audio virtuale, è necessario effettuare piccoli spostamenti che riveleranno possibili problemi con la funzione di ray-tracing euristica. Nota: Questo va utilizzato esclusivamente durante la verifica della coerenza tra modello e realtà.
C.4.4.1 Posizione
L'uso di questa parola chiave finale determina uno spostamento della posizione di origine del percorso di volo rispetto alla sua posizione corrente nello spazio.
C.4.4.2 Ridimensionamento
L'uso di questa parola chiave finale determina uno spostamento della dimensione del percorso di volo rispetto alla sua dimensione corrente.
C.4.4.3 Orientamento
L'uso di questa parola chiave finale determina un particolare orientamento del percorso di volo rispetto al suo orientamento corrente nello spazio. L'ordine di rotazione è x, y, poi z.
C.4.4.4 PSO
L'uso di questa parola chiave finale determina una particolare posizione, dimensione e orientamento del percorso di volo rispetto alla sua posizione, dimensione e orientamento correnti nello spazio. L'ordine di rotazione è x, y, poi z.
C.5 Drawing_To_Object
Quando si esegue un insieme di oggetti generati automaticamente, questa parola chiave trasforma il modello di disegno corrente in un oggetto. Nota: Questo comando non cancella il modello di disegno corrente, al fine di consentire la creazione di nuovi oggetti a partire dall'oggetto attuale e/o lo spostamento/la rimozione di quelli precedenti.
C.6 Echogramma
Questa parola chiave gestisce tutte le funzioni dell'echogramma, sia per la configurazione che per la procedura di normalizzazione effettiva dell'echogramma.
C.6.1 Impostazioni
La sottoparola chiave "Settings" viene utilizzata quando si modifica il metodo di normalizzazione nella procedura di normalizzazione dell'echogramma.
C.6.1.1 No_Normalize
Non viene eseguita alcuna normalizzazione sull'echogramma calcolato. Di conseguenza, i livelli rimangono grezzi. Quando utilizzato nella auralizzazione-convoluzione, il risultato è sempre scadente a causa della perdita dei bit meno significativi. Questa impostazione viene utilizzata esclusivamente quando l'utente desidera calcoli rapidi e nulla più.
C.6.1.2 Linear_Normalize
Viene eseguita la normalizzazione sull'echogramma calcolato. La perdita dei bit meno significativi, critica per la procedura di auralizzazione, viene eliminata con questa parola chiave finale. Questa è l'impostazione predefinita e l'uso dell'echogramma normalizzato con "Linear_Normalize" è quello appropriato.
C.6.1.3 Exp_Normalize
La normalizzazione viene eseguita sull'echogramma calcolato in modo non lineare. Per rendere la normalizzazione dell'echogramma più coerente con l'orecchio umano, ovvero con l'inerzia uditiva (integrazione), viene utilizzata questa impostazione sperimentale.
C.6.2 Forward
Il calcolo di un echogramma da un trasmettitore specifico a un ricevitore specifico avviene come segue.
and
C.6.3 Backward
Il calcolo di un echogramma da un ricevitore specifico a un trasmettitore specifico avviene come segue.
and
C.6.4 Full
Il calcolo di un echogramma da un ricevitore specifico a un trasmettitore specifico e viceversa avviene come segue. Nota: Questo viene solitamente utilizzato per controlli di coerenza.
and
C.7 Echogram_weight
Quando si calcolano i criteri acustici "CLARITY" e altri, questa parola chiave risulta estremamente utile. Essa calcola il peso dell'echogramma utilizzando funzioni specificate dall'utente.
C.7.1 Forward
Il calcolo del peso dell'echogramma da un trasmettitore specifico a un ricevitore specifico deve essere effettuato come segue.
and
C.7.2 Backward
Il calcolo del peso dell'echogramma da un ricevitore specifico a un trasmettitore specifico deve essere effettuato come segue.
and
C.7.3 Full
Il calcolo del peso dell'echogramma da un ricevitore specifico a un trasmettitore specifico e viceversa viene effettuato come indicato di seguito. Nota: utilizzato nel controllo di coerenza.
and
C.8 Flight
Questa parola chiave gestisce l'assegnazione e i metodi di formazione dei percorsi degli oggetti di volo.
C.8.1 Change
Questa sottoparola chiave gestisce le variazioni di posizione, dimensione e orientamento del percorso di volo, utilizzate in un modello audio virtuale dinamico. Normalmente ciò non è comune, poiché i percorsi di volo dovrebbero essere correttamente generati fin dall'inizio mediante un opportuno generatore di percorsi di volo.
C.8.1.1 Origin_Position
L'uso di questa parola chiave finale impone una posizione specifica dell'origine del percorso di volo nello spazio.
C.8.1.2 Size
L'uso di questa parola chiave finale fa assumere al percorso di volo specificato la dimensione indicata.
C.8.1.3 Orientation
L'uso di questa parola chiave finale fa ruotare l'orientamento del percorso di volo a un angolo specifico. L'ordine di rotazione è x, y, poi z.
C.8.1.4 PSO
L'uso di questa parola chiave finale fa modificare la posizione, la dimensione e l'orientamento del percorso di volo. L'ordine di rotazione è x, y, poi z.
C.9 Carica
Il recupero di dati precedentemente calcolati, prodotti o acquisiti relativi a disegni, oggetti, materiali, traiettorie di volo, tracce audio o ecmogrammi viene effettuato con questa parola chiave.
C.9.1 Disegno
Il recupero di un modello audio virtuale viene effettuato con questa sottoparola chiave.
C.9.2 Oggetti
Il recupero di un insieme di oggetti di modellazione viene effettuato con questa sottoparola chiave.
C.9.3 Materiali
Il recupero di un insieme di materiali viene effettuato con questa sottoparola chiave.
C.9.4 Voli
Il recupero di un insieme di traiettorie di volo viene effettuato con questa sottoparola chiave.
C.9.5 Forward
Questa sottoparola chiave gestisce l'ambiente di recupero dei dati del calcolo in avanti.
C.9.5.1 Traccia audio
Il recupero di una traccia audio in avanti viene effettuato con questa parola chiave finale.
C.9.5.2 Ecmogramma
Il recupero di un ecmogramma basato sul calcolo in avanti viene effettuato con questa parola chiave finale.
C.9.6 Backward
Questa sottoparola chiave gestisce l'ambiente di recupero dei dati del calcolo all'indietro.
C.9.6.1 Traccia audio
Il recupero di una traccia audio all'indietro viene effettuato con questa parola chiave finale.
C.9.6.2 Ecmogramma
Il recupero di un ecmogramma basato sul calcolo all'indietro viene effettuato con questa parola chiave finale.
C.9.7 Full
Questa sottoparola chiave gestisce l'ambiente di recupero dei dati di calcolo. È utilizzata principalmente per controlli di coerenza, confrontando la tracciatura in avanti con quella all'indietro. Invece di utilizzare due righe di comando (Load Forward x n e Load Backward x n), impiega una sola riga (Load Full x n), rendendo così il sistema di recupero più sicuro contro errori di digitazione e simili.
C.9.7.1 Traccia audio
Il recupero di una traccia audio completamente calcolata viene effettuato con questa parola chiave finale.
C.9.7.2 Ecmogramma
Il recupero di un ecmogramma basato su calcolo sia in avanti che all'indietro viene effettuato con questa parola chiave finale.
C.10 Materiale
Questa parola chiave gestisce i materiali con il relativo tipo e la dipendenza dalla frequenza, fase e direttività.
C.10.1 Creazione
La creazione di un materiale viene eseguita con questa parola chiave secondaria. Di solito è più conveniente crearli nel file di testo dei materiali (vedi A.3) e successivamente recuperarli con la parola chiave "Load" (vedi C.9.3).
C.10.2 Modifica
La modifica di un materiale già creato viene eseguita con questa parola chiave secondaria. Si tratta di una modifica assoluta e le impostazioni precedenti non vengono utilizzate (confronta C.4.3).
C.10.2.1 Frequenza
La modifica della risposta di assorbimento del materiale viene eseguita con questa parola chiave finale.
C.10.2.2 Fase
La modifica della dipendenza di fase del materiale viene eseguita con questa parola chiave finale.
C.10.2.3 Direttività
La modifica della direttività del materiale viene eseguita con questa parola chiave finale.
C.10.2.4 Tipo
La modifica del tipo di materiale viene eseguita come segue.
C.10.2.5 Colore
La modifica del colore visivo (utilizzato negli ambienti 3D solidi) di un materiale specifico viene eseguita in questo modo.
C.10.2.6 Volume
La modifica del livello di energia del trasmettitore o della sensibilità energetica del ricevitore viene eseguita come segue.
C.11 Misura
L'unità di misura predefinita è sempre in metri; il cambio dell'unità di misura da questa predefinita viene effettuato con questa parola chiave.
C.11.1 Metro
Per coloro che sono più abituati al sistema metrico, la seguente impostazione è quella appropriata. Se il modello 3D è in esecuzione, la griglia viene visualizzata.
C.11.2 Piedi
Per coloro che sono più abituati al sistema inglese basato sull'pollice, la seguente impostazione è quella appropriata. Se il modello 3D è in esecuzione, la griglia viene visualizzata.
C.11.3 Disattivato
Se il modello 3D è in esecuzione e l'utente non desidera che la griglia venga visualizzata, la seguente impostazione è quella appropriata. Nota: L'unità di misura è in metri se l'utente non richiama "Misura Piedi", quando continua il lavoro di modellazione.
C.12 Unione
Il recupero di dati precedentemente calcolati, prodotti o acquisiti relativi a disegni, oggetti, materiali, percorsi di volo, tracce audio o ecmogrammi e la loro combinazione con i dati esistenti viene effettuato con questa parola chiave. Quando si suddivide il carico di lavoro tra più persone, questo risulta utile quando il supervisore del sistema dell'ambiente virtuale combina gli sforzi.
C.12.1 Disegno
La combinazione di un modello audio virtuale viene effettuata con questa sottoparola chiave.
C.12.2 Oggetti
La combinazione di un insieme di oggetti di modellazione viene effettuata con questa sottoparola chiave.
C.12.3 Materiali
La combinazione di un insieme di materiali viene effettuata con questa sottoparola chiave.
C.12.4 Voli
La combinazione di un insieme di percorsi di volo viene effettuata con questa sottoparola chiave.
C.13 Oggetto
Questa parola chiave gestisce la posizione, le dimensioni, l'orientamento, l'assegnazione dei materiali e il percorso di volo degli oggetti. Inoltre, l'utente può creare propri oggetti. L'utilizzo dell'inserimento normale degli oggetti e successivamente "Disegno in Oggetto" (vedi C.5) seguito da "Cancella Disegno" è un modo molto più comodo per creare nuovi oggetti.
C.13.1 Posizione
L'utilizzo di questa parola chiave secondaria sposta un particolare oggetto in una posizione specifica nello spazio.
C.13.2 Dimensione
L'utilizzo di questa parola chiave secondaria fa assumere all'oggetto specificato la dimensione indicata.
C.13.3 Orientamento
L'utilizzo di questa parola chiave secondaria fa ruotare un particolare oggetto nello spazio secondo gli angoli specificati . L'ordine di rotazione è x, y, poi z.
C.13.4 PSO
L'utilizzo di questa parola chiave finale fa sì che la posizione, le dimensioni e l'orientamento dell'oggetto vengano modificati in modo assoluto. L'ordine di rotazione è x, y, poi z.
C.13.5 Inserisci
L'inserimento di un nuovo oggetto nell'ambiente audio avviene come segue.
C.13.6 Materiale
L'assegnazione di un materiale specifico a un particolare oggetto avviene come segue.
C.13.7 Volo
L'assegnazione di un percorso di volo specifico a un particolare oggetto avviene come segue. Nota: Il modello audio virtuale diventa dinamico dopo questa operazione. L'uso di questa parola chiave e l'assegnazione di un percorso di volo rendono automaticamente dinamico l'ambiente audio virtuale. Rendere il modello dinamico aumenta la richiesta computazionale, poiché è necessario calcolare nuovi ecosistemi in ogni istante.
C.14 Preferenze
Questa parola chiave gestisce il percorso della directory e le impostazioni della tavolozza dei colori visivi. Si consiglia all'utente di impostarle all'inizio di uno script ARexx. Vedere A.5 per esempi di percorsi.
C.14.1 Drawingpath
La modifica della directory predefinita in cui vengono memorizzati i disegni viene effettuata con questa parola chiave secondaria.
C.14.2 Objectspath
La modifica della directory predefinita in cui vengono archiviati gli oggetti di modellazione viene effettuata con questa sotto-parola chiave.
C.14.3 Materialspath
La modifica della directory predefinita in cui vengono archiviati i materiali viene effettuata con questa sotto-parola chiave.
C.14.4 Flightspath
La modifica della directory predefinita in cui vengono archiviati i percorsi di volo degli oggetti viene effettuata con questa sotto-parola chiave.
C.14.5 Audiotracepath
La modifica della directory predefinita in cui vengono archiviati i tracciati audio calcolati viene effettuata con questa sotto-parola chiave.
C.14.6 Echogrampath
La modifica della directory predefinita in cui vengono archiviati gli echogrammi calcolati viene effettuata con questa sotto-parola chiave.
C.14.7 Samplepath
La modifica della directory predefinita in cui vengono archiviati i campioni (sia auralizzati che normali) viene effettuata con questa sotto-parola chiave.
C.14.8 Color
La modifica dei colori visivi predefiniti viene effettuata con questa parola chiave.
C.15 Esci
La chiusura di una sessione con 3DA² tramite ARexx viene eseguita con questa parola chiave. Di solito questo è il metodo più comune, ma è consentito anche l'uso del gadget di chiusura della finestra. L'utilizzo dell'opzione visiva ARexx "Show View" richiama automaticamente una finestra con un gadget di chiusura. Nota: Non viene visualizzato alcun richiesta di conferma durante l'uscita e il programma NON salva eventuali modifiche apportate ai dati.
C.16 Esempio
L'elaborazione di campioni calcolati viene eseguita con questa parola chiave.
C.16.1 Simple_Mix
La mescolanza semplice dei campioni viene eseguita con questa sottoparola chiave.
C.16.2 Over_Mix
La mescolanza semplice dei campioni con tempi speciali viene eseguita con questa sottoparola chiave.
C.16.3 Make_Stereo
La creazione di un campione stereo da due campioni mono viene eseguita con questa sottoparola chiave.
C.16.4 Length
La durata del campione in secondi viene recuperata con questa sottoparola chiave.
C.16.5 Delete
I campioni che non saranno più necessari possono essere eliminati utilizzando questa sottoparola chiave.
C.17 Salva
L'archiviazione dei dati calcolati e prodotti per disegni, oggetti, materiali, traiettorie di volo, tracce audio ed eogrammi viene eseguita con questa parola chiave.
C.17.1 Disegno
L'archiviazione di un modello audio virtuale viene eseguita con questa sottoparola chiave.
C.17.2 Oggetti
L'archiviazione di un insieme di oggetti di modellazione viene eseguita con questa sottoparola chiave.
C.17.3 Materiali
L'archiviazione di un insieme di materiali viene eseguita con questa sottoparola chiave.
C.17.4 Voli
L'archiviazione di un insieme di traiettorie di volo viene eseguita con questa sottoparola chiave.
C.17.5 Forward
Questa sottoparola chiave gestisce l'ambiente di archiviazione dei dati del calcolo in avanti.
C.17.5.1 Traccia audio
L'archiviazione di una traccia audio in avanti viene eseguita con questa parola chiave finale.
C.17.5.2 Echogramma
L'archiviazione di un echogramma basato sul calcolo in avanti viene eseguita con questa parola chiave finale.
C.17.6 Backward
Questa sottoparola chiave gestisce l'ambiente di archiviazione dei dati del calcolo all'indietro.
C.17.6.1 Traccia audio
L'archiviazione di una traccia audio all'indietro viene eseguita con questa parola chiave finale.
C.17.6.2 Echogramma
L'archiviazione di un echogramma basato sui calcoli all'indietro viene eseguita con questa parola chiave finale.
C.17.7 Full
Questa sottoparola chiave gestisce l'ambiente di archiviazione dei dati di calcolo. È utilizzata principalmente per controlli di coerenza, confrontando la tracciatura in avanti con quella all'indietro. Invece di utilizzare due righe di comando (Save Forward x n e Save Backward x n), impiega una sola riga (Save Full x n), rendendo così il sistema di archiviazione più sicuro contro errori di digitazione e simili.
C.17.7.1 Traccia audio
L'archiviazione di una traccia audio completamente calcolata viene eseguita con questa parola chiave finale.
C.17.7.2 Echogramma
L'archiviazione di un echogramma basato su calcoli sia in avanti che all'indietro viene eseguita con questa parola chiave finale.
C.18 Schermo
Se l'utente ha avviato più di una sessione 3DA², il cambio tra schermi viene semplificato tramite queste parole chiave. Per ottenere un ambiente 3D con occhiali speciali, l'utente deve avviare due sessioni 3DA² utilizzando esclusivamente ARexx.
C.18.1 Mostra
L'uso di questa sotto-parola chiave porta lo schermo 3DA² in primo piano.
C.18.2 Nascondi
L'uso di questa sotto-parola chiave porta lo schermo 3DA² in secondo piano.
C.19 Show
Questa parola chiave gestisce il visualizzatore 3D quando si controlla 3DA² tramite ARexx. Si ottiene un effetto 3D più marcato se l'utente esegue simultaneamente due sessioni di 3DA². Queste dovrebbero visualizzare il modello da punti di vista diversi e alternare gli schermi con "Screen Show". Nota: L'utente deve disporre di occhiali speciali che alternano la visualizzazione dell'immagine CRT.
C.19.1 View
Questa sottoparola chiave gestisce i punti di vista specifici e le impostazioni della lente. Non sono consigliate chiamate consecutive, poiché il tempo impiegato dal decoder ARexx è notevole. Se l'utente desidera creare un'animazione, otterrà grandi benefici utilizzando la sottoparola chiave "3D-Flight" (vedi C.19.6).
C.19.1.1 From
Questa parola chiave finale imposta la posizione dell'occhio nello spazio 3D.
C.19.1.2 To
Questa parola chiave finale imposta la posizione del punto di osservazione nello spazio 3D.
C.19.1.3 Tilt
Questa parola chiave finale viene utilizzata per inclinare il modello rispetto alla sua rotazione normale nello spazio. L'ordine di rotazione è x, y, poi z.
C.19.1.4 Magnification
Questa parola chiave finale gestisce il fattore di ingrandimento della lente di osservazione.
C.19.1.5 Perspective
Questa parola chiave finale gestisce la distanza focale della lente di osservazione.
C.19.1.6 3D
Questa parola chiave finale indica che la visualizzazione è impostata su tutte le proprietà sopra menzionate.
C.19.2 XY
Questa sottoparola chiave ruota il modello nella seguente posizione: asse X a destra, asse Y verso l'alto e asse Z verso l'utente.
C.19.3 XZ
Questa sottoparola chiave ruota il modello nella seguente posizione: asse X verso l'alto, asse Z a destra e asse Y verso l'utente.
C.19.4 YZ
Questa sottoparola chiave ruota il modello nella seguente posizione: asse Y a destra, asse Z verso l'alto e asse X verso l'utente.
C.19.5 Bird
Questa sottoparola chiave posiziona la lente nel primo ottante, con il punto di vista rivolto verso l'origine.
Mostra Uccello
C.19.6 3D_Flight
Questa sottoparola chiave gestisce le sequenze di animazione. Nota: utilizzare questa opzione invece di chiamate consecutive a "View".
C.19.6.1 In
Questa parola chiave finale consente all'utente di eseguire un ingrandimento sul modello.
C.19.6.2 Out
Questa parola chiave finale consente all'utente di eseguire un ridimensionamento dal modello.
C.19.6.3 Elevate
Questa sottoparola chiave gestisce il processo di elevazione del modello. Di solito viene utilizzata per le condizioni iniziali di camminata e corsa nell'ambiente del modello.
C.19.6.3.1 Up
Questa parola chiave finale eleva il modello dal livello dell'orizzonte.
C.19.6.3.2 Down
Questa parola chiave finale abbassa il modello fino al livello dell'orizzonte.
C.19.6.4 Circulate
Questa parola chiave finale gestisce il volo circolare intorno al modello.
C.19.6.5 Walk
Questa parola chiave gestisce le condizioni di camminata e corsa dopo l'inizializzazione con "elevate" (vedi C.19.6.3).
C.19.6.5.1 To
Questa parola chiave finale esegue la "camminata" verso una posizione desiderata, rivolgendo lo sguardo alla nuova posizione.
C.19.6.5.2 From
Questa parola chiave finale esegue la "camminata" verso una posizione desiderata, rivolgendo lo sguardo alla posizione precedente.
C.19.6.6 Path
Questa parola chiave finale viene utilizzata quando l'utente desidera effettuare un volo lungo un percorso specifico assegnato a un particolare oggetto nel modello audio.
C.20 Ordinamento
Questa parola chiave gestisce l'ordinamento del drawing_, object_, material_ e flight_stocks. Nota: Di solito non è necessaria nelle sessioni 3DA² ARexx.
C.20.1 Disegno
Questa sottoparola chiave ordina il drawing_stock. Nota: Di solito facilita durante la modellazione.
Ordina Disegno
C.20.2 Oggetti
Questa sottoparola chiave ordina il object_stock. Nota: Di solito facilita durante la modellazione.
Ordina Oggetti
C.20.3 Materiali
Questa sottoparola chiave ordina il material_stock. Nota: Di solito facilita durante la modellazione.
C.20.4 Voli
Questa sottoparola chiave ordina il flight_stock. Nota: Di solito facilita durante la modellazione.
C.21 Special_FX
Questa parola chiave gestisce gli effetti speciali. Comunemente utilizzata all'inizio o alla fine di una sessione di calcolo.
C.21.1 Flash
Questa sottoparola chiave fa lampeggiare un colore.
C.21.2 Sfumatura
Questa sottoparola chiave gestisce le procedure di sfumatura del colore.
C.21.2.1 In
Questa sottoparola chiave fa sfumare un colore dal nero al colore desiderato.
C.21.2.2 Out
Questa sottoparola chiave fa sfumare un colore dal colore desiderato al nero.
C.21.2.3 Tutti
Questa sottoparola chiave viene utilizzata quando l'utente desidera sfumare tutti i colori visibili sullo schermo.
C.21.2.3.1 In
Questa parola chiave finale fa sfumare tutti i colori dal nero ai colori desiderati.
C.21.2.3.2 Out
Questa parola chiave finale fa sfumare tutti i colori dai colori desiderati al nero.
C.21.3 Play_sound
Questa parola chiave viene utilizzata quando l'utente desidera un'affermazione uditiva dal calcolo di 3DA². Nota: Il campione è preferibilmente posizionato nel percorso sample_path.
Appendice D: Mappa delle icone
D.1 Icone per i Disegni
Le icone predefinite per i disegni, con la versione dati per modifica testo a sinistra e la versione ottimizzata per memoria e velocità a destra.
D.2 Icone per gli Oggetti
Le icone predefinite per gli oggetti, con la versione dati per modifica testo a sinistra e la versione ottimizzata per memoria e velocità a destra.
D.3 Icone per i Materiali
Le icone predefinite per i materiali, con la versione dati per modifica testo a sinistra e la versione ottimizzata per memoria e velocità a destra.
D.4 Icone dei voli
Le icone dei voli predefinite, con la versione dati per modifica testuale a sinistra e la versione ottimizzata per memoria e velocità a destra.
D.5 Icone dei dati tracciati
Le icone predefinite dei dati tracciati: i tracciati all'indietro sono a sinistra e quelli in avanti a destra, con le versioni dati per modifica testuale a sinistra e la versione ottimizzata per memoria e velocità a destra. Questi file di dati potrebbero essere modificati con un normale programma di editing testuale, ma non dovrebbero esserlo.
Causa: effetti di contaminazione dei dati di input che potrebbero rovinare completamente il risultato audio e portare a conclusioni errate sugli ambienti audio virtuali. Ricorda inoltre che la tua funzione euristica potrebbe apparire caotica.
D.6 Icona dell'echogramma
L'icona predefinita dell'echogramma; il file dei dati potrebbe essere modificato con un programma di modifica campione, ma non dovrebbe esserlo. Causa: gli effetti di contaminazione dei dati di input potrebbero rovinare completamente il risultato auralizzato, portando a conclusioni errate sugli ambienti audio virtuali, anche se la funzione di convoluzione è di tipo non caotico.
D.7 Icona del suono auralizzato
L'icona predefinita del suono auralizzato; il file dei dati potrebbe essere modificato con un programma di modifica campione, ma non dovrebbe esserlo. Causa: la manomissione dei dati di output compromette gravemente ogni valore scientifico, anche se si tratta di una piccola modifica.
D.8 Icona del file delle preferenze
L'icona predefinita del file delle preferenze; il file dei dati può essere modificato con un normale programma di testo o alterato tramite la finestra delle preferenze di 3DA².
Appendice E: Mappa delle finestre
E.1 Finestra Visualizzazione 3D e Modifica

Questa finestra è la finestra principale del modello 3D. Quasi tutte le azioni eseguite in questa finestra modificano il risultato calcolato. Le rotazioni comuni, lo zoom e i cambiamenti di prospettiva naturalmente non influiscono sul risultato. In questa finestra vengono visualizzati i messaggi di aiuto, se l'utente desidera che vengano mostrati.
E.2 Finestra Stock Disegni
Questa finestra contiene tutti gli oggetti che fanno parte del modello e da qui l'utente può accedere alle finestre degli oggetti, dei materiali e dello stock di volo.
E.3 Finestra Stock Oggetti
Questa è la finestra dello stock degli oggetti, da cui l'utente recupera gli oggetti che desidera posizionare nel modello principale.
E.4 Finestra Stock Materiali
Questa finestra gestisce tutti i materiali e l'utente può richiamare la finestra delle caratteristiche da qui.
E.5 Finestra del magazzino voli
Questa finestra gestisce tutti i percorsi di volo che possono essere assegnati agli oggetti modello audio. Rendere il modello dinamico aumenta la richiesta computazionale, poiché è necessario calcolare nuovi echiogrammi in ogni istante.
E.6 Finestra delle caratteristiche
Questa finestra gestisce tutte le proprietà dei materiali. La dipendenza dalla frequenza, fase e direttività viene rappresentata attraverso il colore della modellazione visiva. Inoltre, il nome e il tipo speciali sono modificabili.
E.7 Finestra del tracciante, echiogramma e convolvente
Questa finestra gestisce principalmente le impostazioni del tracciante e il pannello di elaborazione. È dedicata esclusivamente alla componente visiva, mostrando l'echiogramma normalizzato e gli impatti energetici calcolati. Per problemi di auralizzazione più complessi, si raccomanda fortemente l'approccio ARexx. La riproduzione di campioni sonori auralizzati può essere effettuata utilizzando un comune campionatore o il chip audio personalizzato dell'Amiga.
E.8 Finestra delle Preferenze
La finestra delle preferenze gestisce il file 3DAudio.preferences nella cartella 3DA-Prefs. La modifica in questa finestra è completamente controllata dal mouse, ma può essere effettuata anche tramite tastiera. Un altro modo per modificare queste impostazioni consiste nel aprire il file 3DAudio.preferences con un editor normale e modificarlo manualmente. Tuttavia, questa procedura non è consigliata.
E.9 Finestra Informazioni su 3DA²
Questa finestra mostra la versione del programma in esecuzione. Lo stato corrente del disegno, compreso il tempo di calcolo, viene visualizzato come informazione aggiuntiva. Vengono inoltre mostrati gli oggetti, i materiali e le memorie di volo correnti. Naturalmente, vengono anche visualizzati la memoria disponibile e il nome della porta ARexx.
E.10 Mappa della Finestra Principale

Questo grafico mostra la comunicazione tra le finestre del modelatore. Le frecce rappresentano i percorsi. Quando diversi elementi hanno lo stesso percorso ma dati di conferma differenti, le connessioni sono contrassegnate da una lampadina in bianco e nero.
Appendice F: Mappa dei Menu
F.1 Menu Progetto
Questo è il menu principale per recuperare, unire e memorizzare file di dati.
La finestra "Informazioni" viene richiamata da questo menu. La chiusura di una sessione 3DA² avviene tramite l'opzione "Esci".
F.1.1 Sottomenu Apri
Il recupero di dati precedentemente calcolati, prodotti o acquisiti relativi a disegni, oggetti, materiali, percorsi di volo, tracce audio o ecmogrammi viene eseguito tramite questo sottomenu. Gli errori di digitazione nei file di dati vengono segnalati tramite una finestra di notifica. Non è necessario ricordare il tipo di calcolo, in avanti o all'indietro. Il recupero delle tracce e degli ecmogrammi è automatico.
F.1.2 Sottomenu Unisci
Il recupero di dati precedentemente calcolati, prodotti o acquisiti relativi a disegni, oggetti, materiali e percorsi di volo, nonché la loro combinazione con i dati esistenti, viene eseguito tramite questo sottomenu. Quando si suddivide il carico di lavoro tra più persone, questa funzionalità risulta particolarmente utile quando il supervisore del sistema di ambiente virtuale unisce i vari contributi.
F.1.3 Sottomenu Salva
L'archiviazione dei dati calcolati e prodotti per disegni, oggetti, materiali e traiettorie di volo viene eseguita tramite questo sottomenu. Nota: Non viene richiamato alcun selettore di nomi file e l'azione viene confermata solo se il testo di aiuto è attivo. Quando si archiviano i dati in questo modo, viene utilizzato il nome del file precedente.
F.1.4 Sottomenu Salva con nome
L'archiviazione dei dati calcolati e prodotti per disegni, oggetti, materiali, traiettorie di volo, tracce audio ed eogrammi viene eseguita tramite questo sottomenu. Il salvataggio dei dati delle tracce e degli eogrammi è automatico per quanto riguarda i calcoli in avanti e all'indietro.
F.2 Menu Modifica Finestre
L'invocazione delle varie finestre di modifica avviene tramite questo menu. I primi due elementi del menu aprono le finestre principali di modellazione. I tre successivi aprono i depositi di oggetti, materiali e percorsi di volo. L'ultimo apre il computer di tracciamento, normalizzazione e auralizzazione.
F.3 Menu Miscellanea
Questo menu richiama la finestra delle preferenze, gestisce l'ambiente di eliminazione dei dati, attiva/disattiva il testo di aiuto e le impostazioni della struttura dei dati di traccia.
F.3.1 Sottomenu Cancella
Durante il lavoro con un sistema di restrizione della memoria e la modellazione con numerosi piccoli cambiamenti, gli stack di annullamento potrebbero diventare sproporzionati. Tenendo presente questo aspetto, un richiamo occasionale a queste funzioni può consentire al sistema di liberare una notevole quantità di memoria, rendendo così possibile affinare ulteriormente il modello.
F.3.2 Sottomenu Dati di Traccia
Il ray-tracing acustico è un'operazione che richiede molta memoria, e la possibilità di modificare la precisione dell'acustica risulta molto utile. I dati generati vengono completamente conservati con la loro intensità, tempo, lunghezza del percorso percorso e vettore di impatto se la casella di spunta "Grande" è selezionata. Inoltre, i nomi dei punti sorgente e ricevitore vengono memorizzati in forma testuale. I dati generati vengono conservati con la loro intensità, tempo e i nomi dei punti sorgente e ricevitore in forma numerica se la casella di spunta "Piccolo" è selezionata. Se il sistema di memoria rappresenta un collo di bottiglia, i dati calcolati devono essere salvati direttamente sul disco rigido e ciò avviene quando le caselle di spunta "... Su Disco" sono selezionate.
Appendice G: Mappa dei File
G.1 Cassetto principale di Soundtracer
Questo è il cassetto principale di 3DA². Si consiglia di mantenere tutti i file dell'ambiente audio virtuale e i dati elaborati all'interno dei limiti di questo cassetto.
G.2 Cassetto 3DA-Prefs
Questo sottocassetto contiene i file di dati di avvio, che sono scritti in formato testo. Tutti questi file possono essere modificati con un editor normale. In realtà, il "Tool predefinito" è già impostato su "ed".
G.3 Cassetto delle icone
Questo è la libreria predefinita delle icone di 3DA²; ogni modifica a queste icone modificherà l'aspetto predefinito da quel momento in poi.
G.4 Cassetti per Disegni, Oggetti, Materiali e Percorsi di Volo
Questi cassetti contengono naturalmente i file appropriati per disegni, oggetti, materiali e percorsi di volo. Questi file possono essere in formato testo o nel formato standard IEEE per dati matematici. Ridurre i problemi di portabilità è sempre una buona pratica, e quando velocità e memoria disco non sono fattori critici, l'opzione di salvataggio in formato testo è preferibile.
G.5 Cassetto 3DA²_ARexx
Questo cassetto deve contenere tutti i file ARexx associati a 3DA². Alcuni utenti potrebbero desiderare di utilizzare la directory "REXX:" per memorizzarvi questi file. Un avvertimento generale per chi lo fa: è più semplice disinstallare un programma se i file di dati associati sono posizionati nelle vicinanze; una gestione chiara dei file di dati associati aumenta la velocità dell'utente e, in ultima analisi, rende l'esperienza utente molto più rilassata.
G.6 Informazioni su 3DA²
Come in ogni altro programma Amiga, l'utente può impostare i codici di avvio speciali "Tool Types". L'opzione dello stack è un parametro molto importante, poiché l'utente può creare la propria funzione euristica (ad esempio da 3DA³ in poi). Per evitare l'overflow dello stack, specialmente quando si lavora con funzioni ricorsive, l'utente dovrebbe impostare la dimensione dello stack il più grande possibile.
G.7 Informazioni su 3DA².Rexx
Questo'icona è l'icona principale ARexx e, se l'utente desidera modificare il file di testo, "Default Tool:" dovrebbe essere impostato su "ed" o un altro editor. Se l'utente desidera eseguire lo script ARexx, "Default Tool:" deve essere impostato su "rx". Di solito l'utente dovrebbe aprire questi file per modificarli, non facendo doppio clic sull'icona, ma direttamente dall'editor.
Appendice H: Libri, hardware e software
"Timeo hominem unius libri"
Per coloro che desiderano saperne di più e forse iniziare a realizzare un ray tracer sonoro, queste referenze sono tra le più importanti. Tutti i seguenti elementi sono elencati in ordine di frequenza di apparizione, dal più comune in cima.
H.1 Influenze dei libri
- Heinrich Kuttruff, Acustica delle sale
- Cremer e Müller, Principi e applicazioni dell’acustica delle sale.
- Andrew S. Glassner, Introduzione al ray tracing
- K. Blair Benson, Manuale di ingegneria audio
- Alan Watt & Mark Watt, Tecniche avanzate di animazione e rendering
- Stewen Brawer, Introduzione alla programmazione parallela
- John Watkinson, L’arte dell’audio digitale
H.2 Influenze degli articoli
- Yoichi Ando, Calcolo della preferenza soggettiva in ciascun posto di una sala da concerto, Acoustical Society of America 74 (1983) 873
- A. Krogstad, S. Strøm & S. Sørsdal, Quindici anni di esperienza con il ray tracing computerizzato, Applied Acoustics 16 (1983) 291
- Katsuaki Sekiguchi & Sho Kimura, Calcolo del campo sonoro in una stanza con il metodo di integrazione finita dei raggi sonori, Applied Acoustics 32 (1991) 121
- Vern O. Knudsen, Lezione presentata al 121º incontro della Acoustical Society of America a Baltimora, 89 (1991)
- Leo L. Beranek, Acustica delle sale da concerto, Acoustical Society of America 92 (1992) 1-39
H.3 Libri utilizzati
- Amiga ROM Kernel Reference Manual: Include e Autodocs
- Amiga User Interface Style Guide
- Amiga ROM Kernel Reference Manual: Libraries
- Amiga Hardware Reference Manual
- Steven Williams, Programmazione del 68000
- Craig Bolon, Dominare il C
- J.D. Foley & A. van Dam, Fondamenti della grafica interattiva per computer
- Karl Gustav Andersson, Lineär Algebra
- Grant R. Fowles, Meccanica analitica
- Tobias Weltner, Jens Trapp & Bruno Jennrich, Amiga Graphics Inside & Out
- Amiga ARexx User's Guide
- Merrill Callaway, THE ARexx COOKBOOK
- Martha L. Abell, James P. Braselton, The Maple V Handbook.
H.4 Libri di riferimento veloce
- Encyclopedia Britannica versione 1991
- Webster's International Dictionary
- Jorge de Sousa Pires, Manuale di elettronica
- Carl Nordling & Jonny Österman, Manuale di fisica
- Lennart Råde & Bertil Westergren, Manuale di matematica Beta
- Steven Williams, Riferimento per linguaggio assembly 68030
- Alan V. Oppenheim & Ronald W. Schafer, Elaborazione dei segnali digitali
H.5 Influenze del programma
- 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 Software utilizzato
- Finalwriter, SoftWood, scrittura documenti.
- Deluxe Paint IV, Electronic Arts, grafica e ritocco.
- Brilliance, Carnage, grafica e ritocco.
- TxEd, programmi di scrittura.
- Tool Maker, Commodore, creazione GUI.
- Compilatore SAS C v6.0 e v6.5, programmazione.
- CPR, debug.
- Enforcer, ausilio per il debug.
- Devpac 3.0, HiSoft, ottimizzazione.
- Metacomco Macro Assembler, ottimizzazione.
- Maple IV, indagini ipotetiche.
- Magic Workbench Icon Templates, icone.
H.7 Hardware utilizzato
- Amiga 500+ sistema 2.1, 50 MHz MC68030, 60 MHz 68882 e 10 MB, sviluppo.
- Vidi Amiga, Rombo, scansione video con Sony Handycam.
- Hewlett Packard Desk Jet 520, stampa master.
- Amiga 1200 sistema 3.0, 50 MHz MC68030, 50 MHz 68882 e 6 MB, test e sviluppo.
- Amiga 1000 sistema 1.3, 7.14 MHz MC68000 e 2.5 MB, ottimizzazioni.
- Amiga 1000 sistema 2.04, 7.14 MHz MC68000 e 2.5 MB, controllo di coerenza.
- Amiga 3000 sistema 3.1, 40 MHz MC68040, controllo di coerenza.
- Amiga 4000 sistema 3.1, 30 MHz MC68040, controllo di coerenza.
- Quadraverb, Alesis, tentativi di auralizzazione in tempo reale.
- DDT sampler, interfaccia MIDI DDT con DDT Mixer, auralizzazione in tempo reale.
- DSS8+ (Digital-Sound-Studio) hardware e software, GVP, modifica campioni.
- Microfono dinamico, Sherman, campionamenti Dirac (stima di correlazione, modello <-> realtà)
H.8 Fonte di ispirazione
- Foundation Epic, Isaac Asimov
- Il concetto Amiga
- La musica di Tangerine Dream™, Yello, Vangelis, Jean-Michel Jarre, Kraftwerk
- Star Trek, film e serie TV, Gene Roddenberry
- Gödel, Escher, Bach: Un'eterna ghirlanda d'oro, Douglas R. Hofstadter
- Bladerunner, film, Ridley Scott
- Do Androids Dream of Electric Sheep?, Philip K. Dick
- Indagini spaziali, NASA e altri
- Il concetto Porsche