RENDERING IN TEMPO REALE DI AUDIO SPAZIALE NEL CAMPO VICINO - Universit'a di Padova Dipartimento di Ingegneria dell'Informazione

Pagina creata da Dario Valente
 
CONTINUA A LEGGERE
RENDERING IN TEMPO REALE DI AUDIO SPAZIALE NEL CAMPO VICINO - Universit'a di Padova Dipartimento di Ingegneria dell'Informazione
Università di Padova
 Dipartimento di Ingegneria
     dell’Informazione

RENDERING IN TEMPO
     REALE DI AUDIO
SPAZIALE NEL CAMPO
             VICINO

Laureando:                         Relatore:
Simone Spagnol       Dott. Federico Avanzini

             A. A. 2007 - 2008
RENDERING IN TEMPO REALE DI AUDIO SPAZIALE NEL CAMPO VICINO - Universit'a di Padova Dipartimento di Ingegneria dell'Informazione
ii

     Alla mia famiglia
Abstract

In questo lavoro viene trattato il tema della sintesi di suoni spazializzati. Il
tragitto di un suono dalla sorgente alle orecchie dell’ascoltatore viene riassun-
to in una specifica funzione di trasferimento (Head-related Transfer Function,
HRTF). Per una sorgente relativamente vicina, è nota la bontà dell’approssi-
mazione di HRTF reali data dall’algoritmo di Duda-Martens (1998), basato
sulla nota formula di Lord Rayleigh, applicato ad un modello della testa sferi-
co. Tuttavia tale algoritmo, avendo un costo computazionale non indifferente,
risulta essere inadeguato in uno scenario dinamico real-time. Viene dunque
proposta l’introduzione di un’approssimazione tramite analisi alle compo-
nenti principali (PCA) che semplifichi il calcolo delle sopracitate funzioni. Si
confrontano quindi le funzioni risultanti con una collezione di HRTF reali
misurate per vari soggetti, allo scopo di ricavare una relazione tra il raggio
del modello sferico e le misure antropometriche di ogni soggetto.
Parole chiave: audio 3D, audio binaurale, ascolto spaziale, head-related
transfer function, PCA, campo vicino.

                                       iii
iv
Indice

Introduzione                                                                     1

1 Letteratura e lavori precedenti                                                3
  1.1   Localizzazione del suono: l’audio binaurale . . . . . . . . . . .        3
  1.2   La Teoria Duplex di Lord Rayleigh . . . . . . . . . . . . . . .          4
        1.2.1   Coni di confusione . . . . . . . . . . . . . . . . . . . .       5
        1.2.2   Modelli per la ITD . . . . . . . . . . . . . . . . . . . .       6
  1.3   HRIR e HRTF       . . . . . . . . . . . . . . . . . . . . . . . . . .    8
        1.3.1   Modelli strutturali . . . . . . . . . . . . . . . . . . . .      9
        1.3.2   La soluzione teorica di Lord Rayleigh . . . . . . . . . . 10
  1.4   Dipendenza dalla distanza della sorgente . . . . . . . . . . . . 12
        1.4.1   La percezione della distanza . . . . . . . . . . . . . . . 12
        1.4.2   Tori di confusione . . . . . . . . . . . . . . . . . . . . . 14
        1.4.3   Modello matematico per il rendering della distanza . . 16
  1.5   HRTF e antropometria . . . . . . . . . . . . . . . . . . . . . . 17

2 Metodologie e scelte progettuali                                              21
  2.1   Analisi alle componenti principali (PCA) . . . . . . . . . . . . 21
  2.2   Sistema di riferimento utilizzato . . . . . . . . . . . . . . . . . 27
  2.3   L’algoritmo HRTF . . . . . . . . . . . . . . . . . . . . . . . . 28
        2.3.1   Vincoli real-time . . . . . . . . . . . . . . . . . . . . . 29
  2.4   Approssimazione delle HRTF tramite PCA . . . . . . . . . . . 31
        2.4.1   Smoothing uditivo delle HRTF . . . . . . . . . . . . . 32
  2.5   Personalizzazione delle HRTF . . . . . . . . . . . . . . . . . . 35

                                      v
vi                                                                        INDICE

3 Approssimazione tramite PCA: risultati                                        39
     3.1   Andamento delle componenti principali . . . . . . . . . . . . . 39
     3.2   Scelta del numero di componenti . . . . . . . . . . . . . . . . 44
     3.3   Sviluppi futuri . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4 Personalizzazione delle HRTF: risultati                                       51
     4.1   Ottimizzazione del raggio del modello sferico . . . . . . . . . . 51
     4.2   Calcolo del raggio da parametri antropometrici . . . . . . . . . 55
     4.3   Sviluppi futuri . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Conclusioni                                                                     63

Appendice: algoritmi MATLAB                                                     65

Bibliografia                                                                    71
Introduzione

La tesi ha l’obiettivo principale di fornire le basi per la realizzazione di un
modello per la sintesi di audio binaurale nel campo vicino, da poter utilizzare
in un ambiente real-time.
   Lo studio della sintesi di audio binaurale si protrae ormai da un centinaio
di anni: erano infatti gli inizi del XX Secolo quando il fisico Lord Rayleigh
derivò una formula matematica per la diffrazione intorno ad una sfera rigida
di un’onda sonora prodotta da una sorgente a distanza infinita. Nei decenni
successivi l’attenzione è stata posta su come l’uomo riesca a discriminare la
direzione di una sorgente; solo in tempi più recenti è stata presa in consi-
derazione anche la percezione della distanza. Fino ai giorni nostri la ricerca
in questo campo ha fatto grandi progressi, lasciando tuttavia ancora aperte
alcune questioni.
   Con la sempre più prorompente necessità di applicazioni in tempo rea-
le, mentre da una parte lo studio della sintesi binaurale nel campo lontano
(sorgente posta oltre il metro di distanza dall’ascoltatore) ha già sortito ri-
sultati soddisfacenti, dall’altra un modello real-time efficiente per la sintesi
nel campo vicino non è ancora stato proposto. Questo perché nel campo
vicino la dipendenza delle funzioni di diffrazione dalla distanza non può es-
sere trascurata. E’ dunque proprio su questo punto che la tesi vuole porre
il suo accento. Saranno inoltre investigati gli effetti della variabilità nella
forma della testa presente in un insieme rappresentativo di soggetti umani
sulle stesse funzioni di diffrazione.
   Il lavoro di tesi si concentra esclusivamente sull’analisi della testa come

                                        1
2                                                               INTRODUZIONE

oggetto della diffrazione delle onde, tralasciando i contributi delle altre parti
del corpo compresi i padiglioni auricolari. Questi potranno essere aggiunti
in un momento successivo per dare forma ad un modello strutturale delle
funzioni di trasferimento, idea che ultimamente nella letteratura scientifica
sta prendendo sempre più piede. La testa sarà quindi approssimata con una
sfera, il modello più semplice possibile, per cui la locazione della sorgente
sonora dipenderà soltanto da un angolo di incidenza.
    Nel primo capitolo verranno introdotte le generalità riguardanti l’audio
binaurale, riportando una serie di definizioni e risultati noti in letteratura
d’interesse per il lavoro svolto nei capitoli successivi: tra questi, la teoria
Duplex, le Head-Related Transfer Functions (HRTF) e la formula di Lord
Rayleigh a cui si accennava poco fa.
    Il secondo capitolo si focalizzerà sugli strumenti analitici utilizzati, tra cui
l’analisi alle componenti principali (PCA) e l’algoritmo per costruire le HRTF
matematiche, e le scelte progettuali effettuate prima e durante il lavoro di
tesi.
    Nel terzo capitolo verranno presentati i risultati della prima parte del
lavoro, quella più rilevante e consistente, riguardanti l’applicazione di PCA
ad un insieme di HRTF analitiche allo scopo di ottenere una rappresentazione
più compatta delle stesse, ossia adatta ad un ambiente real-time.
    Il quarto ed ultimo capitolo fornirà invece i risultati della seconda parte
del lavoro, focalizzata sui tentativi di personalizzazione delle HRTF facendo
variare il raggio del modello sferico a seconda del soggetto.
    I principali algoritmi utilizzati nel corso del lavoro di tesi, implementati
