Ambienti sonori
Simulazione di ambienti L'esperienza sonora è onnipresente nel nostro vissuto quotidiano, e costituisce una delle fonti principali di informazione rispetto all'ambiente che ci circonda. Grazie al nostro udito possiamo determinare molte caratteristiche di ciò che ci circonda (materiale, peso, posizione, direzione ecc.), che rientri o meno nel nostro campo visivo. Per questi e molti altri motivi, la simulazione efficace da un punto di vista acustico è fondamentale per rendere verosimile e immersiva l'esperienza che l'utente avrà del nostro ambiente interattivo.
Parametri in gioco Quali parametri è possibile simulare per posizionare un suono all'interno di un ambiente virtuale? Eccone alcuni: Riflessioni di pareti o altri oggetti (riverberi, echi) Posizionamento nello spazio (distanza, direzione) Velocità della sorgente (effetto doppler) Direzionalità della sorgente sonora (dove punta ) Eventuale presenza di ostacoli alla trasmissione sonora Tutte le caratteristiche citate sono da considerarsi relative all'ascoltatore.
Riverbero Fenomeno complesso dovuto alla riflessione, diffrazione e diffusione del suono all'interno di uno spazio (semi)chiuso. La riflessione è la più importante da un punto di vista percettivo, nonché la più semplice da modellare. Le principali componenti modellate per la ricostruzione di un suono riverberato sono: Suono diretto Primi rimbalzi Suono diffuso
Informatività del riverbero Il suono viaggia a circa 300 metri al secondo, abbastanza lentamente da generare ritardi udibili (> 20 ms) anche in ambienti di piccole dimensioni. Il ritardo tra suono diretto e prime riflessioni indica la distanza dell'oggetto dalle pareti, mentre la distanza temporale tra le prime riflessioni indica la dimensione dell'ambiente. Il tempo di riverbero è invece indicativo della propensione dell'ambiente a riflettere il suono. Le alte frequenze tendono ad essere assorbite prima rispetto alle basse, soprattutto in presenza di pareti composte da materiale soffice e ruvido. Per simulare tale fenomeno si opera un filtraggio delle alte frequenze (damping) sul segnale riverberato.
Posizionamento - Panning Il metodo più semplice per posizionare un suono rispetto all'ascoltatore è il panning, ovvero la distribuzione della potenza di un segnale monofonico tra due o più uscite al fine di dare l'illusione di una sorgente virtuale nell'area da esse circoscritta. Con un impianto stereo si possono muovere i suoni lungo una linea, con la quadrifonia ci si può spostare su un piano, con otto uscite è possibile ricostruire uno spazio tridimensionale (cubico).
Posizionamento - HRTF Possiamo ottenere un effetto equivalente anche solo con due canali... in fondo abbiamo solo due orecchie! E' possibile processare il segnale monofonico applicando funzioni che replicano il filtraggio dei padiglioni auricolari e della testa (Head Related Transfer Function). Ascoltando i due canali in uscita con un paio di auricolari per bypassare il filtraggio delle orecchie vere si ha l'impressione di un'immagine sonora tridimensionale.
Effetto Doppler La velocità del suono è abbastanza bassa da essere paragonabile a quella di alcune sorgenti sonore. Se la sorgente si avvicina all'ascoltatore, la lunghezza d'onda del suono emesso risulterà compressa e di conseguenza il pitch sarà più elevato. L'esatto opposto vale per sorgenti in allontanamento. Tale variazione di frequenza è solo apparente e relativa al sistema di riferimento dell'ascoltatore
Direzionalità e impedenza Se la sorgente sonora emette in una particolare direzione, è possibile simulare tale fenomeno applicando un filtro passa-basso tanto più aggressivo quanto più la sorgente punta in direzione opposta all'ascoltatore. Un simile filtro risulta utile anche per simulare la presenza di un ostacolo tra sorgente e ascoltatore. Ogni oggetto possiede infatti una sua impedenza, il cui valore solitamente cresce all'aumentare della frequenza.
Sistemi per il DSP Come già accennato alla scorsa lezione possiamo considerare ogni elaborazione come un sistema, cioè un apparato che ricevendo in ingresso un segnale dà in uscita un nuovo segnale, secondo una relazione di ingresso-uscita o anche di causa-effetto. f(t) S g(t) g(t) è la risposta del sistema S all ingresso f(t). S rappresenta una trasformazione, ossia un processo o un insieme di operazioni volte a trasformare il segnale d ingresso f (t) nel segnaled uscita g(t). E' possibile comporre sistemi semplici (in serie, in parallelo, con retroazione) per ottenere sistemi più complessi
Sistemi lineari Un sistema S : F1 F2 è lineare se: 1) S[f(t) + g(t)] = S[f(t)] + S[g(t)] 2) S[a * f(t)] = a * S[f(t)] Questa classe di sistemi possiede l importante proprietà di sovrapposizione: se l ingresso consiste di una somma pesata di diversi segnali, la risposta del sistema è la somma pesata delle risposte del sistema ai singoli segnali d ingresso. + S + S S
Sistemi tempo-invarianti Un sistema S : F1 F2 è tempo-invariante quando una traslazione temporale nel segnale di ingresso produce una identica traslazione temporale nel segnale di uscita. Più precisamente, per ogni ingresso f(t): Se g(t) = S[f(t)], allora g(t t0) = S[f(t t0)], per ogni t0. f(t) g(t) f(t-t0) g(t-t0) S S
Sistemi LTI I sistemi sia lineari che tempo-invarianti godono dell'importante proprietà di essere completamente descritti dalla loro risposta alla funzione impulsiva (t). Più precisamente (per sistemi a tempo discreto): S [ x n ]= k = f k h n k dove h(n) è la risposta S[ (n)] del sistema all impulso unitario. Tale operazione è detta prodotto di convoluzione, e generalmente è denotata da f * h. In quanto somma di prodotti, essa gode delle proprietà commutativa, distributiva e associativa.
Applicazioni e problemi Quasi tutti i sistemi utili a ricreare un ambiente da un punto di vista acustico sono sistemi lineari tempo-invarianti, e in quanto tali possono essere realizzati mediante un prodotto di convoluzione. La complessità computazionale è notevole: per ognuno degli n campioni in input è necessario fare tante somme e prodotti quanti gli m campioni della risposta all'impulso. O(n*m). Per risposte all'impulso molto lunghe viene utile un'interessante proprietà: ad una convoluzione nel dominio del tempo corrisponde un semplice prodotto nel dominio delle frequenze. Si preferisce quindi moltiplicare gli spettri di input e risposta impulsiva e antitrasformare per tornare al dominio temporale. Complessità O(n log n), ma con una costante maggiore.