Plugin per piattaforma "NU-Tech", per la simulazione del riverbero di una …

744 views

Published on

Sviluppo di un software per la simulazione in tempo reale del riverbero in una stanza. E' stato implementato un plugin per la piattaforma NuTech (http://www.nu-tech-dsp.com), ambiente di sviluppo dedicato ad applicazioni DSP (Digital Signal Processing).
Sono stati studiati diversi algoritmi per la simulazione di ambienti tramite l’utilizzo di risposte impulsive sintetiche ed in particolare è stato implementato il metodo delle “sorgenti immagine” di J. Allen e D. Berkley. L’algoritmo è stato migliorato, rispetto alla sua formulazione originale, introducendo gli spettri di riflessione delle pareti della stanza in luogo dei singoli coefficienti indipendenti dalla frequenza.
E’ stata introdotta inoltre la possibilità di calcolare la risposta binaurale della stanza, riferita cioè ad un ascoltatore umano (HRTF).

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
744
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Plugin per piattaforma "NU-Tech", per la simulazione del riverbero di una …

  1. 1. Studente: Gianluca Ritrovati Relatore: Prof. Francesco Piazza Correlatore: Ing. Stefania Cecchi
  2. 2. Obiettivi del progetto: – Sintesi della risposta impulsiva di una stanza – Introdurre coefficienti di assorbimento dipendenti dalla frequenza – Sintesi risposta binaurale rispetto ad un ascoltatore umano – Filtraggio in tempo reale con latenza minima – Implementazione come PlugIn per ambiente NU-Tech1 febbraio 2013 2
  3. 3. La risposta impulsiva si può ottenere:• Per via sperimentale, registrando la risposta ad un suonofortemente impulsivo (colpo di pistola)•Attraverso un algoritmo di sintesi.1 febbraio 2013 3
  4. 4. Esistono diversi metodi di sintesi della risposta, ognuno con determinate Modelli Acustici peculiarità Wave Ray Statistici based based Metodo degli FDTD Pyramid e Sorgenti SEA Ray Tracing elementi Cone Tracing Immagine FEM Buoni per basse Buoni per alte frequenze BEM frequenze Non esiste un metodo universale!1 febbraio 2013 4
  5. 5. Il suono DIRETTO raggiunge il ricevitore al tempo: In questo istante R percepirà il livello: Q L1 = LW + 10 log LW = potenza sorgente 4πr1 2 Q=1Il suono RIFLESSO raggiunge il ricevitore al tempo: 1 Nell’istante t2 , R percepirà il livello: L2 = LW + 10 log + 10 log(1 − α1 ) 4πr2 2 α1 = coefficiente di assorbimento acustico della parete 1 Dopo due riflessioni il livello sarà: L3 = LW + 10 log + 10 log[(1 − α1 )(1 − α 2 )] 4πr3 21 febbraio 2013 5
  6. 6. Riverberazione: le onde riflesse arrivano in rapida successione al ricevitore, con un ritardo rispetto al suono diretto. I livelli dei suoni rifessi decrescono fino a che si ha una coda sonora continua in cui non si distinguono più le riflessioni La coda sonora di un suono va a sporcare il fonema o la nota musicale che segue. Ne risulta un degrado dell’informazione V Formula di Sabine per T60 = 0,16 ⋅ il calcolo della ∑α S i i tempo di riverbero1 febbraio 2013 6
  7. 7. Il campo sonoro in un punto viene calcolato come sovrapposizione dei contributi di sorgenti simmetriche della sorgente reale rispetto alle pareti (o ostacoli) presenti nell’ambiente. D: ricevitore S: sorgente reale; S’ sorgente immagine rispetto alla parete La distanza percorsa da suono riflesso SR+RD è pari alla distanza tra il ricevitore e la sorgente immagine S’D Riflettendo le sorgenti del primo ordine, troviamo le sorgenti del secondo ordine, relative ai suoni con compiono due riflessioni1 febbraio 2013 7
  8. 8. Per stanze di forma rettangolare il metodo delle immagini genera un reticolo nelle tre dimensioni. Dalle dimensioni della stanza, delle coordinate di sorgente e ricevitore l’algoritmo ricava le distanze delle sorgenti virtuali dal ricevitore e quindi i ritardi di arrivo delle riflessioni݀݅݉݁݊‫ ܮܴ :ܽݖ݊ܽݐݏ ݈݈ܽ݁݀ ݅݊݋݅ݏ‬ൌ ܴ‫ܮ‬௫ ܴ‫ܮ‬௬ ܴ‫ܮ‬௭ܿ‫ ܴ :݁ݎ݋ݐ݅ݒ݁ܿ݅ݎ ݁ݐܽ݊݅݀ݎ݋݋‬ൌ ‫ݖ ݕ ݔ‬ܿ‫ܴ :݁ݐ݊݁݃ݎ݋ݏ ݁ݐܽ݊݅݀ݎ݋݋‬଴ ൌ ‫ݔ‬଴ ‫ݕ‬଴ ‫ݖ‬଴1 febbraio 2013 8
  9. 9. Distanza sorgente - ricevitore: ܴ௣ ൌ ‫ݔ‬଴ െ ‫ ݔ‬൅ 2݅‫ݔ‬ ‫ݕ‬଴ െ ‫ ݕ‬൅ 2݆‫ݕ‬ ‫ݖ‬଴ െ ‫ ݖ‬൅ 2݇‫ݖ‬Incremento ordine di riflessione: ࡾ࢘ ൌ ૛ ࢔ࡾࡸ࢞ ࢒ࡾࡸ࢟ ࢓ࡾࡸࢠDove• (i,j,k)=p : valori 0 o 1• (n,l,m)=r : assumono valori da –N a +N• N ordine di riflessione Le onde riflesse arriveranno al ricevitore con un ritardo pari a ܴ௥ ൅ ܴ௣ ߬ൌ ܿ 1 febbraio 2013 9
  10. 10. In luogo di singoli coefficienti di riflessione, sono stati utilizzate lerisposte in frequenza dei materiali. 680 materiali diversi, i cui coefficienti di riflessione sono specificati per le frequenze centrali delle bande d’ottava, da 63 Hz a 8000 Hz Risposta in frequenza per ‘Ballast or Crushed Stone’ (# 0)1 febbraio 2013 10
  11. 11. La risposta impulsiva si ottiene come somma degli impulsi ritardati associati ai cammini d’onda (path) che dalla sorgente giungono al ricevitore Nel nostro caso lavoriamo nel dominio della frequenza: Lo spettro dell’impulso ritardato è attenuato secondo la risposta in frequenza delle pareti che vengono coinvolte nel path.sorgente La combinazione delle risposte in ricevitore frequenza delle pareti, danno il contributo del singolo path alla risposta finale1 febbraio 2013 11
  12. 12. L’effetto di «spazialità» del suono avviene grazie all’ascolto binaurale delsegnale => introdurre la funzione di trasferimento della testa (HRTF) HRTFITD : il suono impiega tempi diversi per IID : il suono giunge all’orecchio ingiungere ai padiglioni auricolari, a causa ombra con un livello inferiore rispettodel differente cammino percorso all’altro, perché la testa assorbe parte dell’energia1 febbraio 2013 12
  13. 13. CIPIC* HRTF Database: risposta impulsiva della testa in funzione di azimut, elevazione e tempo 25 intervalli di azimut (θ) da -90° a +90° 50 intervalli di elevazione (ϕ) da -45° a +230.625° 200 campioni nel tempo a 44 kHz Il database è composto dalle risposte impulsive della testa per una sorgente diretta secondo tutte le coordinate polari*CIPIC, Center for Image Processing and Integrated Computing, California University 1 febbraio 2013 13
  14. 14. La risposta associata al path viene convoluta con larisposta impulsiva della testa, secondo la direzione con cui il path giunge all’ascoltatore 1 febbraio 2013 14
  15. 15. Filtraggio mediante algoritmo Overlap and Saveh(n) Zero-pad FFT a L puntiK punti L punti Hz(m) IFFT Selezione ultimi Yi(m)=Xi(m)Hz(m) L-K campionix(n) Selezione FFT a L punti sequenza Xi(m) All’output di L punti L>K Sale ampie possono avere risposte con K=65536 campioni (1.5 sec a 44kHz) PROBLEMI: • Tempi di latenza eccessivi per applicazione real-time; • Risorse memoria eccessive per successivo porting su scheda DSP 1 febbraio 2013 15
  16. 16. Algoritmo Overlap and Save partizionato La risposta impulsiva h(n) viene partizionata in un numero ragionevole di P blocchi di dimensione K P*K=N Il valore di P viene scelto dal programma in base alle caratteristiche della stanza. 1° blocco 2° blocco 3° blocco 4° blocco 1 febbraio 2013 16
  17. 17. Input stream (suddiviso in blocchi sovrapposti di L-K campioni) 1° blocco di • FFT di ordine minore 2° blocco di (T-1) ° blocco di T (ultimo)blocco L campioni L campioni L campioni di L campioni • Più moltiplicazioni e FFT FFT somme 1° spettro T° spettroF1 X F2 X FP X F1 X • La latenza si riduce ad L ° ° 1 seg. 2 seg. P° seg. 1° accumulatore campioni anziché N 1° seg. 2° seg. P° seg. 2° accumul. • Miglior sfruttamento (T-1)°accumul. 1° seg. 2° seg. processore T° accumul. l° seg. • Miglior ripartizione carico computazionale Somma Somma Somma Somma ad indice ad indice ad indice ad indice • Maggior flessibilità nello 0 L 2L i-L scegliere lunghezza IR IFFT IFFT IFFT IFFT Si ha la migliore efficienza Seleziona Seleziona Seleziona Seleziona gli ultimi gli ultimi gli ultimi Output stream gli ultimi scegliendo L-K punti L-K punti L-K punti L-K punti L=2*K 1 febbraio 2013 17
  18. 18. Tempi di sintesi della risposta Lunghezza IR Lunghezza IR a 44 kHz Tempo di sintesi* Partizioni K (campioni) (millisecondi) (Human Model abilitato) 1 4096 4096 92.8 Circa 2‘’ 2 4096 8192 185.7 Da 20’’ a 35‘’ 4 4096 16384 371.5 Da 25‘’ a 1’30‘’ 8 4096 32768 743 Da 5’ a 13’20’’ 16 4096 65536 1486 Più di 30’*su CPU: Intel Core 2 Duo 2.4 GHz - RAM:4Gb DDR2 - SO.: Windows 7 64bit1 febbraio 2013 18
  19. 19. • La verifica è stata effettuata confrontando la risposta impulsiva calcolata dal MechoBin con quella di un altro software di sintesi• Una funzione specifica del PlugIn è stata scritta per caricare la risposta da confrontare e visualizzarla in ambiente NU-Tech• Le risposte sono state poi sovrapposte Brown Acoustic Simulator Di Avram Levi Brown University (USA) Software di sintesi della risposta in MATLAB, con caratteristiche simili al MechoBin1 febbraio 2013 19
  20. 20. • dimensioni della sala (x x y x z) : (10x6x6) metri; • coordinate ricevitore (x,y,z): (9,3,3); • coordinate sorgente (x,y,z): (1,3,3) ; • flags “Human listener”(MechoBin) e “Human source model”(Brown): disabilitati; • materiale pareti: #36 - “Gravel, 100mm tickness”; • frequenza di campionamento: 16kHz.1 febbraio 2013 20
  21. 21. 1 febbraio 2013 21
  22. 22. 1 febbraio 2013 22
  23. 23. 1 febbraio 2013 23
  24. 24. Condizioni esempio:Dimensioni Sala (x x y x z) 10x20x10 metriSorgente (x , y , z) : (0.5,2.5,1.5) - Ricevitore (x , y , z) : (5,2.5,1.5)Human Model abilitato: Azimut 270° - Elevazione 0°Ceil e Floor : 1% Absorbing (#679) - Pareti perimetrali: Ballast (# 0)Lunghezza risposta: 0.74 sec (32768 campioni) Soprano – Anecoico Soprano – Auralizzato Clarinetto – Anecoico Clarinetto – Auralizzato 1 febbraio 2013 24
  25. 25. • Il confronto con l’algoritmo della Brown è soddisfacente• L’impressione soggettiva buona• Suoni impulsivi si riproducono con alcune «artificiosità» dovute al mancato trattamento del campo diffuso nel modello • Introduzione del contributo del campo diffuso mediante modellazione ibrida • Estensione ad ambienti di forma generica • Possibilità di lettura di modelli CAD degli ambienti in studio 1 febbraio 2013 25

×