in codice MATLAB, saranno infine riportati in una breve appendice.
    Le applicazioni real-time a cui questo tipo di lavoro è rivolto sono mol-
teplici. Servizi di teleconferenza, dispositivi mobili, sistemi di realtà virtuale
multimodale con scopi di intrattenimento o riabilitativi sono alcuni degli
esempi di applicazioni che possono solo beneficiare della ricerca in questo
campo.
Capitolo 1

Letteratura e lavori precedenti

In questo capitolo saranno introdotti i lavori svolti ed i risultati ottenuti fino
ad oggi d’interesse per questa tesi. Partendo da un’inquadratura generale
sull’audio binaurale, si provvederà quindi a passare in rassegna gli argomenti
della teoria Duplex e la localizzazione del suono, le Head-Related Transfer
Functions, la formula di Rayleigh ed i modelli utilizzati per il campo vicino,
per concludere con una breve discussione sull’uso di parametri antropometrici
per personalizzare i modelli.

1.1      Localizzazione del suono: l’audio binau-
         rale

Il suono prodotto da una sorgente è soggetto a varie trasformazioni durante la
propagazione verso le orecchie dell’ascoltatore. Tra queste, vi sono le perdite
di energia isofrequenziali dovute alla distanza percorsa (path loss) e quelle
dipendenti dalla frequenza del suono, perlopiù dovute all’effetto schermante
di terzi oggetti eventualmente posti nel mezzo del percorso che causano rifles-
sione e diffrazione delle onde sonore (shadowing). Conoscendo queste infor-
mazioni risulta dunque lampante la diversità dei flussi sonori che arrivano alle
due orecchie dell’ascoltatore: trattasi infatti di due percorsi diversi, influen-

                                        3
4             CAPITOLO 1. LETTERATURA E LAVORI PRECEDENTI

zati anche dal ruolo attivo della testa dell’ascoltatore nella trasformazione
del suono.
    E’ proprio la differenza tra questi due flussi sonori a dare all’ascoltatore
informazioni sulla collocazione spaziale della sorgente, in modo tale che egli
possa discriminarne direzione e distanza entro un certa, limitata, soglia di
errore. Questo è il concetto che sta alla base di tutta la teoria riguardante
l’audio binaurale. Obiettivo principale della ricerca in questo campo è tentare
di riprodurre, attraverso delle cuffie, suoni spazializzati ad alta fedeltà in
modo che l’ascoltatore riesca ad avere all’incirca la stessa impressione di
direzione e distanza della sorgente che egli avrebbe se il suono fosse riprodotto
da una sorgente realmente posta nello spazio attorno a sè.

1.2      La Teoria Duplex di Lord Rayleigh
Nel 1907, il fisico Lord Rayleigh studiò i mezzi attraverso i quali un ascoltato-
re riesce a discriminare ad un primo livello la direzione di un suono. Secondo
la sua teoria sono di fondamentale importanza due parametri interaurali,
ovvero dovuti al ruolo attivo della testa nella differenziazione dei due flussi
sonori in ingresso ai canali uditivi; questi sono:

    ˆ la differenza interaurale di tempo (Interaural Time Difference, ITD);

    ˆ la differenza interaurale di livello o intensità (Interaural Level Differen-
      ce, ILD).

    La ITD è la differenza temporale tra gli istanti di arrivo di un suono alle
due orecchie, ed ha come unità di misura i secondi. La ILD (chiamata anche
Interaural Intensity Difference, IID) è il rapporto tra le ampiezze dei suoni
in ingresso a ciascuno dei due canali uditivi, ed è misurata in dB. In Figura
1.1 questi due concetti sono rappresentati schematicamente.
    Considerando un segnale sinusoidale a bassa frequenza (fino a 1.5 kHz
circa) si ha che la sua lunghezza d’onda è maggiore del raggio della testa,
dunque la ITD si riduce ad una differenza di fase tra due segnali sinusoidali.
1.2. LA TEORIA DUPLEX DI LORD RAYLEIGH                                                       5

                                  Figura 1.1: ITD e ILD.

Questa è una feature molto potente per discriminare la direzione del suono
nel piano orizzontale1 . Al contrario, la ILD non è una feature altrettanto
buona in quanto le basse frequenze attraversano la testa senza essere par-
ticolarmente attenuate sul lato opposto alla sorgente. In maniera del tutto
speculare si può constatare che un segnale sinusoidale ad alta frequenza (da
1.5 a 10 kHz), avendo lunghezza d’onda dell’ordine dei centimetri, provoca
una ITD maggiore di un periodo del segnale. Essendo l’orecchio umano sensi-
bile soltanto alla fase e non alla differenza temporale assoluta, la ITD risulta
poco utile nel suddetto campo di frequenze (a meno che non si consideri l’on-
set del suono). Tuttavia, il notevole effetto schermante effettuato dalla testa
umana sulle onde ad alta frequenza rende la ILD una feature significativa in
questo range spettrale.

1.2.1        Coni di confusione
La difficoltà nel riconoscimento della direzione del suono aumenta nel caso
di segnali complessi o affetti da rumore. Tuttavia, anche nel caso di segnali
puliti, spesso le valutazioni soggettive non sono esenti da grossolani errori,
il più tipico dei quali è la cosiddetta front-back confusion: si percepisce cioè
che un suono proveniente da davanti sia invece prodotto da una sorgente
  1
      E’ il piano che divide la testa in due parti orizzontalmente all’altezza delle orecchie.
6            CAPITOLO 1. LETTERATURA E LAVORI PRECEDENTI

                       Figura 1.2: Cono di confusione.

posta dietro l’ascoltatore. Questo tipo di errore è fortemente dipendente
dalla fisionomia della testa dell’individuo.
    Per una sorgente posizionata al di sopra o al di sotto del piano orizzon-
tale il riconoscimento della direzione diventa problematica. In linea teorica,
come si può vedere dalla Figura 1.2, sorgenti sonore posizionate in qualsiasi
punto di una superficie conica che punta verso l’orecchio della testa sferica
producono gli stessi valori di ITD e ILD. Queste superfici, generalizzazioni
del concetto di front-back confusion, prendono il nome di coni di confusione e
rappresentano un potenziale scoglio nella accurata percezione della direzione
del suono. Tuttavia, in realtà non si avranno mai valori identici di ITD e ILD
per le sorgenti poste su un cono di confusione: ciò è dovuto alle numerose
asimmetrie facciali ed alla presenza delle orecchie. Ad esempio, nel caso di
un suono ad alta frequenza, i padiglioni auricolari con i loro ripiegamenti
permettono di immettere nel canale uditivo suoni provenienti da qualsiasi
direzione e di dare all’ascoltatore buone indicazioni riguardo l’altezza della
sorgente sonora.

1.2.2     Modelli per la ITD

Il comportamento della ITD al variare della direzione della sorgente sonora
rispetto alla testa è stato ampiamente studiato. Il contributo dato dal ritardo
della risposta ad un impulso sonoro tra le due orecchie può essere scorpora-
1.2. LA TEORIA DUPLEX DI LORD RAYLEIGH                                                       7

Figura 1.3:        Modello fisico per il calcolo della ITD nella formula di
Woodworth.

to, attraverso diverse possibili approssimazioni, dal resto delle informazioni
spettrali contenute nella risposta stessa. Per una sorgente posta sul piano
orizzontale l’approssimazione più comune, indipendente dalla frequenza del
suono, è data dalla formula di Woodworth:

                                             a(sinθ + θ)
                                   IT D =                                                (1.1)
                                                  c
dove c è la velocità del suono2 , a è il raggio della testa se questa viene
approssimata con una sfera e θ rappresenta l’azimut 3 della sorgente. Il tutto
è riassunto schematicamente in Figura 1.3. Affinché regga l’assunzione delle
onde sonore planari, la sorgente deve essere posta lontano dall’ascoltatore.
       Si osserva però che in realtà la ITD è dipendente dalla frequenza: in par-
ticolare, alle basse frequenze il ritardo è circa 1.5 volte maggiore rispetto alle
   2
       La velocità del suono varia a seconda del mezzo e delle sue proprietà. Nell’aria a
temperatura ambiente, essa è approssimativamente pari a 343 m/s.
   3
     E’ l’angolo che si forma tra i segmenti congiungenti il centro della testa rispettivamente
alla proiezione della sorgente sul piano orizzontale ed al punto di osservazione (in questo
caso coincidente con il naso).
8                  CAPITOLO 1. LETTERATURA E LAVORI PRECEDENTI

frequenze più alte. Sono dunque state introdotte ulteriori approssimazioni
che tenessero conto di questa dipendenza, sia sotto forma di formule sulla
falsariga di quella di Woodworth [16] che di filtri nel dominio della frequenza
ottenuti attraverso una ricostruzione a fase minima4 della risposta impulsi-
va [13]. Tuttavia, confrontando gli output della formula di Woodworth con
dei risultati sperimentali, si è visto che quest’ultima approssima abbastanza
bene i dati empirici. E’ stato inoltre verificato sperimentalmente che più la
sorgente si allontana dal piano orizzontale, più l’ITD si riduce. Questo effet-
to può essere incluso nella formula di Woodworth aggiungendo un termine
moltiplicativo:

                                    a(sinθ + θ)
                                  IT D =        cosφ                      (1.2)
                                        2c
dove φ è l’elevazione 5 della sorgente. Infine, se si avvicina la sorgente al-
l’ascoltatore, la ITD aumenta di circa 150 µs. Tuttavia l’apparato uditivo
umano appare insensibile a ritardi inferiori a 700 µs; per questo motivo gli ef-
fetti dell’avvicinamento della sorgente possono essere trascurati nel modellare
la ITD [6].
        Trovata una buona approssimazione per la ITD (Eq.(1.2)), i cui effetti
possono essere semplicemente aggiunti alla fine del processo di sintesi che
verrà presentato nel seguito di questo lavoro, d’ora in avanti l’attenzione
verrà posta sulla modellazione della ILD.

1.3           HRIR e HRTF
La pressione sonora prodotta da una sorgente nel canale uditivo è deter-
minata esclusivamente dalla risposta impulsiva nel tragitto dell’onda sonora
dalla sorgente stessa al timpano, chiamata Head-Related Impulse Respon-
se (HRIR). La sua trasformata di Laplace è detta Head-Related Transfer
    4
        E’ una tecnica che rimuove dalla fase della risposta impulsiva tutti i termini lineari
associati al puro ritardo temporale, usata per allineare nel tempo le risposte impulsive.
   5
     E’ l’angolo che si forma tra il segmento congiungente il centro della testa alla sorgente
ed il piano orizzontale.
1.3. HRIR E HRTF                                                                 9

Function (HRTF), e contiene tutte le informazioni istantanee riguardanti la
trasformazione dell’onda sonora nello spazio circostante. Chiaramente esiste
una HRTF riferita all’orecchio sinistro ed una riferita all’orecchio destro; a
meno di perfette simmetrie, queste due HRTF sono diverse tra loro.
   Ad influenzare la HRTF, oltre al mezzo in cui le onde si propagano, sono
gli effetti procurati dalle varie zone del corpo dell’ascoltatore, in particolare
la testa, le orecchie, il torso e le spalle. La testa fa sı̀ che l’onda sonora
sia diffratta tutt’intorno ad essa, ed ha un effetto schermante sulle onde ad
alta frequenza. L’orecchio esterno, invece, possiede delle caratteristiche zone
di risonanza che attenuano o amplificano una o più particolari frequenze;
inoltre, come già detto in precedenza, riflette le onde sonore ad alta frequenza
(dunque con una lunghezza d’onda relativamente limitata) a seconda della
loro direzione. Infine, le spalle ed il torso effettuano uno shadowing sui suoni
provenienti da sotto l’ascoltatore ed aggiungono ulteriori riflessioni che si
addizionano al suono diretto.

1.3.1     Modelli strutturali

Il rendering di suoni spazializzati basato su HRTF può avvenire in diversi
modi. Sono state proposte approssimazioni delle HRTF complessive basate
su funzioni razionali (modelli polo/zero) o su espansioni in serie di componen-
ti principali [19, 10] o di armoniche [14], ma la complessità rispettivamente
dei coefficienti dei filtri e dell’insieme dei pesi derivanti dall’analisi le rende
inadatte in uno scenario real-time. Un’idea più innovativa si basa sulle con-
siderazioni fatte in precedenza sugli effetti che si ripercuotono sulla HRTF
causati dalle varie zone del corpo. Essendo questi tutti lineari, ne conse-
gue che si combinano in maniera additiva nella HRTF complessiva. Dunque
i comportamenti della testa, dell’orecchio esterno e del torso possono esse-
re analizzati separatamente, sintetizzati e quindi sommati nella funzione di
trasferimento totale. Questo è l’approccio seguito nel progetto dei cosiddetti
modelli strutturali, nei quali le trasformazioni causate da ogni parte del corpo
10            CAPITOLO 1. LETTERATURA E LAVORI PRECEDENTI

              Figura 1.4: Un modello strutturale della HRTF [5].

sono rappresentate da filtri separati tra di loro [2, 5]. Un esempio di modello
strutturale è riportato in Figura 1.4 [5].
     In questa tesi ci concentriamo esclusivamente sulla testa: i contributi di
orecchie, torso e spalle possono essere modellati a parte ed integrati con le
funzioni riferite alla testa in un ipotetico modello strutturale finale.

1.3.2      La soluzione teorica di Lord Rayleigh
Approssimativamente, la testa può essere trattata come una sfera rigida di
raggio variabile a seconda del soggetto. Nell’ipotesi che l’onda sonora che
arriva ad essa sia prodotta da una sorgente infinitamente distante dal centro
della sfera, si può direttamente utilizzare la soluzione di Lord Rayleigh per
la diffrazione nel dominio della frequenza. La funzione di trasferimento in un
preciso punto di osservazione sulla superficie della sfera ha la seguente forma:

                             ∞
                           1 X (−i)m−1 (2m + 1)Pm (cosθ)
                 H(µ, θ) = 2                                               (1.3)
                          µ m=0          h0m (µ)

dove µ è la frequenza normalizzata,

                                          2πa
                                   µ=f                                     (1.4)
                                           c
1.3. HRIR E HRTF                                                                                11

   Figura 1.5: Risposta in ampiezza per una sorgente a distanza infinita.

e θ è l’angolo di incidenza, ovvero l’angolo tra i raggi che collegano il centro
della sfera rispettivamente con la sorgente e con il punto di osservazione.
Pm e hm sono due strumenti matematici piuttosto complessi nei quali non ci
addentreremo: il polinomio di Legendre e la funzione di Hankel sferica.
       In Figura 1.5 è riportata la relativa risposta in ampiezza in funzione della
frequenza normalizzata per vari angoli di incidenza. Analizzando le curve si
possono riportare le seguenti considerazioni:

       ˆ la risposta in ampiezza per qualsiasi angolo di incidenza è unitaria
         approssimativamente fino ad una frequenza normalizzata pari a 1, che
         per la testa standard di raggio 8.75 cm [15] corrisponde a circa 625 Hz;

       ˆ nel caso di incidenza normale (θ = 0 ◦ ) si osserva alle alte frequenze un
         guadagno di 6 dB, pari ad un raddoppio della pressione sonora rispetto
         al valore che si avrebbe nel campo libero;

       ˆ all’aumentare dell’angolo di incidenza il guadagno diminuisce: la rispo-
         sta per un angolo di incidenza di 100 gradi è quasi del tutto piatta, e
         spostando la sorgente dalla parte controlaterale6 della testa si ha atte-
   6
       Si dice che la sorgente è posizionata nella parte ipsilaterale della sfera se l’onda sonora
incide normalmente la superficie in un punto appartenente all’emisfero che ha il polo nel
punto di osservazione; controlaterale se l’onda incide la sfera nell’emisfero opposto.
12             CAPITOLO 1. LETTERATURA E LAVORI PRECEDENTI

       nuazione della pressione sonora, con la presenza di ampie oscillazioni
       dovute alla propagazione di onde in diverse direzioni attorno la sfera;

     ˆ la risposta minima non corrisponde ad una sorgente situata esattamente
       dalla parte opposta: un’onda che incide sulla sfera agli antipodi del
       punto di osservazione (θ = 180 ◦ ) produce il cosiddetto bright spot,
       dovuto alla somma costruttiva delle onde che viaggiano nelle diverse
       direzioni intorno alla testa.

     Il modello sferico della testa, seppure sia l’unico trattabile analiticamente,
è anche il meno preciso. Per questo motivo molti lavori cercano di migliorare
l’accuratezza del modello proposto considerando la testa come un ellissoide,
effettivamente in maniera più conforme alla realtà [11].

1.4       Dipendenza dalla distanza della sorgente
Le considerazioni presentate fino ad ora si erano fondate su un presupposto:
che la sorgente sonora fosse sufficientemente lontana dall’ascoltatore. Questo
perché l’assunzione fondamentale dei fronti d’onda piani regge soltanto oltre
un certo raggio di distanza. La letteratura suggerisce infatti che tutte le asser-
zioni ed i modelli introdotti nelle precedenti sezioni siano applicabili quando
la sorgente è nel cosiddetto campo lontano, ovverosia in via approssimativa
a più di un metro di distanza dal centro della testa. Nel caso in cui non si
possa fare affidamento su questa assunzione (detta in termini appropriati,
se la sorgente è collocata nel campo vicino) le onde sonore non possono più
essere considerate planari ed è dunque necessario introdurre nuovi risultati e
modelli, alcuni dei quali sono presentati in questa sezione.

1.4.1      La percezione della distanza
La stima da parte di un ascoltatore della distanza di una sorgente sonora è
ancora più difficile rispetto alla stima dell’elevazione della stessa. La prima
variabile da prendere in considerazione, in assenza di altre informazioni, è
1.4. DIPENDENZA DALLA DISTANZA DELLA SORGENTE                                                13

l’intensità del suono. Meno un suono è intenso, più lontana dovrebbe essere
percepita la sorgente. Tuttavia un boato in lontananza ed un sussurro a
pochi centimetri dall’orecchio possono avere la stessa intensità. Per questo
è fondamentale avere una certa familiarità con il suono in questione: se
sappiamo a priori che si tratta di un sussurro, è molto improbabile che questo
sia stato prodotto da una sorgente distante. Ulteriori informazioni sono date
dal rapporto tra energia riflessa e diretta, se è presente riverbero7 , e da effetti
spettrali dipendenti dalla distanza, il più tipico dei quali è l’assorbimento
delle alte frequenze da parte dell’aria. Gli effetti spettrali più interessanti
si verificano però nel campo vicino [6, 7, 8]. Portando la sorgente sonora a
distanze via via inferiori al metro dal centro della testa sono stati osservati i
seguenti comportamenti:

       ˆ il guadagno alle basse frequenze è enfatizzato, rendendo cosı̀ il suono
         più “scuro”;

       ˆ la ILD aumenta in maniera sostanziale per sorgenti poste lateralmente
         rispetto all’ascoltatore, anche alle basse frequenze;

       ˆ nella ITD, come discusso nella sezione 1.2.2, si osserva un aumento
         trascurabile;

       ˆ le caratteristiche della HRTF dipendenti dall’elevazione non sono stret-
         tamente correlate a quelle della distanza, dunque il contributo del
         padiglione auricolare alla HRTF è indipendente dalla distanza;

       ˆ la ILD alle basse frequenze è la variabile più importante per la perce-
         zione della distanza nel campo vicino.

       Passando da un ambiente statico ad uno dinamico, con l’ascoltatore au-
torizzato a muovere la testa nelle diverse direzioni, la percezione della dire-
zione della sorgente risulta agevolata. Appare infatti comune la tendenza a
   7
       Fenomeno acustico legato alla riflessione del suono da parte di un ostacolo posto nei
pressi della fonte sonora; tipicamente è associato all’effetto di pareti e pavimenti sulle onde
riflesse.
14              CAPITOLO 1. LETTERATURA E LAVORI PRECEDENTI

  Figura 1.6: Curve iso-ITD (parte sinistra) e iso-ILD (parte destra) [26].

rivolgere lo sguardo verso la sorgente sonora, anche senza l’aiuto visivo, per
minimizzare le differenze interaurali, evitando cosı̀ le già citate front/back
confusions. Anche la percezione della distanza migliora sensibilmente, grazie
all’effetto denominato motion parallax : lasciando che l’ascoltatore si muova
senza ruotare la testa, se la sorgente è molto vicina la direzione angolare della
stessa varierà in maniera drastica (riflettendosi sulle differenze interaurali),
mentre se è lontana il cambiamento apparirà irrilevante.

1.4.2     Tori di confusione

Nel campo vicino il concetto di cono di confusione diventa impreciso. Assu-
mendo che la testa sia acusticamente trasparente, ossia che i propri effetti
sull’onda sonora non dipendano dalla frequenza, si possono analizzare le cur-
ve che rappresentano le regioni spaziali in cui le differenze interaurali sono
simili, spaziate rispettivamente di 50 µs per la ITD e di 1 dB per la ILD
(Figura 1.6).
1.4. DIPENDENZA DALLA DISTANZA DELLA SORGENTE                                15

                   Figura 1.7: Cono e toro di confusione.

   La figura si limita a rappresentare la regione spaziale racchiusa da un cu-
bo di lato 1m con la testa al centro. Sovrapponendo una determinata regione
iso-ITD e una zona iso-ILD come nella parte destra della figura e ruotando
la loro intersezione attorno all’asse interaurale si ottiene un solido toroida-
le in cui ITD e ILD sono analoghe, detto toro di confusione. Si può anche
notare che se la sorgente è posta lontano dall’ascoltatore (oltre 2 metri circa
sull’asse interaurale) oppure molto vicina ma nei pressi del piano mediano,
i tori degenerano nei coni di confusione, come è lecito aspettarsi (Figura
1.7). Se si rimuove l’assunzione della testa acusticamente trasparente, la
forte dipendenza della ILD dalla frequenza indurrebbe a catalogare il toro
di confusione come un concetto puramente astratto nel caso di suoni ricchi
di frequenze. Tuttavia, sotto i 500 Hz l’informazione è identica a quella di
una testa acusticamente trasparente, mentre alle medie e alte frequenze gran
parte dell’informazione spaziale racchiusa dalla ILD è strettamente correlata
con quella della ITD che, come già sappiamo, varia in maniera trascurabile
con la distanza. Dunque anche se la banda della sorgente è larga la combina-
zione delle informazioni spaziali nelle varie bande restringe la posizione della
sorgente allo stesso toro di confusione.
16           CAPITOLO 1. LETTERATURA E LAVORI PRECEDENTI

        Figura 1.8: Effetto della distanza sulla risposta in ampiezza.

1.4.3     Modello matematico per il rendering della di-
          stanza
La soluzione teorica di Lord Rayleigh per la diffrazione di un’onda sonora da
parte di una sfera si basa sull’assunzione che la sorgente sia posta infinita-
mente lontana dall’ascoltatore. La soluzione per la pressione sulla superficie
della sfera dovuta ad una sorgente sinusoidale puntiforme posta a qualsiasi
distanza maggiore del raggio della sfera è stata presentata nel [24]. Definendo
la distanza normalizzata rispetto alla sorgente,

                                         r
                                    ρ=                                     (1.5)
                                         a
la funzione di trasferimento che ne deriva ha la seguente forma:

                                   ∞
                           ρ −iµρ X                   hm (µρ)
             H(ρ, µ, θ) = − e        (2m + 1)Pm (cosθ) 0                   (1.6)
                           µ      m=0
                                                      hm (µ)

per qualsiasi ρ maggiore di 1. Analogamente al caso precedente di distan-
za infinita, si possono fare delle considerazioni sulla risposta in ampiezza
al variare della distanza. In Figura 1.8 sono riportate le curve per gli an-
goli di incidenza di 0 e 150 gradi (dove la risposta media in frequenza è
rispettivamente massima e minima) e diverse distanze normalizzate.
1.5. HRTF E ANTROPOMETRIA                                                                       17

       Dalla figura si nota come al diminuire della distanza i guadagni e le atte-
nuazioni siano amplificati in maniera esponenziale, con la risposta che cresce
per θ = 0 e decresce per θ = 150. Inoltre all’aumentare della frequenza la
differenza tra le risposte per diverse distanze diminuisce dalla parte ipsila-
terale ma aumenta dalla parte controlaterale. La combinazione di questi
due effetti motiva la notevole crescita della ILD all’avvicinarsi della sor-
gente all’orecchio. Le curve, a meno delle traslazioni dovute ai guadagni
o alle attenuazioni, mantengono comunque un andamento simile a quelle di
partenza.
       Nel prossimo capitolo si ritornerà sulla funzione di trasferimento appena
analizzata per sviluppare un nuovo modello pensato per l’implementazione
in un ambiente dinamico real-time.

1.5          HRTF e antropometria
La soluzione di Lord Rayleigh e quella generalizzata di Rabinowitz (Eq. 1.6)
sono funzioni del raggio della testa dell’ascoltatore. Data la varietà di forma
e grandezza della testa e delle orecchie sia tra le diverse etnie che all’interno
delle stesse, fissare dei parametri antropometrici8 standard senza distinzioni
appare essere una scelta poco convincente. Si può verificare ad esempio che
a livello teorico le curve di ampiezza della funzione di trasferimento per una
testa sferica di raggio 7.5 cm ed una di raggio 9.5 cm differiscono tra di loro
al massimo soltanto di un paio di dB. Sono stati quindi proposti dei modelli
che stimassero i parametri da utilizzare nei modelli matematici per creare
HRTF personalizzate.
       Di particolare interesse per questo lavoro è la stima del raggio del modello
sferico della testa da dati antropometrici e sperimentali. In [1] la formula
di Woodworth per la ITD alle alte frequenze (Eq. 1.1) viene confrontata
   8
       Dicesi di parametri fisici variabili tra gli individui e rilevanti per la modellazione delle
HRTF. Genuit (1984) propose l’utilizzo di 27 parametri antropometrici; 17 per testa e
torso e 10 per l’orecchio.
18                  CAPITOLO 1. LETTERATURA E LAVORI PRECEDENTI

                  Figura 1.9: Parametri antropometrici: testa e torso.

con una serie di misure sperimentali della ITD per uno specifico soggetto e,
minimizzando la differenza quadratica tra i valori risultanti per diversi angoli
di incidenza sul piano orizzontale, si trova il raggio ottimo per quel soggetto.
In particolare, supponendo che sia stata misurata la ITD per N diversi punti
spaziali e poi riassunta nel corrispondente vettore9 T = [T1 , T2 , ..., TN ]t , e
siano inoltre r = sinθ + θ e r il corrispondente vettore di valori di r calcolato
per tutti gli angoli di incidenza, r = [r1 , r2 , ..., rN ]t ; la formula del raggio
ottimo è

                                        Tt r
                                           a0 = c
                                             .                            (1.7)
                                        rt r
Nello stesso lavoro viene anche proposto un modello lineare che stima il raggio
della testa come somma pesata dei 3 parametri antropometrici più rilevanti,
ovvero larghezza, altezza e profondità della testa (vedi Figura 1.9). La forma
del modello è la seguente:
     9
         In questa tesi vettori e matrici sono rappresentati in grassetto, rispettivamente con
lettere minuscole e maiuscole; l’esponente t denota i vettori-riga e le matrici trasposte.
1.5. HRTF E ANTROPOMETRIA                                                       19

                       ae = w1 X1 + w2 X2 + w3 X3 + b                      (1.8)

dove w1 , w2 e w3 sono i pesi ai rispettivi parametri antropometrici e b è un
offset. Tenendo per buono il valore del raggio ottimo ricavato dalle misure
sperimentali, attraverso una regressione sui dati antropometrici relativi a
tutti i soggetti presenti nel database CIPIC [3] sono stati calcolati i seguenti
valori dei pesi: w1 = 0.26, w2 = 0.01, w3 = 0.09, e b = 3.2 cm. Ciò significa
che l’altezza della testa è un parametro trascurabile mentre la larghezza e la
profondità sono entrambi importanti, cosı̀ come l’offset costante b.
   Tecniche più elaborate consentono di calcolare le HRTF direttamente
dalla superficie della testa senza orecchie, costruita attraverso il Boundary
Element Method (BEM) sotto forma di una mesh di elementi discreti [17, 18].
Nell’ambito del primo lavoro è stato inoltre verificato come una sfera dello
stesso volume della testa ne approssimi il comportamento in maniera molto
più fedele rispetto ad una sfera di diametro pari alla distanza interaurale.
   Va infine detto, per completezza di informazione, che l’antropometria
non si applica solamente alla modellazione del comportamento della testa:
ad esempio lavori molto recenti utilizzano parametri antropometrici per pro-
gettare modelli delle HRTF riferiti alle orecchie [25].
20   CAPITOLO 1. LETTERATURA E LAVORI PRECEDENTI
Capitolo 2

Metodologie e scelte
progettuali

Questo capitolo si focalizza sulle metodologie utilizzate per sviluppare il mo-
dello in tempo reale e sulle scelte progettuali atte a delinearne la solidità e
l’applicabilità. Dopo un’introduzione riguardante lo strumento matematico
centrale per questa tesi, l’analisi alle componenti principali (PCA), verranno
presentati il sistema di coordinate polari utilizzato nel prosieguo e l’algorit-
mo di calcolo che approssima la soluzione di Rabinowitz. Successivamente
verrà brevemente discussa la necessità di ulteriori approssimazioni per poter
utilizzare il modello in un ambiente real-time. Infine si passerà a presentare il
lavoro svolto: da una parte l’approssimazione delle funzioni di trasferimento
analitiche tramite PCA, dall’altra la personalizzazione delle HRTF attraverso
analisi di dati sperimentali e misure antropometriche.

2.1      Analisi alle componenti principali (PCA)
L’eccessiva dimensionalità di un insieme di dati spesso risulta essere un pro-
blema su cui dover intervenire. Esistono diversi approcci che fanno uso di
combinazioni lineari per proiettare i dati in uno spazio di dimensionalità mi-
nore, particolarmente utilizzate in quanto semplici da calcolare e trattabili

                                       21
22              CAPITOLO 2. METODOLOGIE E SCELTE PROGETTUALI

analiticamente. Il più classico di questi approcci è l’analisi alle componenti
principali (Principal Component Analysis, PCA).
     Consideriamo inizialmente il problema di rappresentare un insieme di n
vettori a valori reali x1 ,...,xn , ognuno di dimensione d, attraverso un singolo
vettore x0 tale che la somma delle distanze quadratiche tra x0 e i vari xk
sia minima. Specificamente, questo vettore deve minimizzare la seguente
funzione:

                                               n
                                               X
                                  J0 (x0 ) =         kx0 − xk k2 .                           (2.1)
                                               k=1
Si può facilmente verificare che la soluzione a questo problema è data da x0
= m, dove m è la media di tutti i vettori:

                                                      n
                                          1X
                                       m=       xk ,                                         (2.2)
                                          n k=1
infatti possiamo scrivere

                n
                X
  J0 (x0 ) =          k(x0 − m) − (xk − m)k2
                k=1
                Xn                    n
                                      X                                    n
                                                                           X
                              2                           t
            =         kx0 − mk − 2          (x0 − m) (xk − m) +                  kxk − mk2
                k=1                   k=1                                  k=1
                Xn                                    n
                                                      X                    Xn
            =         kx0 − mk2 − 2(x0 − m)t                  (xk − m) +         kxk − mk2 (2.3)
                k=1                                   k=1                  k=1
                n
                X                                                      n
                                                                       X
            =         kx0 − mk2 − 2(x0 − m)t (nm − nm) +                     kxk − mk2
                k=1                                                    k=1
                n
                X                n
                                 X
                              2
            =         kx0 − mk +   kxk − mk2 .
                k=1                 k=1

Poiché la seconda somma è indipendente da x0 , la scelta x0 = m minimizza
la prima somma e di conseguenza anche l’intera espressione. Per ottenere
un’approssimazione migliore dell’insieme di vettori, in cui sia evidente la va-
riabilità dei dati, si possono proiettare i dati su una linea che passi attraverso
la media, di equazione
2.1. ANALISI ALLE COMPONENTI PRINCIPALI (PCA)                                                      23

                                             x = m + ae,                                         (2.4)

dove e è un vettore unitario nella direzione della linea, e lo scalare a corrispon-
de alla distanza di ogni punto dalla media. Approssimando dunque ogni xk
con m + ak e, si può trovare l’insieme ottimo di coefficienti ak minimizzando
l’errore quadratico nella funzione

                            n
                            X                                     n
                                                                  X
                                                          2
  J1 (a1 , ..., an , e) =         k(m + ak e) − xk k =                  kak e − (xk − m)k2
                            k=1                                   k=1
                             n                    n                          n                   (2.5)
                            X                     X                          X
                      =           a2k kek2   −2               t
                                                        ak e (xk − m) +                      2
                                                                                    kxk − mk .
                            k=1                   k=1                         k=1

Sapendo che kek = 1, per trovare il minimo della funzione si differenzia
parzialmente rispetto ad ak e si pone la derivata pari a zero:

                        ∂J1 (a1 , ..., an , e)
                                               = 2ak − 2et (xk − m),                             (2.6)
                               ∂ak

ovvero otteniamo la soluzione ottima proiettando il vettore xk sulla linea che
passa attraverso la media nella stessa direzione di e,

                                         ak = et (xk − m).                                       (2.7)

   Rimane ora il problema di trovare la miglior direzione per e. Si definisce
innanzitutto la matrice di covarianza dell’insieme di vettori,

                                             n
                                     1X
                                  S=       (xk − m)(xk − m)t .                                   (2.8)
                                     n k=1

Sostituendo l’Eq. 2.7 nell’Eq. 2.5 otteniamo
24               CAPITOLO 2. METODOLOGIE E SCELTE PROGETTUALI

                             n
                             X                n
                                              X             n
                                                            X
                  J1 (e) =         a2k   −2         a2k   +   kxk − mk2
                             k=1              k=1          k=1
                               n
                               X                             n
                                                             X
                        =−           [et (xk − m)]2 +          kxk − mk2
                               k=1                            k=1
                               n                                      n                  (2.9)
                               X                                      X
                        =−               et (xk − m)(xk − m)t e +           kxk − mk2
                               k=1                                    k=1
                                   n
                                   X
                             t
                        = −ne Se +   kxk − mk2 ;
                                              k=1

per minimizzare quest’espressione occorre dunque massimizzare et Se, essen-
do il secondo termine indipendente da e. Essendo la massimizzazione sog-
getta alla condizione kek = 1, si può utilizzare il metodo dei moltiplica-
tori di Lagrange1 . Se λ è il moltiplicatore incognito, occorre differenziare
l’espressione

                                          u = et Se − λ(et e − 1)                       (2.12)

rispetto ad e, ottenendo

                                              ∂u
                                                 = 2Se − 2λe.                           (2.13)
                                              ∂e
     1
         E’un procedimento matematico per trovare gli estremi di una funzione a valori scalari
f (x) soggetta ad uno o più vincoli. Nel caso in cui un vincolo possa essere espresso nella
forma g(x) = 0, si costruisce innanzitutto la funzione Lagrangiana

                                           L(x, λ) = f (x) + λg(x),                     (2.10)

dove λ è uno scalare chiamato moltiplicatore incognito di Lagrange. Sapendo che la seconda
parte della sommatoria è sempre uguale a zero, è sufficiente ora prendere la derivata di
L(x, λ) rispetto a x, porla uguale a zero e usare metodi standard di calcolo per risolvere
l’equazione risultante in funzione di λ e del valore estremo di x:

                             ∂L(x, λ)   ∂f (x)      ∂g(x)
                                      =         +λ        = 0.                     (2.11)
                                ∂x        ∂x          ∂x
Trovata la posizione del valore estremo di x, la determinazione del minimo o del massimo
di f è immediata.
2.1. ANALISI ALLE COMPONENTI PRINCIPALI (PCA)                                 25

Ponendo questo vettore uguale a zero, otteniamo l’uguaglianza

                                      Se = λe,                            (2.14)

ovvero e deve essere un autovettore della matrice di covarianza, con rispettivo
autovalore λ. In particolare, poiché et Se = λet e = λ, il miglior autovettore
possibile secondo il criterio della differenza quadratica minima è quello a cui
corrisponde l’autovalore della matrice di covarianza maggiore.
   Abbiamo cosı̀ trovato la migliore proiezione unidimensionale dei vettori
dell’insieme; il risultato può essere esteso a proiezioni a più dimensioni. Per
una proiezione p-dimensionale, con p ≤ d, al posto dell’Eq. 2.4 scriviamo

                                            p
                                            X
                               x=m+                ai e i ;               (2.15)
                                             i=1

si procede quindi in maniera analoga al caso unidimensionale per dimostrare
che la funzione di errore

                              n             p
                              X             X
                       Jp =         k(m +         aki ei ) − xk k2        (2.16)
                              k=1           i=1

è minima quando i vettori e1 ,...,ep sono i p autovettori della matrice di cova-
rianza aventi gli autovalori maggiori. Poiché la matrice in questione è reale
e simmetrica, gli autovettori formano una base ortogonale per rappresenta-
re ogni possibile vettore dell’insieme originario, e per questo motivo sono
chiamati vettori base. E’ invece chiamata componente principale dell’analisi
l’insieme degli n coefficienti ai nell’Eq. 2.15 associati al vettore base i, uno
per vettore dell’insieme iniziale. Ovviamente il numero di componenti prin-
cipali è pari alla dimensionalità della base; esse vengono convenzionalmente
numerate in maniera tale che la prima componente, PC-1, sia quella che cat-
tura la maggior parte di variazione comune presente nei dati originari, mentre
le componenti successive PC-2,...,PC-p riflettono via via variazioni sempre
26               CAPITOLO 2. METODOLOGIE E SCELTE PROGETTUALI

Figura 2.1: PCA: (a) lo spazio iniziale; (b) i vettori base dell’analisi; (c) la
ricostruzione bidimensionale.

più sporadiche o addirittura uniche2 . La numerazione delle componenti è
chiaramente coincidente con l’ordinamento decrescente degli autovalori as-
sociati ai vettori base. Un esempio grafico di quanto detto nel caso di uno
spazio tridimensionale è riportato in Figura 2.1.
         La formula matematica per la proiezione di un vettore xk sullo spazio
definito dai vettori base è

                                      ak = Ct (xk − m),                               (2.17)

dove C è una matrice le cui colonne sono i vettori base, per k = 1,...,p.
La ricostruzione dei vettori iniziali attraverso i vettori base e le componenti
principali avviene attraverso il calcolo inverso:

                                        xk = Cak + m.                                 (2.18)

Tuttavia l’uguaglianza è corretta solo nel caso in cui p = d ; nei casi pratici si
ha sempre p  d dunque la parte destra dell’Eq. 2.18 fornisce soltanto una
stima di xk , tanto più accurata quanto maggiore è il numero di componenti
principali utilizzate. Ma come determinare l’accuratezza dell’approssimazio-
ne in funzione del numero di componenti utilizzate? Uno dei possibili criteri è
     2
         La media di tutti i vettori, m, viene talvolta considerata la prima componente prin-
cipale. In questo lavoro la media sarà considerata a parte, ossia sottratta a tutti i vettori
prima dell’effettiva applicazione dell’analisi alle componenti principali.
2.2. SISTEMA DI RIFERIMENTO UTILIZZATO                                                   27

basato sulla varianza nell’insieme di vettori originario (ai quali come sempre
è stata tolta la media):

                                                 d
                                                 X
                                    V ar(d) =          λi ,                           (2.19)
                                                 i=1

dove λi rappresenta l’i -esimo autovalore in ordine decrescente della matrice
di covarianza. La misura utilizzata in questo caso è la percentuale di varianza
inclusa nelle prime p componenti utilizzate,

                                            Pp
                                                 λi
                                               i=1
                              %V ar(p) =            ∗ 100%.                           (2.20)
                                            V ar(d)
L’algoritmo che realizza il calcolo dei vettori base e delle componenti princi-
pali, pca, è riportato in appendice.

2.2         Sistema di riferimento utilizzato
Nel seguito ci si riferirà ad un unico sistema di coordinate spaziali, per evitare
qualsiasi sorta di confusione. Il modello della testa utilizzato è chiaramente
quello sferico, con raggio inizialmente fissato a = 8.75 cm. In letteratura
sono frequentemente usati due principali sistemi di riferimento a coordinate
polari, riassunti in Figura 2.2: il sistema polare-verticale ed il sistema polare-
interaurale. In questo caso l’origine viene fatta coincidere con il centro della
sfera, ed il riferimento angolare per l’incidenza con il raggio che congiunge
l’origine al canale uditivo destro, assumendo che le due orecchie sulla sfe-
ra siano posizionate in maniera simmetrica rispetto al piano mediano3 . Nei
sistemi di riferimento polari sopracitati le coordinate spaziali sono 3; la solu-
zione di Rabinowitz è invece funzione di due soli parametri spaziali, distanza
r dal centro della testa e angolo di incidenza θ. Vista la perfetta simmetria
teorica, l’angolo di incidenza viene convenzionalmente fatto corrispondere
   3
       E’ il piano di simmetria della testa. In realtà nella testa umana le orecchie sono
leggermente spostate verso la parte posteriore, ciascuna di un angolo di circa 10°.
28                CAPITOLO 2. METODOLOGIE E SCELTE PROGETTUALI

Figura 2.2: Sistemi di coordinate sferiche: (a) sistema polare-verticale, (b)
sistema polare-interaurale.

all’azimut. Lavorando esclusivamente su sorgenti poste sul piano orizzon-
tale il terzo parametro, l’elevazione, non verrà considerato (a parte qualche
accenno). In sintesi il nostro sistema di riferimento coincide con il sistema
polare-interaurale, a parte la seguente mappatura del valore dell’azimut per
farlo sovrapporre al valore dell’angolo di incidenza:

                                           θ0 = −θ + 90◦ .                                (2.21)

Dunque se la sorgente è posta direttamente di fronte all’orecchio destro si
avrà θ0 = 0 ◦ , mentre se è di fronte all’orecchio sinistro θ0 = 180 ◦ . I va-
lori dell’azimut nelle posizioni intermedie sono speculari rispetto al piano
frontale4 .

2.3            L’algoritmo HRTF
L’Eq. 1.6 rappresenta la funzione di trasferimento relativa alla testa sferica
per una sorgente posta in un qualsiasi punto dello spazio. Si può immedia-
tamente constatare che la sommatoria infinita non ci permette di costruire
     4
         E’ il piano che divide la testa in senso verticale all’altezza delle orecchie.
2.3. L’ALGORITMO HRTF                                                         29

un algoritmo finito per il calcolo della funzione; in generale si devono dunque
usare metodi numerici. Inoltre il calcolo delle funzioni di Hankel sferiche e
dei polinomi di Legendre richiede un elevato costo computazionale; tuttavia
in [13] viene presentato un algoritmo basato su relazioni di ricorrenza in cui
tali funzioni matematiche sono sviluppate in maniera iterativa, rendendone
più veloce la valutazione. Tale algoritmo estende al caso di distanze arbitra-
rie un algoritmo precedente per una sorgente a distanza infinita. La formula
che ne deriva è:

                      ∞                                  1
               ρ −iµ X                           Qm ( iµρ  )
  H(ρ, µ, θ) = e        (2m + 1)Pm (cosθ) m+1       1             1 , (2.22)
              iµ     m=0                   iµ
                                              Qm ( iµ ) − Qm−1 ( iµ )

dove i polinomi complessi Pm e Qm sono calcolati ricorsivamente attraverso
le seguenti equazioni:

                     Qm (z) = −(2m − 1)zQm−1 (z) + Qm−2 (z)               (2.23)

                           2m − 1              m−1
                    Pm (x) =       xPm−1 (x) −     Pm−2 (x),              (2.24)
                               m                m
in cui le condizioni iniziali sono

        Q0 (z) = z,     Q1 (z) = z − z 2 ,   P0 (x) = 1,   P1 (x) = x.    (2.25)

Il codice dell’algoritmo hrtf è riportato in appendice. Per evitare una com-
putazione infinita, visto che la sommatoria risulta ancora illimitata superior-
mente, viene incluso un parametro threshold che ha il compito di terminare
la computazione quando il rapporto tra l’ultimo termine ricorsivo calcolato
e la somma totale di tutti i termini è minore del valore-soglia impostato.

2.3.1     Vincoli real-time
Consideriamo uno scenario in cui l’ascoltatore dotato di cuffie è libero di muo-
versi rispetto alla sorgente sonora virtuale e viceversa. Applicazioni recenti
30            CAPITOLO 2. METODOLOGIE E SCELTE PROGETTUALI

che si basano su questo presupposto richiedono il calcolo in tempo reale delle
funzioni di trasferimento per poter tenere fissa la sorgente virtuale rispetto
alla posizione del soggetto o viceversa, per di più in modo tale che il suono
riprodotto non presenti discontinuità durante il movimento. Bisogna inoltre
tenere in conto la possibilità di essere in un ambiente acustico complesso,
ovvero tale da contenere molteplici sorgenti sonore disposte in diversi punti
spaziali.

     Per sorgenti poste nel campo lontano la soluzione al problema risulta più
agevole, in quanto le rispettive formule non dipendono dalla distanza r, consi-
derata infinita; dunque un calcolo a priori delle HRTF, su un insieme discreto
di frequenze e facendo variare l’azimut per diversi valori nel piano orizzontale,
più la successiva interpolazione per i punti intermedi non è particolarmente
gravoso. Nel campo vicino invece, conoscendo i radicali cambiamenti nel-
la ILD per una sorgente che si sposta anche soltanto di pochi centimetri,
la dipendenza dalla distanza non può essere non considerata. L’algoritmo
presentato in questa sezione, seppur sia costruito in maniera iterativa per
rendere più rapida la computazione, non garantisce ancora la velocità ne-
cessaria per il calcolo in tempo reale delle HRTF. Si potrebbe anche qui
tentare di memorizzare gli output dell’algoritmo su una rete di punti discreti
(ρ, θ, µ), ma la successiva interpolazione richiederebbe il calcolo di funzioni
a tre variabili piuttosto complesse. Inoltre, nel caso in cui si debba simulare
un ambiente dove siano presenti più sorgenti in diversi punti spaziali, ogni
sorgente dovrebbe essere elaborata con un diverso filtro.

     In conclusione, possiamo dire che mentre dei modelli in tempo reale per
il campo lontano, data la relativa semplicità di realizzazione, sono già stati
sviluppati con risultati più che accettabili [5], l’implementazione di modelli
analoghi per il campo vicino rimane un problema aperto. In attesa della ge-
niale intuizione di turno, si può tentare dunque la strada dell’introduzione di
ulteriori possibili approssimazioni, una delle quali è presentata nella sezione
successiva.
2.4. APPROSSIMAZIONE DELLE HRTF TRAMITE PCA                                   31

2.4      Approssimazione delle HRTF tramite PCA
L’idea dell’approssimazione presentata in questa sezione, che rappresenta
la prima parte del lavoro di tesi, consiste nel costruire una collezione di
HRTF per diversi punti sul piano orizzontale, e di rappresentare i moduli di
questo insieme tramite un numero limitato di componenti principali derivanti
dalla PCA. In letteratura già diversi lavori hanno fatto uso dell’analisi alle
componenti principali, ma sempre approssimando dati sperimentali e non
analitici come in questo caso [19, 10]. Le scelte progettuali riguardanti la
costruzione del suddetto insieme si possono riassumere nei seguenti punti:

   ˆ il raggio della sfera a è fissato, come già detto, al valore standard di
      8.75 cm;

   ˆ l’azimut viene fatto variare su 19 valori, da θ = 0 ◦ a θ = 180 ◦ , equi-
      spaziati di 10 ◦ ;

   ˆ la distanza normalizzata ρ = r/a viene fatta variare in maniera espo-
      nenziale su 7 valori: ρ = 1.25, 1.5, 2, 4, 8, 16, 32;

   ˆ le HRTF sono calcolate su 100 frequenze discrete, in un range da 1 Hz
      a 10 kHz, equispaziate di 100 Hz.

   La scelta di una scala lineare nella discretizzazione delle frequenze è do-
vuta alla maggiore importanza della ILD alle alte frequenze, che sono dunque
fittamente rappresentate. Delle 133 HRTF cosı̀ scelte si considerano le am-
piezze in dB, ottenendo dunque n = 133 vettori a valori reali x1 ,...,xn ciascuno
di dimensione d = 150. Un grafico di tutti i vettori è presentato in Figura
2.3. Dopo aver sottratto a ciascuno di questi vettori la media m, si proce-
de immediatamente con l’applicazione di PCA, facendo variare il parametro
p fino a trovare il trade-off ottimale tra numero di componenti e accura-
tezza dell’approssimazione. Inizialmente era stato considerato un range di
frequenze fino a 15 kHz; tuttavia le considerazioni sulla ridotta sensibilità da
parte dell’orecchio umano delle frequenze tra 10 e 15 kHz hanno portato ad
32           CAPITOLO 2. METODOLOGIE E SCELTE PROGETTUALI

               Figura 2.3: Le 133 HRTF considerate nell’analisi.

una riduzione dell’intervallo considerato. L’utilizzo del nuovo range ha inol-
tre sortito risultati migliori nei termini del numero di componenti principali
da includere nell’analisi per avere una buona approssimazione; questi sono
presentati nel prossimo capitolo.

2.4.1      Smoothing uditivo delle HRTF

Viste le ampie oscillazioni nelle risposte in ampiezza delle HRTF alle alte
frequenze, si potrebbe pensare di rendere le curve più regolari inserendo, pri-
ma dell’applicazione di PCA, un filtro che esegua lo smoothing (“lisciatura”)
delle funzioni. Tale filtro non deve comunque stravolgere l’andamento gene-
rale delle oscillazioni più importanti; per questo motivo occorrono dei criteri
per motivare lo smoothing. Un possibile criterio ci è dato dallo studio della
psicoacustica.
     Nel campo della psicoacustica, attraverso una serie di esperimenti, è stato
2.4. APPROSSIMAZIONE DELLE HRTF TRAMITE PCA                                              33

        Figura 2.4: Comportamento in frequenza della membrana basilare.

studiato come la membrana basilare5 abbia un comportamento simile ad un
banco di filtri, ciascuno avente la propria frequenza centrale e la propria ban-
da. Si definisce banda critica la larghezza di ognuno di questi filtri che, come
si può vedere nella Figura 2.4, è fortemente dipendente dalla frequenza. Più
precisamente, al crescere della frequenza le bande critiche diventano sempre
più larghe.
       Ne consegue dunque che dal punto di vista psicoacustico la scala lineare
per la frequenza usata ad esempio nella trasformata di Fourier non è ottima-
le. Vengono invece utilizzate altre scale quali la scala Bark e la scala ERB
(Equivalent Rectangular Bandwidth): entrambe approssimano il comporta-
mento delle bande critiche, con la seconda che fornisce la migliore risoluzione
uditiva [23]. La larghezza di banda della scala ERB in funzione della fre-
quenza centrale fc (in kHz), mostrata anche in Figura 2.5 assieme ad altre
scale tra cui la Bark, è data dalla seguente equazione:

                                ∆fCE = 24.7(4.37fc + 1).                             (2.26)

Esistono diversi metodi per incorporare questa risoluzione non uniforme del-
l’udito nel progetto di filtri da includere successivamente in modelli uditivi
più complessi. Tra questi, lo smoothing uditivo è la tecnica che più si addice
alle osservazioni precedenti su questo lavoro di tesi. La maniera più semplice
   5
       Elemento della coclea, organulo dell’orecchio interno, che vibrando contribuisce alla
percezione del suono.
34                CAPITOLO 2. METODOLOGIE E SCELTE PROGETTUALI

              Figura 2.5: Bande ERB e Bark in funzione della frequenza.

per realizzarlo è una media mobile in frequenza dove la larghezza della fine-
stra sia strettamente correlata alla corrispondente banda critica. La formula
generale della media mobile per una precisa HRTF su frequenze discrete è la
seguente:

                                                1        X
                               |Hs (f )| =                           |H(f 0 )|,    (2.27)
                                             f1 − f0   f0 ≤f 0 ≤f1

dove f1 − f0 è la larghezza della finestra alla frequenza f 0 . Essa può essere
determinata dall’Eq. 2.26, se si vuole utilizzare la scala ERB, oppure secondo
                                      √                √
altri criteri. Se definiamo f0 = f / K e f1 = f K, la larghezza cresce
all’aumentare del parametro K; ad esempio, per K = 5/4 la finestra è larga
un terzo di ottava6 , mentre per K = 2 è larga un’ottava.
         Si è quindi tentato di applicare lo smoothing uditivo alle risposte in am-
piezza calcolate con l’algoritmo HRTF. Tuttavia, come si può vedere in Figu-
ra 2.6 per una particolare curva, l’approssimazione non sortisce effetti molto
     6
         L’ottava è l’intervallo tra due frequenze f0 e f1 tale che f1 /f0 = 2.
2.5. PERSONALIZZAZIONE DELLE HRTF                                             35

Figura 2.6: Tecniche di smoothing applicate ad una risposta in ampiezza (ρ
= ∞, θ = 150◦ ).

evidenti, almeno nei casi con bande ERB e 1/3 di ottava. La banda di 1
ottava è invece troppo larga per essere accettata da criteri psicoacustici. La
motivazione di questo risultato sta nel fatto che le HRTF calcolate anali-
ticamente sono già sufficientemente regolari e le oscillazioni che presentano
sono tutte rilevanti. La tecnica si applica meglio a curve sperimentali, in cui
oltre alle oscillazioni generali sono presenti anche variazioni brusche e ridot-
te. In conclusione, in questo lavoro si è deciso di non applicare tecniche di
smoothing uditivo in quanto non apportano vantaggi significativi.

2.5      Personalizzazione delle HRTF
La seconda parte del lavoro di tesi si focalizza sul rendering di HRTF persona-
lizzate. Sono state percorse diverse strade per tentare di ricavare da una colle-
zione di dati sperimentali e antropometrici, per ogni individuo preso in consi-
36               CAPITOLO 2. METODOLOGIE E SCELTE PROGETTUALI

derazione, il raggio ottimo del modello sferico della testa. Si è esclusivamente
fatto riferimento al CIPIC HRTF Database (disponibile sul web all’indirizzo
http://interface.cipic.ucdavis.edu/CIL html/CIL HRTF database.htm), la cui
release 1.0 contiene le HRIR sperimentali sinistra e destra per 45 soggetti7 a
25 diversi azimut e 50 diverse elevazioni, oltre a 27 misure antropometriche
per la maggior parte dei 45 individui [3]. Ogni HRIR è lunga 4.5 ms, campio-
nata in 200 istanti temporali per ottenere la frequenza di campionamento di
44100 Hz; l’algoritmo FFT-based per la trasformazione delle HRIR in HRTF
è incluso nel codice MATLAB che accompagna la collezione di dati. La li-
mitazione principale del database, nell’ottica di questa tesi, sta nel fatto che
gli autori non hanno tenuto conto della distanza della sorgente, fissata a 1
metro per tutte le misure, dunque al limite tra campo vicino e lontano.
         L’idea è quella di ricavare il raggio ottimo per ogni soggetto basandosi
sull’informazione contenuta nelle diverse ILD. Inizialmente si è tentato di
estrapolare una formula analitica che legasse ILD a raggio ottimo, come è
stato fatto nel lavoro di Algazi et al. [1] per la ITD e i cui dettagli sono
riportati nella sezione 1.6. Purtroppo alla ILD, essendo la feature largamente
variabile a seconda della frequenza, non può essere associato un unico valore
come per la ITD. Inoltre la soluzione di Lord Rayleigh, non essendo in forma
chiusa, non può essere espressa in funzione del raggio a come invece era
possibile con la formula di Woodworth.
         Si è pensato dunque di far variare il parametro a nella formula di Rabi-
nowitz tenendo fisso r = 1 m, in modo da analizzare il comportamento per
diversi θ del modulo della funzione di trasferimento all’aumentare del raggio
della sfera. Un esempio, per un angolo di incidenza di 150 ◦ e un raggio della
testa che varia da 6 a 10 cm con incrementi uniformi di 1 mm, è riportato
in Figura 2.7. Dalla figura si può notare come le curve siano molto simili e
vicine tra di loro, praticamente indistinguibili se il raggio della testa varia
nell’ordine dei millimetri. Addirittura in alcuni intervalli di frequenza la dif-

     7
         43 soggetti umani appartenenti a diverse etnie e due manichini KEMAR, differenti
solo nella grandezza delle orecchie.
Puoi anche leggere