Valutazioni attraverso le ROC dell’algoritmo VAD basato sulle ... ROC VAD basato su HOS e...
Transcript of Valutazioni attraverso le ROC dell’algoritmo VAD basato sulle ... ROC VAD basato su HOS e...
UNIVERSITÀ POLITECNICA DELLE MARCHE
FACOLTÀ DI INGEGNERIA
Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni
Circuiti e Algoritmi per l’Elaborazione del Segnale
Valutazioni attraverso le ROC dell’algoritmo VAD basato sulle Statistiche di Ordine Superiore e
sull’algoritmo EM Online
Relazione di: Titolare del corso: Giovanni Pelliccioni Prof. STEFANO SQUARTINI
Anno Accademico 2008-2009
Abstract
In questo lavoro viene valutato attraverso le curve ROC (Receiver Operating
Characteristic) un Rilevatore di Attività Vocale (Voice Activity Detection, VAD) in
tempo reale basato sulle Statistiche di Ordine Superiore e sull’algoritmo EM Online[1].
Quest’ ultimo viene confrontato con un algoritmo VAD di riferimento (Baseline) basato
sull’energia. Lo studio si è svolto utilizzando il database AURORA e facendo delle
valutazioni attraverso l’ausilio di un algoritmo MATLAB che permettesse di ricavare
dei dati con la quale sono state prodotte le curve ROC, le quali consentono di valutare le
prestazioni del Voice Activity Detection Based on High Order Statistics and Online EM
Algorithm.
Indice
DEGLI ALGORITMI CHE PERMETTONO DI TRACCIARE LE CURVE ROC 14
1 SCHEMA A BLOCCHI DEGLI ALGORITMI ......................................................................................... 14 2.2 GESTIONE DEI FILE DEL DATABASE AURORA .............................................................................. 17 2.3 ESECUZIONE DELLE PROVE ............................................................................................................ 22
CAPITOLO 3 ............................................................................................................................................ 24
RISULTATI SPERIMENTALI ............................................................................................................... 24
3.1 RISULTATI OTTENUTI IN MATLAB PER IL TEST A ....................................................................... 24 3.1.1 Rumore di tipo recording in subway ................................................................................... 24 3.1.2 Rumore di tipo babble ......................................................................................................... 32 3.1.3 Rumore di tipo car .............................................................................................................. 41
3.2 RISULTATI OTTENUTI IN MATLAB PER IL TEST B ........................................................................ 50 3.2.1 Rumore di tipo restaurant ................................................................................................... 50 3.2.2 Rumore di tipo street ........................................................................................................... 59
3.3 RISULTATI OTTENUTI IN MATLAB PER IL TEST C ........................................................................ 68 3.3.1 Rumore di tipo street ........................................................................................................... 68
3.3 RISULTATI MEDIATI TRA I RUMORI STREET E RESTAURANT ........................................................... 77
CAPITOLO 4 ............................................................................................................................................ 80
CONCLUSIONI ........................................................................................................................................ 80
APPENDICE ............................................................................................................................................. 83
LISTATI DELL’ALGORITMO ............................................................................................................. 83
A. LISTATI IN MATLAB .................................................................................................................... 83
BIBLIOGRAFIA ...................................................................................................................................... 92
INDICE ........................................................................................................................................................ 3
CAPITOLO 1 .............................................................................................................................................. 4
INTRODUZIONE ...................................................................................................................................... 4
1.1 INTRODUZIONE ALLA STRUTTURA DI VALUTAZIONE ....................................................................... 4 1.2 VAD BASATO SULL'ENERGIA (BASELINE) ....................................................................................... 8 1.3 RECEIVER OPERATING CHARACTERISTIC (ROC) ............................................................................ 8
CAPITOLO 2 ............................................................................................................................................ 14
STRUTTURA
2.
Capitolo 1
M
qual ve
appa ti
Ing
di i
formato; ognuno di essi rappresenta un pezzo di enunciazione. Questi file sono
catalogati in diverse directory la cui struttura può essere così riassunta; vi sono 3 tipi di
test: Test A, Test B e Test C.
All'interno di ogni directory di test vi sono altre directory: clean1, clean2 clean3 etc..
ove sono contenute le enunciazioni delle cifre pulite senza rumore, e le relative cartelle
Introduzione
1.1 Introduzione alla struttura di valutazione
Il VAD (Voice Activity Detection) oggetto di studio viene descritto nella tesina dal
titolo:” Implementazione in Nu-Tech di un VAD in tempo reale basato sulle Statistiche
di Ordine Superiore e sull’algoritmo EM Online” di Giovanni Pelliccioni e Marco
alatesta, a cui si deve fare riferimento, per qualsiasi dubbio in questa sede, ogni
volta nga fatta menzione all'algoritmo.
Questo algoritmo VAD, viene valutato attraverso l’elaborazione di file audio
rtenen al database AURORA. Il database consiste di enunciazioni in lingua
le cse di ifre contigue a cui viene aggiunto rumore. Le registrazioni vengono fatte in
vers tipi di ambienti rumorosi (registrazione dentro la metropolitana, in macchina,
farfugliamento, strada e ristorante), con molteplici livelli di rapporto segnale
rumore(SNR) -5, 0, 5, 10, 15 e 20dB. Si definisce alto, un SNR>10dB e basso, un
-5≤SNR≤10dB.
Questo database è composto da diversi file il cui contenuto deve essere letto come
dato grezzo in little endian con campionamento a 8KHz, ovvero i file non hanno alcun
N1_SNRx, N2_SNRx, N3_SNRx che rappresentano le stesse enunciazioni con
sovrapposto il tipo di rumor; x rappresenta il valore di rapporto segnale rumore.
sovrapposizione dei seguenti rumori alle enunciazioni al
G712 e al sottocampionamento a 8KHz:
• recording inside a subway;
• recording in an exhibition hall;
e rispettivamente rappresentano N1, N2, N3, N4.
Il test B corrisponde alla sovrapposizione dei seguenti rumori alle enunciazioni al
filtraggio con la caratteristica G712 e al sottocampionamento a 8KHz:
• street;
to campionamento a 8KHz:
s del parlato
Il test A corrisponde alla
filtraggio con la caratteristica
• babble;
• car noise;
ch
• restaurant;
• airport;
• train station;
che rispettivamente rappresentano N1, N2, N3, N4.
Infine il test C corrisponde alla sovrapposizione dei seguenti rumori alle enunciazioni
al filtraggio con la caratteristica MIRS e al sot
• subway;
• street;
che rispettivamente rappresentano N1, N2.
Per quanto riguarda l'elaborazione una volta generati i VAD (risultati degli algoritmi
applicati a file audio) si deve generare un confronto, è questo lo si fa andando a sottrarre
il VAD risultato dell'algoritmo di prova, con un VAD assoluto che rappresenta il
riferimento.
Quindi come misura di valutazione, usiamo gli errori di classificazione a livello del
frame, cioè:
• False Rejection Rate FRR , definita come
N° di frames di parlato persi N° di frame
1
• False Alarm Rate FAR , definito come
5
N°
N° 2
• Global Error Rate GER , definito come
N° N°
° N 3
ori di classificazione a livello del frame FAR, FRR e GER, si deve
VAD, ottenuto con un file audio a cui si
ttenuto con lo stesso file audio in
ass
ro indica il non
a il parlato per ogni frame elaborato, è possibile effettuare una
ltato di riferimento e i risultati in prova(vedi Figura 1).
ne conduce a tre valori corrispondenti a tre casi:
ente quindi la
arlato del VAD di riferimento viene perso nel frame del VAD in
prova dunque la differenza è pari a 1;
ferimento viene riconosciuto come
ero di 1 e di -1 della differenza tra i due VAD si
arriv
rile
errore gl
Per ricavare gli err
confrontare l'elaborazione dell'algoritmo
sovrappone rumore, con un VAD di riferimento o
enza di rumore di fondo.
Dato che viene considerato VAD un segnale binario in cui lo ze
parlato e l’uno indic
differenza tra il risu
Questa operazio
• il frame di parlato o di non parlato è individuato correttam
differenza tra il VAD di riferimento e il VAD calcolato sullo stesso segnale
con aggiunto rumore è pari a 0;
• il frame di p
• il frame di non parlato del VAD di ri
parlato nel frame del VAD di prova, ovverosia il frame di parlato del VAD di
prova non è correttamente rilevato, dunque la differenza è pari a -1.
Quindi andando a contare il num
a ai seguenti indicatori: percentuale di frames di parlato non correttamente
vati(FA ersi(FRR[%]) e percentuale di R[%]), percentuale di frames di parlato p
obale(GER[%]).
6
gFi
isogna inizialmente sapere il numero dei frames totali del segnale vocale
an
° ‐ ° 0 VAD
ura 1. Esempio di confronto, tramite differenza, tra un VAD di riferimento e un VAD di prova.
B
alizzato. Poi bisogna calcolare il numero di 0, quindi di frames non parlato, e di 1,
quindi di frames parlato, presenti nel VAD di riferimento. Infine considerando le
formule (1), (2) e (3) si possono eseguire i seguenti rapporti per trovare i tre indicatori :
FAR % 4
FRR % ° ° VAD
5
GER % ° ° °
6
7
Andando a variare le soglie di decisione dell'algoritmo, si otterranno diversi valori di
FAR, FRR e GER che potranno essere visualizzati su un grafico a seconda del livello di
SNR.
Per poter produrre un confronto si è usato come algoritmo Baseline un VAD basato
sull'energia. Anche questo viene confrontato con il riferimento assoluto ottenendo valori
di FAR, FRR e GER. Anche in questo caso variando le soglie di decisione si otterranno
diversi valori che potranno essere inseriti nello stesso grafico a seconda del livello di
rumore considerato.
1.2 VAD basato sull'energia (Baseline) L'algoritmo VAD Baseline su cui viene poi fatto il confronto è un semplice
algoritmo basato sull'energia. Ad ogni frame di lavoro, composto di 256 campioni
overlap al 50% con il frame di prelevamento dei dati, viene calcolato il logaritmo
dell'energia del frame di lavoro in questo modo:
P 10 · logN
s nN 7
A questo punto si effettua la decisione in base una soglia stabilita, se il valore del
logaritmo dell'energia è minore della soglia allora si stabilisce che quel frame è di non
parlato(0); altrimenti se il logaritmo dell'energia è maggiore della soglia o il frame
precedente è stato scelto come parlato(1) allora si decide che quel frame è di parlato(1).
1.
sp
po
no
de
3 Receiver Operating Characteristic (ROC) Nella teoria delle decisioni, le curve ROC (Receiver Operating Characteristic o
anche note come Relative Operating Characteristic) sono un schema grafico per un
classificatore bi u go i due a no rappresentare la sensibilità 1-nario. L n ssi si posso e (
Rate (vero positivo) e ecificità), come True Positive False Positive Rate (falso
sitivo). In altre parole, si studiano i rapporti fra allarmi veri (hit rate) e falsi allarmi.
assificatore binario comSe si considera un problema di predizione a 2 classi (cl e nel
stro caso), scelto un valore di soglia (threshold o cut-off) in cui è possibile andare a
cidere il risultato, ovvero se la classe è positiva (p) o negativa (n) (parlato o non
8
pa
• se il risultato della predizione è positivo p e il valore vero è anche positivo p,
negativo" (false negative - FN) invece è quando il risultato è
negativo e il valore vero è positivo.
he andando a utilizzare
ntano la distinzione tra
le
o ti sani(non malati) e malati. Un test
ideale (sia esso ) dovrebbe essere affidabile e valido.
Pe
ovvero dalla capacità di un test di distinguere in una popolazione i soggetti sani(non
oggetti sani
ero risultare
po
rlato), dato che le due curve risultano in parte sovrapposte, sono possibili quattro
risultati a seconda della posizione del valore di cut-off:
viene chiamato "vero positivo" (true positive - VP);
• se invece il valore vero è negativo, viene chiamato "falso positivo" (false
positive - FP); contrariamente un "vero negativo" (true negative - VN)
occorre quando entrambi, il risultato e il valore vero, sono negativi;
• un "falso
É inoltre possibile rappresentare questo tipo di situazione anc
una tabella di contingenza di tipo 2×2, dove le colonne rapprese
classi ad esempio parlato o non parlato; le righe invece rappresentano il risultato del
test sui frame. Un risultato qualitativo del test potrebbe essere quello di andare a
valutare il numero di falsi positivi e negativi, meno ve ne saranno e tanto il test sarà
maggiormente valido.
Supponiam di dover distinguere dei sogget
clinico, strumentale,di laboratorio
r affidabilità generalmente s’intende la capacità di un test di offrire sempre lo stesso
risultato nel corso di misurazioni ripetute. Questa pertanto è una caratteristica intrinseca
al test e dipendente dalla bontà dello strumento e/o dell’operatore.
Esiste però un altro parametro importante da valutare, rappresentato dalla validità:
malati) da quelli malati. Utilizzando un test ideale, pertanto, tutti i s
dovrebbero risultare negativi al test ed analogamente tutti i malati dovrebb
sitivi.
La situazione appena descritta, riportata su un semplice diagramma cartesiano sul cui
asse delle ascisse è indicato il valore della variabile misurata dal test e sull’asse delle
ordinate il numero di soggetti individuati nelle singole misurazioni, darebbe luogo a due
curve ben distinte: da un lato i sani, dall’altro i malati (Figura 2).
9
Figura 2. Diagramma cartesiano sul cui asse delle ascisse è indicato il valore della variabile misurata dal
test e sull’asse delle ordinate il numero di soggetti individuati nelle singole misurazioni diagramma.
Il valore della variabile, discriminante per assegnare un soggetto al gruppo dei sani o
dei malati, viene chiamato valore di cut-off o valore di soglia.
Sottoponendo una qualsiasi popolazione ad un test di screening, dato un certo valore
di
illustrata, possiamo
ve
cut-off purtroppo avremo sempre un certo numero di soggetti sani che risulteranno
positivi al test e, simmetricamente, un certo numero di soggetti malati che il test non
riuscirà ad identificare come tali, e pertanto saranno erroneamente classificati come
"sani".
Riportando sul solito grafico la situazione precedentemente
dere come la curva dei sani e quella dei malati presentano in realtà un certo livello di
sovrapposizione (Figura 3). Un coda della curva scura infatti si ritrova al di là del limite
imposto dal cut-off: questi soggetti, pur essendo sani, pertanto saranno classificati come
malati e costituiranno la quota dei falsi positivi.
10
Diagramma caFigura 3. rtesiano che rappresenta le due popolazioni sovrapposte.
e sani e
for
pazienti sono distribuiti in funzione del risultato al test.
Tanto più basse saranno le quote di falsi positivi e falsi negativi, tanto più il test sarà
valido.
Un primo parametro da valutare in un test è la sensibilità. Per sensibilità si intende la
capacità di un test di individuare in una popolazione i soggetti malati. Essa è data dalla
Analogamente la coda sinistra della curva dei malati cade al di sotto del livello di
cut-off: tali soggetti, pur essendo malati, saranno erroneamente identificati com
meranno il gruppo dei falsi negativi. Un ulteriore modo di rappresentare la
distribuzione di un’ipotetica popolazione in funzione della presenza/assenza di malattia
e dei risultati di un test può esser dato dalla classica tabella di contingenza 2x2 (Tabella
1). Le colonne rappresentano la distinzione dei soggetti in malati e sani; nelle righe
invece i
Malati Non Malati
Test Positivo
Test Negativo
FP
FN
VP
FP
Totale Malati Totale Non Malati Tabella 1. Tabella di contingenza dell'esempio proposto.
11
proporzione dei soggetti realmente malati e positivi al test (veri positivi) rispetto
all’intera popolazione dei malati ovvero:
Sensibilità V PT M
V PV P F N
(8)
Come si evince dalla definizione, e dalla formula, la sensibilità è condizionata
negativamente dalla quota di falsi negativi: pertanto un test molto sensibile dovrà
associarsi ad una quota molto bassa di falsi negativi (ovvero di soggetti malati che
"sfuggono" all’identificazione attraverso il test).
Il calcolo della sensibilità tiene quindi in conto esclusivamente la popolazione dei
malati (ovvero la prima colonna della tabella 2x2), in funzione dell’identificazione
come positivi o negativi al test. Essa è pertanto una caratteristica intrinseca al test stesso
Un secondo parametro, per certi versi speculare al precedente, è dato dalla
specificità.
e non dipende affatto dalla prevalenza della malattia nella popolazione sottoposta al test.
Per specificità si intende la capacità di un test di identificare come negativi i soggetti
sani.
Specificità V NT S
V NV N F P
(9)
Come si può notare dalla formula riportata, la specificità è influenzata in particolare
dalla quota di falsi positivi: ovvero sarà tanto co quanto più bassa
risulterà la quota di falsi positivi (cioè di soggetti sani identificati dal test come malati).
Un test molto spec initi i consente di lim re la possibilità che un
soggetto sano risulti positivo al test.
Andando a varia cut-of n facciamo altro entare o diminuire
la sensibilità e la specificità del test. Infatti in riferimento alla Figura 3, se spostiamo la
soglia verso destra, ovvero verso i uisco , c significa che
dim nuisce la enta il numero dei veri
ne
non malati, diminuiscono i veri negativi e aumentano i veri positivi cioè
dim
quantitativo, lega la probabilità di ottenere un risultato vero-positivo nella classe dei
un test più specifi
ifico, in def va, c ita
re la soglia o f no che aum
malati, dimin no i veri positivi iò
i sensibilità e aumenta la specificità dato che aum
gativi rispetto al totale. Al contrario se spostiamo la soglia verso sinistra, ovvero
verso i
inuisce la specificità e aumenta la sensibilità.
L’analisi ROC viene effettuata attraverso lo studio della funzione che, in un test
12
13
icità). In altre parole, vengono studia
rap orti fra alla
colare i valori di
sensibilità e 1-specificità
plot). P
tima basata sui parametri del data set
sperim
malati-veri (ossia la sensibilità) alla probabilità di ottenere un risultato falso-positivo
nella classe dei o non-malati ( ssia 1-specif ti i
p rmi veri (hit rate) e falsi allarmi.
tra i suddetti parametri può venire raffigurata attraverso una linea che si La relazione
ottiene riportando, in un sistema di assi cartesiani e per ogni possibile valore di cut off,
la proporzione di veri positivi in ordinata e la proporzione di falsi positivi in ascissa. Se
il risultato del test è riportato su scala continua, si possono cal
per ogni valore registrato (oppure, in modo del tutto
equivalente, utilizzando la media tra ogni valore e quello precedente).
L’unione dei punti ottenuti riportando nel piano cartesiano ciascuna coppia
(Sensibilità) e (1-Specificità) genera una curva spezzata con andamento a scaletta (ROC
er interpolazione, è possibile eliminare la scalettatura (smoothing) ed ottenere
una curva (ROC curve) che rappresenta una s
entale (Figura 4).
Figura 4. Curva ROC prima e dopo interpolazione (“smoothing”).
Capitolo 2
Struttura degli algoritmi che permettono di tracciare le curve R
FRR[%] che permetteranno poi di tracciare le curve ROC.
i sono prodotti due algoritmi per testare il VAD basato sulle Statistiche di Ordine
Superiore e sull' EM online e il VAD basato sull'energia. Questi sono stati implementati
in MATLAB e si chiamano rispettivamente StatVADhos_aut.m e
StatVADblmod_aut.m e sono riportati in appendice.
Nei seguenti paragrafi viene presentata la struttura degli algoritmi, il loro schema a
blocchi e le problematiche sulla gestione dei file del database AURORA per generare
un unico file wave (clean o rumoroso). Questi ultimi infatti vengono acquisiti ed
elaborato in un sol colpo attraverso MATLAB.
2.1 Schema a blocchi degli algoritmi
li algoritmi StatVADhos_aut.m e StatVADblmod_aut.m, rappresentano una
procedura per calcolare in maniera automatica i valori FAR[%] FRR[%] e GER[%].
fatti con un singolo confronto si ottiene un unica terna di valori. L'idea base è
quella di effettuare più confronti, uno per ogni valore di soglia per l'algoritmo VAD da
provare e ricavare così per ogni valore una terna di valori che rappresentano gli indici di
OC
In questo capitolo si entra nel merito degli algoritmi con cui si sono calcolati i valori
degli indicatori FAR[%] e
S
G
In
valutazione. Se ad ogni iterazione si salvano questi valori in 3 vettori si ottengono i
dati su cui poter tracciare le curve ROC.
ostrato lo schema a blocchi di StatVADblmod_aut.m che
ente i dati per l'algoritmo baseline. Esso prende come
argomenti 2 file audio PCM mono 16bit con frequenza di campionamento 8KHz.
Nella seguente figura è m
permette di calcolare automaticam
file2 VAD HOS & EM Online
file1
15
deve essere il file senza rumore a
cu
All'uscita del blocco VAD HOS & EM Online quindi, ci sarà un vettore di uno e di
zero che rappresentano i frames di parlato e di non parlato del file audio clean. Questo
ll'uscita del blocco Energy VAD si otterrà un vettore di uno e di zero, chiamato
va
Come si può vedere dallo schema, il file2(audio)
i va applicato l'algoritmo VAD, quest'ultimo rappresenta il riferimento assoluto
(calcolato con alpha 0.9 e soglia di probabilità 0.9) su cui fare le valutazioni di tutti gli
altri VAD elaborati tramite il file1 che è lo stesso segnale audio del file2 con
sovrapposto rumore.
viene salvato con il nome vad2.
A
d1, della stessa lunghezza di vad2 ma che dipenderà dal valore di soglia di decisione
applicata all'algoritmo dell'Energy VAD.
Ad ogni iterazione si calcola la differenza tra i vettori vad2 e vad1 e il numero di
0,1,e -1. La soglia viene aumentata di 10dB partendo da -100dB fino ad arrivare a
-10dB, in questo modo si ottengono 10 iterazioni su cui verranno calcolati 10 valori di
Figura 5. Schema a blocchi di StatVADblmod_aut.m
Energy VAD
∑-
+
conta numero di 1
conta numero di 1 e -1 GER
FRR
clean
conta numero di -1 FAR
incremento la soglia
FAR[%], FRR[%] e GER[%]. Questi permettono di tracciare le curve ROC dell'
algoritmo baseline.
algoritmo baseline.
Nella seguente figura è mostrato invece lo schema a blocchi di StatVADhos_aut.m
che permette di calcolare automaticamente i dati per l'algoritmo VAD basato sulle HOS
e sull'EM Online di cui vogliamo valutare le prestazioni.
Nella seguente figura è mostrato invece lo schema a blocchi di StatVADhos_aut.m
che permette di calcolare automaticamente i dati per l'algoritmo VAD basato sulle HOS
e sull'EM Online di cui vogliamo valutare le prestazioni.
algoritmo precedente valgono anche in
qu
o lo stesso segnale del file2 con rumore sovrapposto. In uscita a
qu
tte una convergenza più rapida dei parametri dell' EM
On
ificato come parlato). Anche in questo caso,
fat
algoritmo precedente valgono anche in
qu
o lo stesso segnale del file2 con rumore sovrapposto. In uscita a
qu
tte una convergenza più rapida dei parametri dell' EM
On
ificato come parlato). Anche in questo caso,
fat
Le considerazioni fatte per i file passati all'e considerazioni fatte per i file passati all'
esto caso. Infatti anche in questo caso si calcola sul segnale clean il VAD HOS & EM
Online (con alpha 0.9 e soglia di probabilità 0.9) che verrà salvato su un vettore
chiamato vad2 e che rappresenta il riferimento assoluto.
All'ingresso del secondo blocco VAD HOS & EM Online, che rappresenta il VAD
da valutare, viene dat
esto caso. Infatti anche in questo caso si calcola sul segnale clean il VAD HOS & EM
Online (con alpha 0.9 e soglia di probabilità 0.9) che verrà salvato su un vettore
chiamato vad2 e che rappresenta il riferimento assoluto.
All'ingresso del secondo blocco VAD HOS & EM Online, che rappresenta il VAD
da valutare, viene dat
esto blocco si ottiene un vettore di uno e di zero, chiamato vad1. Dato che il rumore è
sempre superiore a 20dB si è impostato il parametro alpha (di convergenza
dell'algoritmo) a 0.98 ciò perme
esto blocco si ottiene un vettore di uno e di zero, chiamato vad1. Dato che il rumore è
sempre superiore a 20dB si è impostato il parametro alpha (di convergenza
dell'algoritmo) a 0.98 ciò perme
line. La soglia di probabilità invece parte da 0.1 e ad ogni iterazione viene
incrementata con passo di 0.1 fino ad arrivare a 1.0 (decisione che corrisponde alla
certezza che il frame esaminato sia class
line. La soglia di probabilità invece parte da 0.1 e ad ogni iterazione viene
incrementata con passo di 0.1 fino ad arrivare a 1.0 (decisione che corrisponde alla
certezza che il frame esaminato sia class
ta la differenza ad ogni iterazione tra vad2 e vad1 e calcolando il numero di 0,1e -1,
si avranno 10 valori di FAR[%], FRR[%] e GER[%].
ta la differenza ad ogni iterazione tra vad2 e vad1 e calcolando il numero di 0,1e -1,
si avranno 10 valori di FAR[%], FRR[%] e GER[%].
L
Figura 6. Schema a blocchi di StatVADhos_aut.m
VAD HOS & EM Online
file2
VAD HOS & EM Online
file1
incremento la soglia
∑-
+
conta numero di 1
conta numero di -1
FRR
FAR
conta numero di 1 e -1 GER
clean
16
RORA
Com ccenn edenza i file del datab n no
enunciazioni di cifre in lingua inglese. Questi file rappresentano direttamente i dati in
formato PCM 16 bit mono e vanno letti in little endian con una frequenza di
campionamento di 8KHz.
Ogni cartella contiene circa 1000 file, ad ogni file d stA\clean1\
corrisponde un file della directory TestA\N1_SNRx, ovvero i due file hanno lo stesso
nome. Naturalmente far processare all'algoritmo VAD basato sulle statistiche di Ordine
Superiore e sull'EM Online, 1000 file richiede di lanciare l'esecuzione degli algoritmi
visti nel paragrafo precedente 1000 volte e oltre a questo, pochi secondi di elaborazione
non sono sufficienti per far andare a convergenza l'algoritmo EM Online. Per ovviare a
questi inconvenienti si è proceduto andando a co
• sfogliare la vista ad albero delle chiavi fino alla voce
HKEY_CLASSES_ROOT\Directory\shell;
2.2 Gestione dei file del database AU
e a ato in prec ase AURORA co tengo
ella directory Te
ncatenare più file insieme. Il vantaggio
di avere direttamente i file come dati è proprio questo, non essendoci né header né
trailer né bit di controllo, concatenando i file si può ottenere un unico file che
rappresenta un unico file audio PCM 16bit mono 8KHz.
Un utility che permette di fare ciò è il comando linux cat, disponibile anche per
windows; esso è un singolo file eseguibile cat.exe che accetta come argomenti la lista
dei file separata da spazio. Ovvero se si esegue dal prompt dei comandi
c:\windosw>cat file.1 file.2 > file.raw
il file file.raw sarà la concatenazione del file.1 e del file.2 .
L'unico inconveniente è scrivere la lista dei file contenuti in una directory o cartella.
E' possibile disporre dell'elenco di file all'interno di una cartella usando le chiavi di
registro di Windows e il comando DOS dir. Basta procedere in questa maniera:
• fare click sulla voce di menù Avvio -> Esegui e digitare regedit;
17
• si deve cliccare con il tasto destro per generare una nuova chiave sotto shell
che si può chiamare Lista File(Figura 7);
• Si deve creare una sottochiave di lista File dal nome Command(Figura 8);
Figura 8. Finestra di dialogo per creare una chiave in Regedit.
Figura 7. Finestra di dialogo di Regedit.
• dopo aver selezionato Command modificate il valore della chiave cliccando
con il tasto destro sulla voce Predefinito che si trova sul lato destro
dell'editor(Figura 9);
18
•
• uscendo da regedit viene confermata la modifica.
Figura 9. Finestra di dialogo per creare un valore alla chiave di registro in Regedit.
Figura 10. Generazione della lista file dal menu contestuale.
Ogni qualvolta si selezioni una cartella con il pulsante destro del mouse si potrà
generare il file dirlist.txt cliccando sulla relativa voce nel menù contestuale(Figura 10),
tale file verrà scritto nella cartella da dove si sarà lanciato il comando. Il comando usato
non considera le sottocartelle.
A questo punto si ha un elenco in formato testuale all'interno del file dirlist.txt
generato. La lista accettata dal comando cat va bene solo se separata da spazi, allora si
si deve inserire il seguente valore per la chiave;
• cmd /C dir /B /A-D "%1" > "%1\..\dirlist.txt";
19
ha la necessità di ricorrere ad un programma di editazione che consenta di modificare i
eseguito si deve aprire il file
Figura 11, al carattere di
ritorno a capo corrispondono i due byte 0D 0A; dato che il carattere di spazio in
esadecimale corrisponde al byte 20 basterà aprire Search dal menù a tendina e
selezionare Replace(vedi Figura 12).
Figura 11. Schermata dell'editor di dati esadecimali del file dirlist.txt
Inserendo nei campi i valori da trovare e da rimpiazzare e schiacciando il tasto
Replace all(Figura 13), una volta salvato il file, verrà ottenuta la lista dei file separati da
spazio anzichè dal ritorno a capo.
Figura 12. Dialog box dell'editor xvi32
dati contenuti nei file a livello esadecimale.
Viene usato il programma freeware xvi32. Una volta
dirlist.txt generato in precedenza. Come si può vedere in
20
Figura 13. Dialog box del comando Replace di xvi32.
A questo punto è possibile scrivere dei file batch per eseguire la concatenazione dei
file. In questo lavoro si è divisa la lista di file in 5 gruppi e si sono generati 5 file batch
per ogni tipo di rumore.
I file batch generano i file file1.raw file2.raw, file3.raw file4.raw e file5.raw che a
loro volta attraverso un ultima concatenazione generano il file filetot.raw . Si è usata
questa strategia perchè usando l'intera lista il comando cat non riusciva a generare
l'output.
E' importante usare questa procedura, essa vale solo per lo stesso tipo di rumore,
infatti una volta fatta per clean1, si possono copiare i file batch e il file cat.exe nella
cartella relativa e lanciarli ottenendo altri file, ad esempio in N1_SNR0; questo non vale
se copiamo i file generati per clean1 in clean2 o N2_SNR-5.
Una volta ottenuto filetot.raw è possibile caricarlo con adobe Audition per salvarlo in
formato wave che può essere caricato da MATLAB.
Una volta caricato il file attraverso Audition basterà impostare il campionamento a
8KHz 16 bit mono (Figura 14) e scegliere la formato dei dati PCM Raw con 16-bit
Motorola PCM (MSB, LSB) (Figura 15).
Il file batch conca.bat è così scritto:
cat file1.raw file2.raw file3.raw file4.raw > filetot.raw
pause
21
Figura 14. Dialog box di adobe Audition per impostare il formato dei campioni.
desiderato il file in formato wave.
Fig
volta generati i file wave sia per il segnale clean che per il segnale con
sovrapposto rumore, sarà possibile copiarli nella cartella di lavoro di MATLAB e
lan
enti rumori:
questo punto basterà salvare con il nome A
ura 15. Dialog box di adobe audition per impostare il formato per interpretare i campioni dai dati.
Una
ciare gli algoritmi per valutare gli indicatori FAR, FRR e GER.
2.3 Esecuzione delle prove
Le prove sono state effettuate sui dati del Test A, del Test B e del Test C; in
particolare per il Test A si sono ottenuti dati per i segu
• recording inside a subway;
• babble;
• car noise;
22
23
Per il Test B si sono ottenuti i dati per i seguenti tipi di rumore:
• restaurant;
• street;
Per il Test C si sono ottenuti i dati per il tipo di rumore:
• street.
I dati sono stati salvati su fogli di calcolo uno per ogni tipo di rumore. Per ogni
valore di SNR(-5,0,5,10,15,20dB) è stato tracciato un grafico.
E' stata stabilita la media dei valori ottenuti per -5≤SNR≤10 dB è si è tracciato un
grafico per "Low SNR" , mentre per SNR≥15 dB è stata fatta la media e tracciato un
edia
di
er quanto riguarda il Test B si è anche tracciato un grafico di media tra i Low and
High SNR averaged dei rumori di tipo restaurant e street, per poter fare un confronto
visivo con le curve ROC dell'articolo [1].
In quest'ultimo caso bisogna tenere presente che i file audio provati non sono sparsity
e che i database audio di riferimento sono diversi dato che il CENSREC è in lingua
giapponese.
grafico per "High SNR". E' stato infine prodotto un grafico di media totale dalla m
Low e High SNR, chiamato "Low and High SNR averaged".
P
Capitolo 3
3.1
babble e car.
Di seguito vengono riportati i dati e i grafici delle curve ROC tracciate relative al
Test A rumore N1 di tipo recording in subway. VAD Baseline SNR ‐5dB VAD on HOS & EM Online
Risultati sperimentali In questo capitolo vengono riportati tutti i dati e i grafici relativi ad ogni rumore ad
ogni SNR per gli algoritmi VAD provati e confrontati.
Risultati ottenuti in MATLAB per il Test A
Per il Test A sono stati prodotti i dati per i rumori di tipo recording in subway,
3.1.1 Rumore di tipo recording in subway
FRR% FAR% GER% FRR% FAR% GER% 0,1047638 99,51867 44,688529 0,0039534 99,961105 44,8313462,3522435 94,826916 43,823998 0,0869737 99,788506 44,7997315,163076 75,636912 42,28354 24,983198 64,050953 42,50376145,103775 41,754181 43,601596 68,784345 14,425321 44,40616678,398893 14,969856 49,953121 82,445147 4,3538506 47,42384995,736312 2,3580319 53,85932 88,756671 1,2859782 49,52903299,725242 0,184753 55,084709 92,684325 0,2844224 51,24610399,99407 0,0072929 55,153392 95,105752 0,063205 52,482393
100 0 55,153392 96,96185 0,0097238 53,48211100 0 55,153392 99,91105 0 55,104332
1‐FRR 1‐FAR 1‐FRR 1‐FAR
99,895236 0,4813302 99,996047 0,0388954 97,647756 5,1730844 99,913026 0,2114936 84,836924 24,363088 75,016802 35,949047 54,896225 58,245819 31,215655 85,574679 21,601107 85,030144 17,554853 95,646149 4,2636885 97,641968 11,243329 98,714022 0,2747579 99,815247 7,315675 99,715578
0,00593 99,992707 4,8942479 99,936795 0 100 3,0381498 99,990276 0 100 0,0889504 100
Fig
AD Baseline SNR 0dB VAD on HOS & EM Online
0
ura 16.
VFRR% FAR% GER% FRR% FAR% GER%
2,30678 92,94292 42,95402 0 99,99271 44,8433412,7377 72,19467 39,40213 14,65112 63,1515 36,4018938,14786 39,49582 38,75237 48,31587 11,82419 31,9505970,40522 13,38973 44,83571 4,084014 35,3476760,7689391,78296 2,406651 51,70072 ,555815 38,7981669,08085 199,09073 0,172598 54,7293 75,10971 0,568845 41,6806699,9664 0 55,13486 79,95454 0,199339 44,18704
100 0 55,15339 84,21625 0,034033 46,46338100 0 55,15339 88,32576 0,004862 48,71683100 0 55,15339 99,37735 0 54,80998
(1‐FRR (1‐FAR (1‐FRR (1‐FA )% )% )% R)%
97,69322 7,057079 100 0,007293 87,2623 27,80533 85,34888 36,8485 61,85 60,5041 214 8 51,68413 88,17581 29,59 86,6102 95,9159478 7 39,23107 9 8,217039 97,59335 30,91915 98,44419 0,909271 99,8274 24,89029 99,43116 0,033603 100 20,04546 99,80066
0 100 15,78375 99,96597 0 100 11,67424 99,99514 0 100 0,622653 100
10
20
30
40
50
(1‐FRR
)% 60
70
ROC VADonHOS VS Baseline SNR ‐05dB (subway)
80
90
100
VADonHOS
Baseline
0 20 40 60 80 100
(1‐FAR)%
25
Figura 17.
Baseline SNR 5dB VAD on HOS & EM Online
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 0dB (subway)
VADonHOS
Baseline
VADFRR% FAR% GER% GER% FRR% FAR%
10,440799 8,995527 6,700608 ,0474402 9,863866 4,8117226 3 0 9 429 3 3 25,69677 1 2,511761 7,689615 3,179251 8 3,112602 0,05320255 1 3 3 5, 2,904329 3,783547 7,014587 5,744218 8634772 2,3437198 3 4 20,670093 ,5564955 46,08726 3,605456 3,097044 5,4388079 0 5 4 1 25,275746 ,6320498 2,831258 9,841866 ,9642163 8,3703649 0 5 5 0 39,497924 ,0461883 4,897194 6,009093 ,9699533 1,3259059 55 6 0 39,992093 0 ,149031 1,371813 ,5056398 4,075398
100 0 5 6 35,153392 7,420439 0,123979 7,240259100 0 5 7 0 45,153392 3,314884 ,0437573 0,455269100 0 5 9 55,153392 6,637675 0 3,298956
(1‐FRR)% (1‐FAR)% ‐FRR)% ‐FAR)% (1 (1
89,559201 4473 95256 61338 31,00 99, 0,137 6 74,303 80,488239 2,310385 222 6,887398 44 8 6 94,095671 6,216453 4,255782 ,136523 1 9 5 99,329907 6,443504 6,394544 6,902956 4 5 9,7242538 99,36795 0,158134 8,035784 0 9 4 9,5020755 9,953812 3,990907 9,030047 0 3,0079067 100 8,628187 99,49436
0 100 3 92,579561 9,876021 0 100 2 96,685116 9,956243 0 100 3,3623246 100
26
Figura 18.
VAD SNR 10dB VAD o Online
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 5dB (subway)
VADonHOS
Baseline
Baseline n HOS & EM FRR% FAR% GER% FRR% FAR% GER%
23,030243 33,890023 27,900486 5,222376 35,902859 18,98153240,822297 14,700019 29,107341 13,451275 12,597238 13,06826962,545 5,916958 8958 4 37,149772 18,444357 ,5010696 13,9851383,439 2,185433415 7 46,99976 23,898004 5,2873396 15,55175295,932 0,478899 3,916277002 3 53,124523 28,725044 7 17,59915499,569085 0,0364644 54,93208 34,239968 2,0614547 19,80899699,99407 0 55,150121 4554 51497 22,3448139,44 1,31
100 0 55,153392 4 25,4802355,961653 0,2917153 100 0 55,153392 29,14331852,779205 0,0753598 100 0 55,153392 49,71872890,146274 0
(1‐FRR (1‐FAR (1‐FRR (1‐FA)% )% )% R)%
76,969757 66,109977 94,777624 64,097141 59,177703 85,299 8981 86,548725 7,402762 37,45404 94,0832 042 81,555643 91,49893 16,56058 97,8145 566 76,101996 94,71266 4,067997 99,521 96,0836 101 71,274956 722 0,4309152 99,963536 65,760032 97,938545
0,00593 100 60,555446 98,68485 0 100 54,038347 99,708285 0 100 47,220795 99,92464 0 100 9,853726 100
27
Figura 19.
VAD Baseline Low SNR VAD on HOS & EM Online
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS baseline SNR 10dB (subway)
VADonHOS
Baseline
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)% 91,02935363 26,1632147 98,68155762 16,0698658178,64400079 45,14719467 86,52846412 52,837538957,05969559 66,29169098 68,12808856 77,4400768230,09537458 84,77853948 50,73581736 93,27657049,652599328 95,37813594 42,47677407 97,052460131,526487448 99,34667931 36,47114054 98,778442240,080549516 99,95381175 31,63619292 99,423862310,001482506 99,99817678 26,82397707 99,87176682
0 100 22,154576 99,966574290 100 3,481913422 100
Figura 20.
010203040(1
‐
50607080
20 40 60 80
FRR)%
(1‐FAR)%
Do S Baseline 5<SNR<10dB LowNR (Subway)
90100
0 100
ROC VA nHOS V S
VADonHOS
Baseline
28
VAD Baseline SNR 15dB VAD on HOS & EM Online FRR% FAR% GER% FRR% FAR% GER%
30,759043 15,174057 23,769705 3,3860447 25,892163 13,47927544,815181 8,4670362 28,514271 6,5605851 16,049203 10,81590864,332872 4,9202645 37,688333 9,0116624 11,658888 10,19885384,048231 2,0736095 47,285393 11,733544 8,7830611 10,41035396,084206 0,4618825 53,200837 14,508796 6,8723259 11,08409899,584898 0,0340335 54,939712 18,323779 4,0305329 11,91374399,99407 0 55,150121 21,954932 2,8174835 13,372435
100 0 55,153392 27,422415 0,8824387 15,520136100 0 55,153392 33,441392 0,3184559 18,586878100 0 55,153392 80,585096 0 44,445414
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
69,240957 84,825943 96,613955 74,107837 55,184819 91,532964 93,439415 83,950797 35,667128 95,079736 90,988338 88,341112 15,951769 97,926391 88,266456 91,216939 3,9157936 99,538117 85,491204 93,127674 0,4151018 99,965967 81,676221 95,969467
0,00593 100 78,045068 97,182517 0 100 72,577585 99,117561 0 100 66,558608 99,681544 0 100 100 19,414904
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 15dB (subway)
VADonHOS
Baseline
Figura 21.
29
VAD Baseline SNR 20dB VAD on HOS & EM Online FRR% FAR% GER% FRR% FAR% GER%
32,97885 10,438545 22,870288 1,4884364 29,190976 13,91208645,781775 7,8471412 28,769378 2,5340976 22,19224 11,35010864,773671 4,8594905 37,904193 3,4394149 17,40811 9,703900784,289385 2,0565928 47,410767 4,61356 14,269739 8,94402996,119787 0,4521587 53,2161 5,8054952 11,770712 8,480692599,596758 0,0316025 54,945163 7,9027476 7,9589654 7,927959499,99407 0 55,150121 10,049417 5,941268 8,2070514
100 0 55,153392 13,637082 2,7542785 8,756514100 0 55,153392 17,995651 1,361338 10,535726100 0 55,153392 65,924096 0 36,359375
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
67,02115 89,561455 98,511564 70,809024 54,218225 92,152859 97,465902 77,80776 35,226329 95,14051 96,560585 82,59189 15,710615 97,943407 95,38644 85,730261 3,8802135 99,547841 94,194505 88,229288 0,4032417 99,968398 92,097252 92,041035
0,00593 100 89,950583 94,058732 0 100 86,362918 97,245722 0 100 82,004349 98,638662 0 100 34,075904 100
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 20dB rumore Subway
VADonHOS
Baseline
Figura 22.
30
VAD Baseline R VHigh SN AD on HOS & EM Online (1‐FRR)% ‐FAR)% (1 (1‐FAR (1 ‐FRR)% )% 68,13105357 97,5627 84305787,19369895 5944 72,4554,70152204 95,4526 92784991,84291132 5863 80,8735,4467286 93,7744 65013695,11012252 6136 85,46
15,83119194 91,826447 35997797,93489887 91 88,473,898003558 9 89,8428 8481149,54297939 5432 90,670,409171773 86,8867 52508899,96718203 3651 94,000,005 0026 0 83,9978 06242793 10 2566 95,62
0 0 79,4702 16413810 5104 98,180 0 74,2814 01030710 7855 99,160 0 26,7454 10010 0423
Figura 23.
VAD Baseline
Low and High SNR Averaged VAD on HOS & EM Online
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
onHOS VS Baseline High SN R<20rumore Subway
ROC VAD R 15<SN dB
VADonHOS
Baseline
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)% 83,39658694 46,50670945 98,30862489 34,8660540670,66317454 60,71243355 89,50319562 62,1847854349,85537326 75,89783482 76,67687949 80,1155516725,34064703 89,16399261 64,43269421 91,675580197,734400738 96,76641709 58,26546748 94,927800471,15404889 99,55351355 53,2763392 97,18737845
0,055676352 99,96920783 49,0900705 98,15611630,000988338 99,99878452 44,37273506 99,30839168
0 100 39,53021019 99,697750550 100 11,23641036 100
31
Figura 24.
3.1.2 Rumore di tipo babble
Di seguito vengono riportati i dati e i grafici delle curve ROC tracciate relative al
Test A rumore N1 di tipo babble. VAD Baseline SNR ‐5dB VAD on HOS & EM Online
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS eline SNR m tr 5 dB L veraged ( u
VS Bas ediato a 20 e ‐ow and High SNR a rumore S bway)
VADonHOS
Baseline
FRR% FAR% GER% FRR% FAR% GER% 0,0188388 99,792381 44,594524 0 99,995334 44,6747751,3243661 96,120559 43,676328 0,3522851 99,136865 ,4861334412,569233 78,34698 41,956664 37,500471 41,008235 9,06763343,387589 43,858912 43,598162 56,177235 21,270441 40,58197678,627407 13,817155 49,672222 69,622471 10,413605 43,16980996,76915 1,6212938 54,260076 78,071663 5,1764761 45,504383
99,847406 0,1003103 55,283536 84,216872 2,3654559 47,64823100 0 55,32314 88,773972 0,9494483 49,536733100 55,32314 0,3265916 51,3543650 92,562451100 0 55,2418470 55,32314 99,853058
(1‐FRR)% (1‐FAR)% % (1‐FRR)% (1‐FAR)
99,981161 0,2 ,0046656 076189 100 098,675634 3,8 ,8631348 794411 99,647715 087,430767 21 95 8,991765 ,65302 62,49 29 556,612411 56,14 8,729559 1088 43,822765 721,372593 86, 7 9,586395 182845 30,37 529 83,2308504 98,37 4,823524 8706 21,928337 90,1525941 99,89969 31 7,634544 15,78 28 9
0 100 6028 9,050552 11,22 90 100 7,4375495 99,673408 0 100 0,1469425 100
32
Figura 25.
SNR 0dB VAD on HOS & EM Online
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR ‐05dB (babble)
VADonHOS
Baseline
VAD Baseline FRR% FAR% GER% FRR% FAR% GER%
1,3959534 94,860849 43,153133 0 99,993002 44,67373311,171395 74,906105 39,646062 19,483064 43,075093 30,02324236,841114 40,707304 38,568406 36,053653 19,238575 28,54120470,718888 12,657755 44,778997 47,479372 9,5154781 30,51829692,869523 1,756596 52,163128 9501948 33,43234456,433443 4,99,284126 0,114307 4,978165 63,74854 ,5427485 6,4037145 2 399,992464 0 55,318972 70,09344 1,2643759 39,342776
100 0 55,32314 75,92781 0,5085497 42,232853100 0 55,32314 81,656682 0,1656286 45,249039100 0 55,32314 98,779247 0 54,647782
(1‐FRR) (1‐FAR (1‐FRR (1‐FA % )% )% R)%
98,604047 5,1391513 100 0,0069984 88,828 25,09389 605 5 80,516936 56,924907 63,158 59,29269 886 6 63,946347 80,761425 29,281 87,34224 90,48452 112 5 52,520628 2 7,1304774 98,243404 43,566557 95,049805 0,7158736 5693 25146 7251 99,88 36, 97,450,0075355 100 29,90656 98,735624
0 100 24,07219 99,49145 0 100 18,343318 99,834371 0 100 1,2207528 100
33
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 0dB (babble)
VADonHOS
Baseline
Figura 26.
VAD Baseline SNR 5dB VAD on HOS & EM Online FRR% FAR% GER% FRR% FAR% GER%
9,3364982 71,264609 37,004033 0,1017294 98,07311 43,87226528,73102 37,756316 32,763239 15,57025 21,648354 18,285756
55,936099 12,587771 36,569428 23,880035 11,638323 18,41082281,413662 3,065295 46,410072 31,771599 6,0699372 20,28890395,798953 0,5901976 53,262671 38,2917 3,7324749 22,85172399,583663 0,034992 55,108443 45,066124 1,8662374 25,76577199,998116 0 55,322098 51,232056 0,998437 28,789253
100 0 55,32314 58,061113 0,3195932 32,264015100 0 55,32314 65,233036 0,1236382 36,144202100 0 55,32314 96,092837 0 53,161575
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
90,663502 28,735391 99,898271 1,9268901 71,26898 62,243684 84,42975 78,351646
44,063901 87,412229 76,119965 88,361677 18,586338 96,934705 68,228401 93,930063 4,2010474 99,409802 61,7083 96,267525 0,416337 99,965008 54,933876 98,133763
0,0018839 100 48,767944 99,001563 0 100 4 91,938887 9,680407 0 100 34,766964 99,876362 0 100 3,9071625 100
34
Figura 27.
VAD SNR 10dB VAD o Onlin
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 5dB (babble)
VADonHOS
Baseline
Baseline n HOS & EM e FRR% FAR% GER% FRR% FAR% GER%
22,657398 34,765671 28,066994 2,9407332 43,877575 21,23002840,782186 13,586209 28,631877 8,724238 18,536403 13,10800562,661543 5,615041 19 37,174958 12,780227 1,461031 12,19085184,068 2,185830 4046 6 7,485643 17,158359 6,6624676 12,46912496,362 0,499218 5232 5 3,533648 21,498813 4,786899 14,03245599,666 0,02332 2,370121554 8 55,14909 26,619193 5 15,785469
100 0 55,32314 31,77725 1,5279819 18,262827100 0 55,32314 3157 52539 21,28943538,20 0,34100 0 55,32314 25,3707745,759391 0,1236382 100 0 55,32314 9 50,1756140,695528 0
(1‐FRR (1‐FAR (1‐FRR (1‐FA)% )% )% R)%
77,342602 65,234329 97,059267 56,122425 59,217814 86,413791 91,275762 81,463597 37,338457 94,384958 87,219773 88,538969 15,93195 97,8144 169 82,841641 93,337532 3,63776 99,5008 781 78,501187 95,213101
0,333446 99,976 97,6294 672 73,380807 878 0 100 68,22275 98,472018 0 100 61,796843 99,654746 0 100 54,240609 99,876362 0 100 9,3044723 100
35
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS baseline SNR 10dB (babble)
VADonHOS
Baseline
Figura 28.
VAD Ba Low SNR V & EM O
seline AD on HOS nline
(1‐FRR)% (1‐FRR)% R)%(1‐FAR)% (1‐FA91,64782789 99,239384 52448324,82912264 35 14,5179,49775819 9 88,9675 08211444,407702 4079 54,4057,99800309 72,4464 34590765,68572562 0368 79,1630,10295392 61,8533 04189784,55805165 5895 89,129,085471535 53,5383 92066295,83420813 9343 94,021,174 6823 46,623620 11041112 99,55151982 06 97,010,040 3372 40,6700 09373250 99,97492243 9532 98,46
0 0 34,7584 92887310 8687 99,460 0 28,6971 51258510 1013 99,810 100 3, 4832523 10064
36
igura 29.
VAD Baseline SNR 15 VAD on HOS & EM Online
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline mediata ‐5<SNR<10dB Rumore Low SNR (babble)
VADonHOS
Baseline
F
dBFRR% FAR% GER% GER% FRR% FAR%
30,790098 14, 34,345767 16,365986255721 23,403058 1,846200244,817452 8,4 19,81011 11,294542050668 28,549542 4,417693464,355149 5,0 3,282945 9,5905116691674 37,868034 6,6086432 184,733055 2,0 ,9929316 9,0735703878531 47,809774 9,1386911 896,544968 0,4 ,5598246 9,4425163688922 53,621195 11,770468 699,681625 0, ,2845779 9,9928087023328 55,157427 15,41012 3
100 2,157837 11,6353480 55,32314 19,289025100 ,4199034 13,8771640 55,32314 24,744735 0100 0 55,3231 0,137635 17,2654224 31,09717100 0 55,3231 0 47,4846014 85,831355
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
69,209902 85,744279 98,1538 65,654233 55,182548 91,594933 95,582307 80,18989 35,644851 94,930833 93,391357 86,717055 15,266945 97,912147 90,861309 91,007068 3,4550318 99,531108 88,229532 93,440175 0,3183753 99,976672 84,58988 96,715422
0 100 80,710975 97,842163 0 100 75,255265 99,580097 0 100 68,90283 99,862365 0 100 14,168645 100
37
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 15dB (babble)
VADonHOS
Baseline
Figura 30.
VAD Baseline SNR 20dB VAD on HOS & EM Online FRR% FAR% GER% FRR% FAR% GER%
33,013074 10,525579 22,966368 1,1830752 33,720578 15,71980945,580423 8,0691441 28,821561 2,1513884 22,453169 11,22158664,839305 4,9991835 38,104618 3,2157794 16,203607 9,018332784,915791 2,0855203 47,909827 4,592894 11,859939 7,839581496,60902 0,4572282 53,651419 6,1150673 8,8832902 7,3518223
99,692928 0,023328 55,163681 8,5283147 4,9198684 6,9161742100 0 55,32314 11,271241 3,1096181 7,6248841100 0 55,32314 15,590972 0,6461847 8,9141106100 0 55,32314 2 01,056102 ,1959549 11,736443100 0 55,32314 78,535097 0 43,448082
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
66,986926 89,474421 98,816925 66,279422 54,419577 91,930856 97,848612 77,546831 35,160695 95,000816 96,784221 83,796393 15,084209 97,91448 95,407106 88,140061
3,39098 99,542772 93,884933 91,11671 0,3070721 99,976672 91,471685 95,080132
0 100 88,728759 96,890382 0 100 84,409028 99,353815 0 100 78,943898 99,804045 0 100 21,464903 100
38
Figura 31.
VAD Baseline R V
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 20dB Rumore (babble)
VADonHOS
Baseline
High SN AD on HOS & EM Online
(1‐FRR)% ‐FAR)% (1 (1‐FAR (1 ‐FRR)% )%68,09841377 98,4853 68276387,60934985 6227 65,9654,80106251 96,7154 83602891,76289453 591 78,8635,40277307 95,0877 67242994,96582453 887 85,2515,17557741 93,134207 35647597,91331327 45 89,573,423005915 91,0572 84426299,53693984 3221 92,270,31272371 88,0307 77768499,97667203 8256 95,89
0 0 84,7198 62724210 6738 97,360 0 79,8321 69559310 4649 99,460 0 73,9233 32050310 6385 99,830 0 17,8167 10010 7405
39
High SNR Averaged
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
1‐FR
R%
1‐FAR%
ROC VADonHOS VS Baseline High SNR 15<SNR<20dB (babble)
VADonHOS
Baseline
Figura 32.
VAD Baseline
Low and
VAD on HOS & EM Online (1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%83,79802318 45,75586504 98,98804366 31,6657724371,26552629 60,19276677 91,55018022 62,5566675250,46625975 75,44575859 79,99353202 81,1945474825,12716175 89,00980552 72,28030845 89,271467567,19798299 97,068455 203 66,04467302 93,445618620,88699245 99,693232 722 60,42600756 96,639995020,02700224 99,983288 162 55,35335267 98,09604902
0 100 49,78304008 99,468511130 100 43,77252804 99,821152250 100 8,368813031 100
40
Figura 33.
3.1.3 Rumore di tipo car
i seguito vengono riportati i dati e i grafici delle curve ROC tracciate relative al
Test A rumore N1 di tipo car. VAD Baseline SNR ‐5dB HOS line
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR mediato tra 20 e ‐5 dB (Low and High SNR averaged(babble)
VADonHOS
Baseline
D
VAD on & EM OnFRR% FAR% GER% GER% FRR% FAR%
0,0022706 99, 9,995395 49,647887988487 49,645601 0 90,417783 97, 9,578632 49,507271971448 48,853347 0,1316925 9
9,5454339 81, 7,080359 40,254024950265 45,494558 33,522547 442,765996 44, 5,397191 39,206832524522 43,639107 62,685618 179,228918 13, ,2560442 41,633894136081 46,41371 76,52014 697,177694 1,2 ,1913424 43,924913548929 49,551857 84,092457 399,881931 0,0092102 50,29495 ,5565277 45,7529272 89,33518 1
100 0 50,34982 ,7483306 47,1430866 92,893147 0100 0 50,34982 5358 ,1795994 48,3320386 95,81 0100 0 50,349826 99,936424 0 50,317816
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
99,997729 0,0115128 100 0,0046051 99,582217 2,0285517 99,868308 0,4213677 90,454566 18,049735 66,477453 52,919641 57,234004 55,475478 37,314382 84,602809 20,771082 86,863919 23,47986 93,743956 2,822306 98,745107 15,907543 96,808658
0,1180691 99,99079 10,66482 98,443472 0 100 7,1068525 99,251669 0 100 4,1846419 99,820401 0 100 0,0635757 100
41
SNR 0dB VAD on HOS & EM Online
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR ‐05dB rumore car
VADonHOS
Baseline
Figura 34.
VAD Baseline FRR% FAR% GER% GER% FRR% FAR%
0,4881704 7,243841 8,527529 0 9,988487 9,6444589 4 9 48,1967213 78,190191 42,948601 21,123019 37,835598 29,42084335,761319 41,568041 38,644366 40,774715 12,852867 26,91146970,850552 12,215059 41,737928 52,168385 6,4793921 29,48372193,088416 1,4275846 47,578654 60,485446 3,8613861 32,37150299,334726 0,0805895 5 60,054875 7,213115 2,145982 34,9071799,977294 0 50,338394 72,74874 1,1420677 37,195903
100 0 50,349826 78,10272 0,393737 39,520075100 0 50,349826 83,17061 0,103615 41,927703100 0 50,349826 98,817038 0 49,754207
(1‐FRR)% (1‐FAR)% ‐FRR)% ‐FAR)% (1 (1
99,51183 61593 100 15128 2,75 0,0191,803279 21,809809 78,876981 62,164402 64,238681 58,431959 59,225285 87,147133 29,149448 87,784941 47,831615 93,520608 6,9115844 98,572415 39,514554 96,138614 0,6652741 99,919411 32,786885 97,854018 0,0227056 100 27,25126 98,857932
0 100 21,89728 99,606263 0 100 16,82939 99,896385 0 100 1,1829617 100
42
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 0dB rumore car
VADonHOS
Baseline
Figura 35.
VAD Baseline SNR 5dB VAD on HOS & EM Online FRR% FAR% GER% FRR% FAR% GER%
6,9047727 73,861386 40,148848 0,8650833 90,161179 45,2007526,35666 39,376007 32,820788 17,217656 17,080359 17,149488
55,074701 12,77458 34,072618 24,590164 10,42367 17,55647581,186141 3,1130555 42,422718 32,005813 6,246834 19,21643595,738159 0,5940594 48,498948 38,11816 4,3656459 21,35997899,652604 0,0506562 50,200064 44,759548 2 2,3324891 3,69443999,988647 0 50,34411 50,778802 1,4321897 26,278123
100 0 50,349826 57,5428 0,5272853 29,234498100 0 50,349826 6 04,347668 ,2256505 32,510975100 0 50,349826 94,194178 0 47,426605
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
9 99,1343,095227 26,138614 917 9,8388211 73,64334 60,623993 82,782344 82,919641
44,925299 87,22542 75,409836 89,57633 18,813859 96,886945 67,994187 93,753166 4,261841 99,405941 61,88184 95,634354
0,3473957 99,949344 55,240452 97,667511 0,0113528 100 49,221198 98,56781
0 100 42,4572 99,472715 0 100 35,652332 99,77435 0 100 5,8058217 100
43
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 5dB rumore car
VADonHOS
Baseline
Figura 36.
VAD Baseline SNR 10dB VAD on HOS & EM Online FRR% FAR% GER% FRR% FAR% GER%
19,728895 36,953719 28,28105 3,0947732 35,173843 19,02208738,367922 14,331108 26,433602 7,2816857 20,550311 13,869581
61,7615 6,4655768 34,306978 10,167567 15,199171 12,66576783,822261 2,4614322 43,426468 13,94805 10,957863 12,46341796,294446 0,5042597 48,734452 17,308478 8,3951186 12,8829899,704827 0,041446 50,221785 21,810999 5,2728529 13,59978199,993188 0 50,346397 26,374824 3,6587612 15,096259
100 0 50,349826 32,696063 1,6762606 17,294677100 0 50,349826 39,65987 0,9187198 20,424822100 0 50,349826 84,857636 0 42,725672
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
80,271105 63,046281 96,905227 64,826157 61,632078 85,668892 92,718314 79,449689
38,2385 93,534423 89,832433 84,800829 16,177739 97,538568 86,05195 89,042137 3,7055538 99,49574 82,691522 91,604881 0,2951728 99,958554 78,189001 94,727147 0,0068117 100 73,625176 96,341239
0 100 67,303937 98,323739 0 100 60,34013 99,08128 0 100 15,142364 100
44
VAD Baseline V
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS baseline SNR 10dB rumore car
VADonHOS
Baseline
Figura 37.
Low SNR AD on HOS & EM Online
(1‐FRR)% ‐FAR)% (1 (1‐FAR (1 ‐FRR)% )%93,2189728 99,0100 67027422,98814184 3587 18,
81,66522865 88,5614 87750442,53281142 8676 56,2359,46426139 72,7362 09831964,31038453 5176 78,6130,34376277 59,7980 96799484,42148285 337 90,228,912515326 8 51,8919 045196,084503 4405 94,28 31,032537124 45,5309 43334199,64310385 7044 96,760,039 4799 40,1906 261373 99,99769744 1351 98,05 4
0 0 34,6913 35965910 1738 99,160 0 29,251623 31038510 45 99,640 0 5,54868 10010 0805
45
Figura 38.
VAD Baseline SNR 15dB
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline mediata ‐5<SNR<10dB LOW SNR Rumore car
VADonHOS
Baseline
VAD on HOS & EM Online
FRR% FAR% GER% GER% FRR% FAR% 27,287589 15, 37,01819 18,879184551462 21,460582 0,992234741,864584 10, 8,367488 15,154564069077 26,078059 2,1252441 263,448526 6,055 48 2,728529 12,8966987219 34,952899 3,201 95 284,530675 2,3 6 8,425052 11,447092601197 43,732852 4,56 096 196,491985 0,4 5,348837 10,625114858393 48,824767 5,9670315 199,729803 0,039 0,805895 9,49103711434 50,233217 8,1944508 199,990918 0 50,34525 ,3329496 9,41215473 10,476363 8
100 0 50,349826 71 ,7893161 9,641942614,42 38 4100 0 50,349826 2173 ,7953028 11,03095819,15 2100 0 50,349826 69,485945 0 34,986053
1‐FRR 1‐FAR 1‐FRR 1‐FAR
72,712411 84,448538 99,007765 62,98181 58,135416 89,930923 97,874756 71,632512 36,551474 93,944278 96,798511 77,271471 15,469325 97,63988 95,433904 81,574948 3,5080151 99,514161 94,032969 84,651163 0,2701966 99,960857 91,805549 89,194105 0,0090822 100 89,523637 91,66705
0 100 85,572862 95,210684 0 100 80,847827 97,204697 0 100 30,514055 100
46
VAD Baseline SNR 20 VAD on HOS & EM Online
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 15dB rumore car
VADonHOS
Baseline
Figura 39.
dBFRR% FAR% GER% FRR% FAR% GER%
29,215294 12,643334 20,987287 ,419756 19,7903330,4336769 3942,616139 9,834216 6,339857 ,7629081 3,221276 6,8785442 0 3 163,966214 6,0004605 35,186117 1,1034921 28,068156 14,49149484,728214 2,3209763 43,812877 1,6052859 24,377159 12,9115696,521502 0,4812342 48,837342 2,0866446 21,130555 11,54197999,725262 0,0368409 50,229788 3,0153036 16,242229 9,58249599,990918 0 50,345253 3,9871032 13,218973 8,5707426
100 0 50,349826 6,0714772 8,6023486 7,3280593100 0 50,349826 8,6553744 5,484688 7,0811231100 0 50,349826 54,770446 0 27,576825
1‐FRR 1‐FAR 1‐FRR 1‐FAR
70,784706 87,356666 99,566323 60,580244 57,383861 0,165784 9,237092 6,778724 9 9 636,033786 93,999539 98,896508 71,931844 15,271786 97,679024 98,394714 75,622841 3,4784978 99,518766 97,913355 78,869445 0,2747378 99,963159 96,984696 83,757771 0,0090822 100 96,012897 86,781027
0 100 93,928523 91,397651 0 100 91,344626 94,515312 0 100 45,229554 100
47
seline High SNR VAD on line
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 20dB rumore car
VADonHOS
Baseline
Figura 40.
VAD Ba HOS & EM On(1‐FRR)% (1‐FRR)% R)% (1‐FAR)% (1‐FA71,74855819 99,2870 10269485,90260189 4419 61,7857,75963853 98,5559 56182490,04835367 2389 69,2036,29 2976 97,8475 16578426 93,97190882 092 74,6015,37 5538 96,9143 88947705 97,65945199 0907 78,593,493 6437 95,9731 03039425 99,51646327 6198 81,760,2 719 94,3951 5938297246 99,96200783 2284 86,470,00908224 100 92 826665 89,22 3868,76 40
0 100 89 52 93,30,750692 4167630 100 86,0962 0004612633 95,860 100 37,8718 100419 0
48
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline High SNR 15<SNR<20dB rumore car
VADonHOS
Baseline
Figura 41.
VAD Baseline
Low and High SNR Averaged VAD on HOS & EM Online
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)% 86,06216793 43,95962852 99,10237198 33,0405249873,69669861 58,3713255 91,89296581 60,5610561151,74038418 74,19755929 81,10667091 77,2745414125,35269364 88,83413923 72,17012549 86,352751557 97,22849,106095697 029 66,58568336 90,107068850,77918047 99,749409 517 61,81902124 93,334868370,02951727 99,998469 496 57,71649789 95,10975516
0 100 53,04444243 97,21045360 100 48,19982441 98,382070770 100 16,32305527 100
49
Figura 42.
isultati ottenuti in MATLAB per il Test B
er il Test B sono stati prodotti i dati per i rumori di tipo restaurant e street, che sono
gli stessi rumori con cui sono stati prodotte le curve ROC dell'articolo [1].
3.2.1 Rumore d taurant
Di seguito veng a i grafic rve ROC tracciate relative al
Test B rumore N1 dVAD Baseline ‐5dB
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR mediato tra 20 e ‐5 dB Low and High SNR averaged (rumore car)
VADonHOS
Baseline
3.2 R
P
i tipo res
ono riport ti i dati e i delle cu
i tipo restaurant. SNR VAD on HOS & EM Online
FRR% FAR% GER% GER% FRR% FAR% 0,2559144 99,084091 44,56227 9,995192 44,8295567 0 93,2506984 92,83379 43,412331 51 0,164912 41,4023529,902 81 817,400223 72,176547 41,95738 9882 8,345594 38,954816 39,44 347,299224 40,220684 44,125793 53,91002 23,010722 40,05733678,936881 14,063176 49,852889 65,295278 13,613635 42,12551395,704155 2,6419539 53,982778 73,164156 7,9691331 43,93611299,581941 0,2403962 55,045427 79,794487 4,4930045 46,03554499,986325 0,0264436 55,1726 84,912774 2,3150151 47,882785
100 0 55,168289 89,392252 1,069763 49,795769100 0 55,168289 99,705015 0,0048079 55,007706
50
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)% 99,744086 0,9159094 100 0,0048079 96,749302 7,1662099 90,097482 19,835088 82,599777 27,823453 60,550118 61,654406 52,700776 59,779316 46,08998 76,989278 21,063119 85,936824 34,704722 86,386365 4,2958448 97,358046 26,835844 92,030867 0,4180586 99,759604 20,205513 95,506996 0,0136748 99,973556 15,087226 97,684985
0 100 10,607748 98,930237 0 100 0,2949853 99,995192
Figur . VAD
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
ROC VADonHOS VS Baseline SNR ‐05dB (restaurant)
VADonHOS
Baseline
(1‐FAR)%
a 43
Baseline SNR 0dB VAD on HOS & EM Online FRR% FAR% GER% FRR% FAR% GER%
2,9713415 91,273619 42,558764 0 99,992788 44,82847814,385903 68,73167 38,75004 19,28344 40,826482 28,94155439,926547 37,444108 38,813627 31,694309 23,251118 27,90908270,663619 13,329968 44,959962 41,708179 13,135247 28,89844591,761902 2,5337757 51,759406 49,977534 7,8056637 31,07116399,081834 0,2355882 54,76737 57,436168 4,3583826 33,64048899,970697 0,0096158 55,156434 64,240364 2,5457955 36,581633
100 0 55,168289 70,767157 1,2476561 39,600375100 0 55,168289 77,151341 0,6202221 42,841131100 0 55,168289 98,400047 0 54,285622
(1‐FRR)% )% )% % (1‐FAR (1‐FRR (1‐FAR)
97,028659 8,7263811 10 0 0,0072119 85,614097 31,26833 80,71656 59,173518 60,073453 62,555892 68,305691 76,748882 29,336381 86,670032 5 8,291821 86,864753 8,238098 97,466224 50,022466 92,194336 0,918166 99,764412 42,563832 95,641617
0,0293032 99,990384 35,759636 97,454205 0 100 29,232843 98,752344 0 10 9 0 22,848659 9,379778 0 10 0 1,5999531 100
51
Figura 44.
AD Baseline SNR 5dB VAD on HOS & EM Online
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 0dB tau (res rant)
VADonHOS
Baseline
VFRR% FAR% GER% GER% FRR% FAR%
11,574752 5,599308 5,794885 ,1643126 6,855137 9,5809766 3 1 8 330,473344 35,583442 32,764288 13,258708 28,092697 19,90903956,250366 1 3 13,933362 7,278929 9,793315 17,291697 18,67179780,984196 3,6612337 46,318989 26,577976 10,065388 19,175195,250933 0,6418578 52,836065 32,639825 6,4450214 20,89624699,474496 0,0480792 54,899932 38,840376 3,6371941 23,05818799,990232 0 55,1629 45,134697 2,1539497 25,865692
100 0 55,168289 52,00336 0,9832203 29,130158100 0 55,168289 59,745258 0,4783884 33,174906100 0 55,168289 94,914923 0 52,362939
(1‐FRR)% (1‐FAR)% ‐FRR)% ‐FAR)% (1 (1
88,425248 0692 5687 4863 34,40 98,83 13,1469,526656 64,416558 86,741292 71,907303 43,749634 8 86,066638 0,206685 82,708303 19,015804 96,338766 73,422024 89,934612 4,7490672 99,358142 67,360175 93,554979 0,5255035 99,951921 61,159624 96,362806 0,0097677 100 54,865303 97,84605
0 100 47,99664 99,01678 0 100 40,254742 99,521612 0 100 5,0850769 100
52
aseline SNR 10dB HOS & EM
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 5dB (Restaurant)
VADonHOS
Baseline
Figura 45.
VAD B VAD on Online FRR% FAR% GER% FRR% FAR% GER%
23,483561 33,076109 27,784065 2,7701264 46,22578 22,2520441,206119 14,42377 29,199133 7,9040419 22,130872 14,28217362,740042 5,9738449 37,290784 11,570845 14,741093 12,99212283,60976 2,2477042 47,133758 15,804177 9,1254387 12,809984
95,977651 0,4735805 53,161542 19,863643 6,2334728 13,75300499,57022 0,033655 545 ,946275 24,8276 3,4280494 15,233815
99,992 2186 0 55,163978 9,852117 2,0601952 17,392523100 0 55,168289 36,265604 0,6394538 20,293791100 0 55,168289 43,444881 0,2740516 24,090659100 0 55,168289 90,966809 0 50,184832
(1‐FRR (1‐FAR (1‐FRR (1‐FA)% )% )% R)%
76,516439 66,923891 97,229874 53,77422 58,793881 85,57623 92,095958 77,869128 37,259958 94,026155 88,429155 85,258907 16,39024 97,752296 84,195823 90,874561
4,0223486 99,52642 80,136357 93,766527 0,4297798 99,966 9345 75,1724 6,571951 0,007814 7 92 100 0,147883 7,939805
0 100 63,734396 99,360546 0 100 56,555119 99,725948 0 100 9,0331907 100
53
seline Low SNR VAD on line
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS baseline SNR 10dB (Restaurant)
VADonHOS
Baseline
Figura 46.
VAD Ba HOS & EM On(1‐FRR)% (1‐FRR)% R)% (1‐FAR)% (1‐FA90,42860771 99,0163 27756127,74171835 9024 16,73
77,670984 87,412823 62594447,10683206 07 57,1955,92 0562 74,3729 26246507 67,61803452 1215 76,5929,36 0017 65,4999 58012408 85,13510265 1209 86,169,518 8198 5 58,0559 55517115 95,571902 2998 91,471,542 3546 51,4329 18101832 99,26018078 2504 95,150,11623591 99,937497 4 ,2445838 97,18 63795 67
0,003418703 99,99338911 39 98,70,01277618 3663640 100 32 93,56656704 99,38 93720 100 4,00330 8798021491 99,99
54
Figura 47.
VAD Baseline SNR 15 VAD on HOS & EM Online
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline mediata ‐5<SNR<10dB (low SNR) (restaurant)
VADonHOS
Baseline
dB
FRR% FAR% GER% FRR% FAR% GER% 30,813261 15,318044 23,86649 1,7523296 39,432184 18,64485344,921761 8,8081158 28,731396 3,6140577 24,585317 13,01583264,529489 4,9 7,802709 16,931102 10,537036136978 3 5,340991284,316943 2,0 ,540 11,688062 9,4000237601952 47,439835 7 682696,128074 0, ,6494543 9,2146529442329 53,230517 9,6739534 899,587802 0,033 ,9377374 9,29332776555 54,955974 12,832835 499,994139 ,2453483 10,3980080 55,165055 16,210514 3
100 ,9712005 12,1827410 55,168289 21,293637 0100 5 ,3894418 15,2348930 5,168289 27,298834 0100 0 45,6098380 55,168289 82,674012
(1‐FRR)% (1‐FAR)% % (1‐FRR)% (1‐FAR)
69,186739 84,681956 0,567816 98,24767 655,078239 91,191884 5,414683 96,385942 735,470511 95,086302 94,659009 83,068898 15,683057 97,939805 92,459317 88,311938 3,8719256 99,557671 90,326047 91,350546 0,4121979 99,966345 87,167165 95,062263 0,0058606 100 83,789486 96,754652
0 100 78,706363 99,028799 0 100 72,701166 99,610558 0 100 17,325988 100
55
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 15dB (Restaurant)
VADonHOS
Baseline
Figura 48.
VAD Baseline SNR 20dB VAD on HOS & EM Online FRR% FAR% GER% FRR% FAR% GER%
33,079373 10,512525 22,962268 0,9044912 40,2303 18,53492445,785227 7,851339 28,778816 1,72498 28,28261 13,6312264,957315 4,8415789 38,006402 2,5298404 20,625992 10,64265584,482994 2,0313477 47,51851 3,6296861 15,289197 8,856844296,145656 0,4447329 53,241295 4,8506515 11,683254 7,913824199,593663 0,0336555 54,959208 6,7358221 7,0436079 6,873807899,994139 0 55,165055 9,0742152 4,646858 7,0893552
100 0 55,168289 12,891442 1,4063176 7,7424639100 0 55,168289 17,980425 0,5817587 10,180305100 0 55,168289 74,267909 0 40,972334
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
66,920627 89,487475 99,095509 59,7697 54,214773 92,148661 98,27502 71,71739 35,042685 95,158421 97,47016 79,374008 15,517006 97,968652 96,370314 84,710803 3,8543437 99,555267 95,149348 88,316746 0,4063373 99,966345 93,264178 92,956392 0,0058606 100 90,925785 95,353142
0 100 87,108558 98,593682 0 100 82,019575 99,418241 0 100 25,732091 100
56
Figura 49.
seline High SNR VAD on line
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
1‐FR
R%
1‐FAR%
ROC VADonHOS VS Baseline SNR 20dB (Restaurant )
VADonHOS
Baseline
VAD Ba HOS & EM On(1‐FR (1‐FRR)% R)% R)% (1‐FAR)% (1‐FA68,05 8341 98,6715 87581136 87,08471561 896 60,1654,64 0609 97,3304 60368365 91,67027261 8116 73,5635, 981 96,0645 1452952565 95,12236165 8419 81,22
15,60003126 97,95422857 94 481568 86,51 7074,41 133,863134658 99,55646906 92 89,83,73769755 3645850,409267616 99,96634454 90 93,21567134 94,00 27370,005860634 100 87,357635 38968243 96,05
0 100 82,907460 12409359 98,810 100 77,3603 4399737039 99,510 100 21,5290 103944 0
57
High SNR Averaged V
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
1‐FR
R%
1‐FAR%
ROC VADonHOS VS Baseline 15<SNR<20dB High SNR (restaurant)
VADonHOS
Baseline
Figura 50.
VAD Baseline
Low and
AD on HOS & EM Online (1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)% 82,97029961 47,52271744 98,90145669 31,2114364569,99615803 61,96131224 90,7187091 62,652851949,03266978 76,78614356 81,6034695 78,1355674224,7738772 89,40814462 75,13821329 86,28099107
7,633150351 96,90009135 69,61651917 90,928249761,16463823 99,49556 687 64,36050714 94,770982580,07944415 99,958331 133 59,28226767 96,809141470,00227913 99,99559 98,739525 274 53,64433765 273
0 100 47,49783482 99,431062390 100 9,845214141 99,99919868
58
Figura 51.
3.2.2 Rumore di tipo street
ito vengono riportati i dati e i grafici delle curve ROC tracciate relative al
Test B rumore N2 di tipo street. VAD e SNR ‐5dB VAD on HOS & EM Online
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR mediato tra 20 e ‐5 dB Low and High SNR Averaged (Restaurant )
VADonHOS
Baseline
Di segu
BaselinFRR FAR% GER% FRR% FAR% GER% %
0,1164745 99,421392 44,511429 0 99,995277 44,7035842,1480944 93,734502 43,092435 1,2793096 97,770588 44,41640714,847629 75,249746 41,850816 50,549912 33,474246 42,91611745,959673 41,893583 44,141899 64,213702 20,402428 44,62756780,390285 14,165269 50,783931 72,34591 13,482748 46,03072496,847552 2,1 54,50879 9,1845169 47,304017420306 78,12380799,555106 0,1 ,5499138 48,385155912949 55,133823 83,017643 599,984725 0,0 ,1268451 49,590878047233 55,287969 87,15726 3
100 7 ,3957443 51,0288760 55,294304 91,15 489 1100 0 55,1021490 55,294304 99,652486
(1‐FRR)% (1‐FAR)% % (1‐FRR)% (1‐FAR)
99,883526 0, ,0047233 578608 100 097,851906 6,2 ,2294122 654984 98,72069 285,152371 24,75 00 6,525754 0254 49,45 88 654,040327 58,106417 9,597572 35,786298 719,609715 85,834731 65 6,517252 27, 409 83,1524479 97,857969 21,876193 90,815483 0,4448942 99,808705 16,982357 94,450086 0,0152753 99,995277 12,84274 96,873155
0 100 8,8425113 98,604256 0 100 0,3475139 100
59
igura 52.
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR ‐05dB (street)
VADonHOS
Baseline
F
VAD Baseline SNR 0dB VAD on HOS & EM Online FRR% FAR% GER% FRR% FAR% GER%
2,4631482 92,520606 42,723961 0 99,948043 44,68246812,663255 72,380323 39,360186 31,492019 35,058924 33,08662838,289544 39,260326 38,723539 44,590621 19,960796 33,57968671,616513 13,10252 45,457425 53,186817 12,672697 35,07469892,795769 2,4726637 52,416196 59,760941 8,343764 36,77453499,198045 0,2078266 54,943779 65,462461 4,9524124 38,41102399,980906 0,0094467 55,287969 70,474681 2,9615285 40,292456
100 0 55,294304 75,448713 1,4217226 42,354432100 0 55,294304 80,231803 0,5549914 44,61173100 0 55,294304 97,752616 0 54,051629
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
97,536852 7,4793945 100 0,0519566 87,336745 27,619677 68,507981 64,941076 61,710456 60,739674 55,409379 80,039204 28,383487 86,89748 46,813183 87,327303 7,2042313 97,527336 40,239059 91,656236 0,8019552 99,792173 34,537539 95,047588 0,0190942 99,990553 29,525319 97,038472
0 100 24,551287 98,578277 0 100 19,768197 99,445009 0 100 2,2473841 100
60
Figura 53.
VAD Baseline SNR 5dB VAD on HOS & EM Online
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 0dB (street)
VADonHOS
Baseline
FRR% FAR% GER% GER% FRR% FAR% 10,284121 68,68904 6,394446 ,6603529 0,173819 37,866233 3 829,466127 37,363909 32,996885 23,029481 24,913209 23,87161556,201787 13,622086 37,166236 29,681891 17,263774 24,13028681,251432 3,5212432 46,50161 35,952417 11,335994 24,94747495,682808 0,628203 53,187985 40,861529 8,1194058 26,22393599,579928 0,0330633 55,076809 46,280455 4,7516709 27,71472399,996181 0 55,292192 51,21248 2,8883168 29,608826
100 0 55,294304 56,927366 1,383936 32,096289100 0 55,294304 62,869472 0,6022247 35,032466100 0 55,294304 92,952341 0 51,39735
(1‐FRR)% (1‐FAR)% ‐FRR)% ‐FAR)% (1 (1
89,715879 31096 9647 6181 31, 96,33 19,8270,533873 62,636091 76,970519 75,086791 43,798213 86,377914 70,318109 82,736226 18,748568 96,478757 64,047583 88,664006 4,3171924 99,371797 59,138471 91,880594 0,4200718 99,966937 53,719545 95,248329 0,0038188 100 48,78752 97,111683
0 100 43,072634 98,616064 0 100 37,130528 99,397775 0 100 7,0476591 100
61
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 5dB (street)
VADonHOS
Baseline
Figura 54.
VAD Baseline SNR 10dB VAD on HOS & EM Online FRR% FAR% GER% FRR% FAR% GER%
23,241427 3 25,554873 28,746239 23,241427 35,554873 8,74623941,140304 15,041447 29,472628 41,140304 15,041447 29,47262862,663255 5,873462 37,274983 62,663255 5,873462 37,27498383,897884 2,2246889 47,385314 83,897884 2,2246889 47,38531496,335828 0,4865031 53,48572 96,335828 0,4865031 53,4857299,663943 0,0259783 55,120097 99,663943 0,0259783 55,120097
100 0 55,294304 100 0 55,294304100 0 55,294304 100 0 55,294304100 0 55,294304 100 0 55,294304100 0 55,294304 100 0 55,294304
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
76,758573 64,445127 76,758573 64,445127 58,859696 84,958553 58,859696 84,958553 37,336745 94,126538 37,336745 94,126538 16,102116 97,775311 16,102116 97,775311 3,6641717 99,513497 3,6641717 99,513497 0,3360574 99,974022 0,3360574 99,974022
0 100 0 100 0 100 0 100 0 100 0 100 0 100 0 100
62
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS baseline SNR 10dB (street)
VADonHOS
Baseline
Figura 55.
e Low SNR VAD on HOS lineVAD Baselin & EM On
(1‐FRR)% (1‐FRR)% R)% (1‐FAR)% (1‐FA90,97 0732 97,51107462 64494737 25,95352242 20,3778,64 5488 82,64817078 79942455 45,36995489 55,5056,99 4627 64,37409303 36818494 66,49859481 78,7029,31 2446 56,11156725 5517886 84,81449118 86,528,698827618 95,56184021 50 433209 90,82 7766,21 191,177633086 99,39777531 44,77201558 94,317832940,116951806 99,94981461 39,9125 7208044869 96,530,003818834 99,99881917 34,7260 546796941 98,29
0 100 29,4432 3197461393 99,270 100 5,43229 102064 0
63
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline 5<SNR<10dB Low SNR(Street)
VADonHOS
Baseline
Figura 56.
VAD Baseline SNR 15 VAD on HOS & EM Online dBFRR% FAR% GER% FRR% FAR% GER%
30,716795 15,211487 23,785039 3,1925456 36,289351 17,98870344,521882 8,6106322 28,467508 5,9478347 24,466854 14,22689164,198427 5,096474 37,776487 8,086382 17,856552 12,45420584,610097 2,1018822 47,724225 10,557168 13,095435 11,69191896,500038 0,4 53,57124 10,06778 11,605342746948 12,84846999,675399 0,0 6,13 6,2040951 11,694029259783 55,126432 1 2666
100 ,3903361 12,6917590 55,294304 19,403498 4100 ,9672673 14,2099980 55,294304 24,108302 1100 ,9257729 16,8167660 55,294304 29,664706 0100 7 0 42,5972650 55,294304 77,03 348
(1‐FRR)% (1‐FAR)% % (1‐FRR)% (1‐FAR)
69,283205 84, 3,710649 788513 96,807454 655,478118 91, 5,533146 389368 94,052165 735,801573 94,903526 2,143448 91,913618 815,389903 97,898118 2832 6,904565 89,44 83,4999618 99,525305 87,151531 89,93222 0,3246009 99,974022 83,867334 93,795905
0 100 80,596502 95,609664 0 100 75,891698 98,032733 0 100 70,335294 99,074227 0 100 22,962652 100
64
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 15dB (street)
VADonHOS
Baseline
Figura 57.
VAD Baseline SNR 20dB VAD on HOS & EM Online FRR% FAR% GER% FRR% FAR% GER%
33,017643 10,736131 23,056538 1,6440082 35,084902 16,59399345,476591 8,0981508 28,766299 2,8240281 26,129466 13,24288764,64714 4 3,9949224 37,979201 ,8512946 19,882861 11,018318
84,799129 2,0877123 47,822415 5,2088902 15,431122 9,778810196,549683 0,4676098 5 13,595523 6,5588482 2,320809 9,134772799,690674 0,0236167 55,133823 8,7069426 7,9163026 8,3534815
100 0 55,294304 10,860765 5,6184021 8,5171303100 0 55,294304 14,463836 2,3569421 9,0513646100 0 55,294304 19,115176 0,9352195 10,9877100 0 55,294304 69,399679 0 38,37407
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
66,982357 89,263869 98,355992 64,915098 54,523409 91,901849 97,175972 73,870534 35,35286 95,005078 96,148705 80,117139
15,200871 97,912288 94,79111 84,568878 3,450317 99,53239 93,441152 87,679191
0,3093256 99,976383 91,293057 92,083697 0 100 89,139235 94,381598 0 100 85,536164 97,643058 0 100 80,884824 99,06478 0 100 30,600321 100
65
Figura 58.
VAD Baseline High SNR VAD on HOS & EM Online
0102030405060708090
100
0 50 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 20dB rumore Street
VADonHOS
Baseline
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)% 68,13278088 87,02619087 97,58172306 64,3128734455,00076377 91,64560848 95,61406859 74,7018397435,57721683 94,95430177 94,03116169 81,1302930815,29538685 97,90520275 92,1169709 85,736721543,475139387 99,52884774 90,29634156 88,805705780,316963263 99,97520251 87,58019552 92,93980115
0 100 84,86786833 94,995630920 100 80,71393111 97,837895280 100 75,61005881 99,069503810 100 26,78148629 100
Figura 59.
0
10
20
30
40
50
60
50
(FR
R)%
(1‐FAR)%
ROC VADonHOS V line R rumore Str
70
80
90
100
0 100
1‐
S Base 15<SNR<20dB HighSN eet
VADonHOS
Baseline
66
VAD Baseline
Low and High SNR Averaged VAD on HOS & EM Online
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%83,36006517 46,31107857 97,5346241 35,0219241370,76395784 60,79517276 86,97013671 61,9059427449,85870312 75,98383046 74,25978258 79,5125522524,64421192 89,1780617 68,11336847 86,262585716,957598208 96,88417605 63,57500191 90,149887030,890743145 99,59025105 59,0414089 93,858489010,077967871 99,96654307 54,89765524 96,0233490,00254589 99,99921278 50,0553731 98,14294374
0 100 44,83216222 99,205299580 100 12,54869014 100
Figura 60.
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR mediato tra 20 e ‐5 dB Low and High SNR Av (eraged rumore street)
VADonHOS
Baseline
67
3.3 Risultati ottenuti in MATLAB per il Test C
3.3.1 Rumore d
Di seguito veng a i grafic rve ROC tracciate relative al
Test C rumore N2 di tipo street.
VAD Baseline SNR ‐5dB VAD on HOS & EM Online
i tipo street
ono riport ti i dati e i delle cu
FRR% FAR% GER% FRR% FAR% GER% 2,0802988 96,010364 43,193011 0 99,995202 43,76739212,436975 81,064223 42,474772 0,7226891 98,730897 43,62038439,239963 51,032795 44,401625 50,190476 35,321354 43,68233773,943978 21,694696 51,074732 68,769374 17,052515 46,13316894,590103 5,1651753 55,449267 77,587302 9,2963558 47,69670299,383754 0,6981263 56,189556 82,86648 5,5730154 49,03552399,947712 0,0455821 56,221058 87,157796 2,8500828 50,256739
100 0 56,230508 90,621849 1,408248 51,573509100 0 56,230508 93,712418 0,5086006 52,917581100 0 56,230508 99,647059 0 56,032048
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
97,919701 3,9896361 100 0,0047981 87,563025 18,935777 99,277311 1,2691025 60,760037 48,967205 49,809524 64,678646 26,056022 78,305304 31,230626 82,947485 5,4098973 94,834825 22,412698 90,703644 0,6162465 99,301874 17,13352 94,426985 0,0522876 99,954418 12,842204 97,149917
0 100 9,3781513 98,591752 0 100 6,2875817 99,491399 0 100 0,3529412 100
68
0
10
20
30
40
Figu
SNR 0dB
ra 61.
VAD Baseline VAD on HOS & EM Online FRR% FAR% GER% FRR% FAR% ER% G
11,200747 78,305304 40,572071 43,6770870,0672269 99,702517 35,312792 48,185111 40,946941 34,56364934,001867 35,285368 67,779645 19,134899 46,488087 36,13243352,717087 14,826188 91,170868 4,2823213 53,140193 38,1327961,329599 8,3319339 98,819795 0,4582204 55,767434 40,10794667,432306 5,0044383 99,908497 0,0119953 56,184306 41,98439672,453782 2,8404865 99,99813 56,229458 43,8713473 0 76,745098 1,6385577
10 56,230508 45,788750 0 80,840336 0,7581028 10 56,230508 0,33346 47,8647110 0 84,862745 93 100 0 56,230508 98,315593 0 55,283358
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
88,799253 21,694696 99,932773 0,2974834 64,687208 51,814889 65,998133 64,714632 32,220355 80,865101 47,282913 85,173812 8,8291317 95,717679 38,670401 91,668066 1,1802054 99,54178 32,567694 94,995562 0,0915033 99,988005 27,546218 97,159513 0,0018674 100 23,254902 98,361442
0 100 19,159664 99,241897 0 100 15,137255 99,666531 0 100 1,6844071 100
50
60
FRR)%
70
80
90
0 0 4 60 80 0
(1‐
FAR)%
ROC VADonHOS VS Baseline SNR ‐05dB (street)
100
VADonHOS
Baseline
2 0 10
(1‐
69
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 0dB (street)
VADonHOS
Baseline
Figura 62.
VAD Baseline SNR 5dB VAD on HOS & EM Online FRR% FAR% GER% FRR% FAR% GER%
29,012138 45,359019 36,167085 1,2530345 94,647698 42,13140456,943044 18,482355 40,108996 32,011204 17,817815 25,7988382,054155 4,8556966 48,264782 40,351074 10,210398 27,15865395,908497 0,7653 54,264803 46,773109 5,9688602 28,91329799,497666 0,0719718 55,979545 51,734827 3,9248615 30,80864899,99253 0 56,226308 56,840336 2,0320035 32,851008
100 0 56,230508 61,340803 1,168342 35,003623100 0 56,230508 66,468721 0,4078401 37,554209100 0 56,230508 71,507003 0,1895257 40,291706100 0 56,230508 94,644258 0 53,218947
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
70,987862 54,640981 98,746965 5,3523019 43,056956 81,517645 67,988796 82,182185 17,945845 95,144303 59,648926 89,789602 4,0915033 99,2347 53,226891 94,03114 0,5023343 99,928028 48,265173 96,075139 0,0074697 100 43,159664 97,967997
0 100 38,659197 98,831658 0 100 33,531279 99,59216 0 100 28,492997 99,810474 0 100 5,3557423 100
70
Figura 63.
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 5dB (street)
VADonHOS
Baseline
VAD Baseline SNR 10dB VAD on HOS & EM Online FRR% FAR% GER% FRR% FAR% GER%
43,028945 18,993355 32,508689 9,4677871 38,740014 22,28009266,461251 6,0552264 40,021841 21,273576 15,284409 18,65214885,78338 1,7849003 49,017672 26,881419 10,231989 19,59404896,59944 0,3310702 54,463264 32,125117 6,5470336 20,92972
99,611578 0,0215915 56,021547 36,571429 4,9228702 22,71901599,99253 0 56,226308 41,55929 2,619773 24,515662
100 0 56,230508 46,110177 1,7417172 26,690328100 0 56,230508 51,736695 0,5397884 29,328069100 0 56,230508 57,555556 0,239906 32,468787100 0 56,230508 90,270775 0 50,759716
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
56,971055 81,006645 90,532213 61,259986 33,538749 93,944774 78,726424 84,715591 14,21662 98,2151 73,118581 89,768011
3,4005602 9 99,66893 67,874883 3,452966 0,388422 99,978408 63,428571 95,07713
0,0074697 100 58,44071 97,380227 0 100 53,889823 98,258283 0 100 48,263305 99,460212 0 100 42,444444 99,760094 0 100 9,729225 100
71
seline Low SNR VAD on line
‐10
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS baseline SNR 10dB (street)
VADonHOS
Baseline
Figura 64.
VAD Ba HOS & EM On(1‐FRR)% (1‐FRR)% R)% (1‐FAR)% (1‐FA78,66946779 97,3029 86423740,33298947 8786 16,7257,21148459 77,9976 03776161,55327112 6573 58,2231,28571429 21 57,464985 25178180,797927 99 82,3510,59 0439 47,7507 49142343 93,23165319 0028 90,521,870 4753 26 41,668534 28685621 98,570760 08 94,210,180 2269 59 36,570028 3680467 99,822469 01 96,730,013 8749 32,1615 03250753 99,98860447 3128 98,15
0 0 27 5830 15051710 , 9991 99,220 100 23 99,68,09056956 2124610 100 4,280578898 100
72
VAD Baseline SNR 15 VAD on HOS & EM Online
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline ‐5<SNR<10dB Low SNR (street)
VADonHOS
Baseline
Figura 65. dB
FRR% FAR% GER% FRR% FAR% GER% 49,626517 8,8 1,788351 31,30053 16,870203717223 3 5,637721869,271709 4,1 0,37 18,871003 14,092804719646 40,777882 1 348386,804855 1, 3,727419 13,706383489816 49,462896 13,690009 196,836601 0 ,8433414 13,943696,28069 54,57457 17,135387 999,619048 0,0 7,571432 14,75854215915 56,025747 20,35294199,996265 ,1239834 15,5754830 56,228408 24,489262 4
100 ,8092988 17,1390170 56,230508 28,293184 2100 6 ,0196003 19,3829870 56,230508 33,67 937 1100 ,4150373 22,5289550 56,230508 39,742297 0100 0 56,23050 0 46,3400298 82,410831
(1‐FRR)% (1‐FAR)% (1 % (1‐FRR)% ‐FAR)
50,373483 91,128278 94,362278 68,69947 30,728291 95,828035 89,626517 81,128997 13,195145 98,510184 86,309991 86,272581 3,1633987 99,71931 82,864613 90,156659 0,3809524 99,978408 79,647059 92,428568 0,0037348 100 75,510738 95,876017
0 100 71,706816 97,190701 0 100 66,323063 98,9804 0 100 60,257703 99,584963 0 100 17,589169 100
73
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 15dB (street)
VADonHOS
Baseline
Figura 66.
VAD Baseline SNR 20dB VAD on HOS & EM Online FRR% FAR% GER% FRR% FAR% GER%
51,277311 7,0700285 31,928008 2,4743231 32,286544 15,5229869,908497 3,8864765 41,010994 4,5284781 23,155723 12,68152887,042017 1,4562292 49,581553 6,2091503 17,206055 11,0224496,887021 0, 52734928 4,599771 8,1232493 13,31718 10,39660699,633987 0,0191925 56,033098 9,9831933 10,43351 10,18029599,996265 0 56,228408 12,832866 6,3407144 9,9912845
100 0 56,230508 15,74043 4,4958376 10,818729100 0 56,230508 20,220355 1,6001727 12,070396100 0 56,230508 25,383754 0,5541828 14,515977100 0 56,230508 72,885154 0 40,983693
(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)%
48,722689 92,929971 97,525677 67,713456 30,091503 96,113523 95,471522 76,844277 12,957983 98,543771 93,79085 82,793945 3,1129785 99,726507 91,876751 86,68282 0,3660131 99,980808 90,016807 89,56649 0,0037348 100 87,167134 93,659286
0 100 84,25957 95,504162 0 100 79,779645 98,399827 0 100 74,616246 99,445817 0 100 27,114846 100
74
VAD e High SNR VAD on HOS line
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline SNR 20dB (street)
VADonHOS
Baseline
Figura 67.
Baselin & EM On(1‐FR (1‐FRR)% R)% R)% (1‐FAR)% (1‐FA49, 859 95,9439 6463075480 92,02912458 7759 68,20
30,40 9729 92,5490 66372498 95,97077945 1961 78,9813,07 6396 90 0504 32629665 98,52697742 , 2017 84,533,138188609 99,72290862 87 068161 88,41 3946,37 970,373482726 99,97960799 84,83193277 90,997528970,003734827 100 81,3389 7651083557 94,76
0 100 77,9831 7431819328 96,340 100 73,051353 01134887 98,690 100 67,4369 5389977479 99,510 100 22,3520 1000747
75
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline High SNR 15<SNR<20 dB(street)
VADonHOS
Baseline
Figura 68.
line Averaged S &
VAD Base
Low and High SNR
VAD on HO EM Online(1‐FRR)% (1‐FAR)% (1‐FRR)% (1‐FAR)% 68,96234049 57,56503451 96,84998444 33,8879159448,27762216 73,0257739 82,84811702 65,1424641525,21599751 86,70761062 68,32679739 83,079432868,108932462 95,395405 60,95736072 89,823189311,371304077 99,04037617 56,05633364 93,141088690,12169312 99,881642 639 51,4929972 96,078337290,00902583 99,992403 298 47,43541861 97,54936065
0 100 42,73918456 99,044374610 100 37,87270464 99,626546390 100 10,30438842 100
76
Figura 69.
3.3 Risultati mediati tra i rumori street e restaurant
Vengono riportati di seguito i dati rve ROC ottenute mediando i risultati
ottenuti dal Test B p e r t SNR averaged. w and h SNR eraged VAD
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
1‐FR
R%
1‐FAR%
ROC VADonHOS VS Baseline SNR mediato tra 20 e ‐5 dB Low and High SNR Averaged (street)
VADonHOS
Baseline
e le cu
estauraner i rumori street per High and Low
VAD Baseline
LoHigAv on HOS & EM Online
(1‐FRR)% (1‐F (1‐FAR)% RR)% (1‐FAR)%83,165182 46,916898 98,21804 33,1166870,380058 61,378243 88,844423 62,27939749,445686 76,384987 77,931626 78,8240624,709045 9,2931038 71,625791 86,2717887,2953743 6,8921349 66,595761 90,5390681,0276907 99,54291 94,31461,700958 7360,078706 99,962437 57,089961 96,416245
0,0024125 99,997403 51,849855 98,4412330 100 46,164999 99,3181810 100 11,196952 99,999599
77
Figura 70.
lle
ottime prestazioni rispetto al baseline (energy VAD).
E' possibile notare che per tutti i tipi di rumore in tutti grafici a SNR pari a -5dB per
bassi valori di sogl a sinistra , sull'energia va meglio
dell'algoritmo di stu pena la sog e au c'è l'inversione di
tendenza.
Come si vede da curva ROC AD sulle Statistiche di
Ordine Superiore e r Online, è de Baseline questo è
0
10
20
30
40
50
60
70
80
90
100
0 20 40 60 80 100
(1‐FRR
)%
(1‐FAR)%
ROC VADonHOS VS Baseline High and LOW SNR Averaged (Street and Restaurant ‐ TestB)
VADonHOS
Baseline
In tutte le curve tracciate è possibile constatare che l'algoritmo di studio ha de
Si vuole ricordare che le soglie di valore basso corrispondono ai punti in alto a
sinistra; man mano che le soglie aumentano i punti si spostano in basso a destra.
ia(punti in alto ) l'algoritmo basato
dio, anche se ap lia vien mentata
lla Figura 70, la del V basato
sull'algo itmo EM migliore lla curva
78
79
confermato ricordando anche che la lontananza dalla diagonale, che congiunge i punti
(100,0; 0,100), indica la miglior qualità del classificatore binario.
Capitolo 4
Conclusioni
Sono stati realizzati due algoritmi per studiare le prestazioni del VAD basato sulle
Statistiche di Ordine Superiore e sull'EM Online. E' stato fatto un confronto con un
semplice algoritmo basato sull'energia. I dati sono stati prodotti attraverso il
processamento e l'uso del database audio AURORA. Sono stati generati i grafici per
diversi tipi di rumore a diversi SNR.
Si sono prodotti i grafici mediati su tutto il range di SNR per i rumori street e
restaurant del TestB del database, ottenendo il grafico di Figura 70 che può fornire un
riscontro sulle prestazioni dell'algoritmo studiato nell'articolo[1]. Esso viene messo a
confronto con un VAD basato sull'energia.
Bisogna però fare delle considerazioni: i database usati sono differenti dato che uno è
in lingua inglese l'altro in lingua giapponese; lo studio proposto dall'articolo si basa,
oltre che al database CENSREC, anche su un set di dati autoprodotti con le medesime
condizioni di livello di rumore e con entrambi gli ambienti di rumore (street e
restaurant), ma con una condizione di sparsity, ovvero fra un enunciazione e l'altra c'era
diverso tempo di pausa, o meglio il parlato rispetto al non parlato era meno frequente;
questa è una condizione molto favorevole per l'algoritmo basato sulle HOS rispetto a
quello che si basa sull'energia(come si è visto nella tesina a cui ci si riferisce per questo
lavoro).
Volendo fare un confronto sommario tra i due studi possiamo mettere a confronto la
Figura 70 e la Figura 71.
CENSREC e di dati autoprodotti. Confronto tra Superiore e sull 'EM Online contro l'algoritmo VAD basato
sul
a baseline è sotto alla curva baseline
dell'
la
Figura 71. Curve tracciate attraverso l'uso del database l'algoritmo basato sulle Statistiche di Ordine
l'energia. ROC proposta dall' articolo[1]
Si può notare nella Figura 70 il punto (60,70) facente parte della curva baseline, se lo
portiamo nella Figura 71 notiamo che la curv
articolo di riferimento, sovrapponendo i grafici di Figura 70 e di Figura 71 si ottiene
Figura 72. Dato che anche nell'articolo si usa come baseline un VAD basato
sull'energia si potrebbe pensare, in un lavoro futuro, di provare l'algoritmo
implementato nella tesina di riferimento con un set di dati sparsity, questo potrebbe
portare un miglioramento delle prestazioni superiore.
Per ora dalle curve si evince che l'algoritmo implementato nella tesina di riferimento
si avvicina alla curva ROC della figura, nella parte in alto a sinistra, cioè per bassi valori
di soglia, mentre è migliore nella parte in basso a destra, ovvero per alti valori di soglia.
81
82
Figura 72. Sovrapposizione dei grafici di figura 70 e 71.
Appendice
Listati dell’algoritmo
Vengono riportate le implementazioni scritte in codice MATLAB degli algoritmi
usati per ricavare i dati per provare le prestazioni del VAD basato sulle statistiche di
ordine superiore e sul'algoritmo EM Online.
A. Listati in MATLAB
tatVADblmod_aut.m %esegue una statistica di frame persi rispetto ad un file (senza rumore) %a cui è stato%applicato il VAD function [Framerightperc,FARperc,FRRperc,GERperc]=StatVADblmod_aut(file1,file2) %file2 è il file con meno rumore %%%%%%da matlab lanciare %%%%%%>>[Framerightperc,FARperc,FRRperc,GERperc]=StatVADblmod_aut(file1,file2); %inizializzo due variabili frames1 e frames2 che tengano conto del numero %di frames riconosciuti come parlato Framerightperc=zeros(1,10); %frames corretti FRRperc=zeros(1,10); %percentuale frames parlato persi FARperc=zeros(1,10); % percentuale frames di parlato non correttamente rilevati GERperc=zeros(1,10);%percentuale di errore globale [campioni2,Fs] = leggiwave(file2); %file è il file wave da elaborare x2=[zeros(128,1);campioni2];%aggiunti 128 zeri all'inizio per congruenza con il Nu-Tech %stampa delle informazioni sul file wave fprintf('La frequenza di campionamento del segnale è %gHz\n',Fs); fprintf('Il file2 è lungo %g campioni e dura %g secondi\n',length(x2),length(x2)/Fs); %Si devono analizzare trame di 256 campioni con un overlap del 50%, %quindi bisogna iterare per un numero di volte pari alla lunghezza di x %diviso 128 campioni meno uno
S
%(meno uno perché ogni finestra, la trama, è compresa tra due valori dei puntatori %che indicano l'iterazione). Num_iterazioni = fix(length(x2)/128) - 1; %la funzione fix restituisce il numero
%intero approssimato per difetto i eseguite sono %d\n',Num_iterazioni); untatore che permette di prendere le trame da analizzare
%%%%%%%calcolo prima il VAD di riferimento sul file2(senza rumore clean) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%Inizializzazione dei parametri per l'algoritmo EM online%%%%%%%%%
ono lato. ngono indicati
essere uguali %tra loro altrimenti l'algoritmo non separerebbe i due andamenti. alpha=0.9; %compreso tra 0.5 e 1, parametro che agisce sulla funzione gamma_t=(n+1)^(-alpha)
_p=[0.05,0.8]; %"mu" identifica la media della gaussiana riance_p=[0.155,1.9]; %"variance" identifica la varianza della gaussiana t_p=[0.02,0.48]; %"X_t" corrisponde a X circonflesso di t (stima di fx) i_p=[0.4,0.6]; %"chi" corrisponde al simbolo greco chi
%"X_t" corrisponde alla stima di fx al quadrato soglia=0.9; %soglia di probabilità per la decisione %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%(versione modificata dell'algoritmo originale) f_x_p2=0; f_x_p1=0;
p2=[0,0]; p3=[0,0]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%Inizio iterazioni%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for
do p 50%)
zione %normalizzata del residuo escluso il picco
la varianza del residuo rtosi del residuo prendendo anche
dia e la sua varianza iorata
gamma_t = (n+1)^(-alpha); %calcola gamma_t
q
o)
fprintf('Il numero di iterazionpunt=1; %inizializzazione del p
%I parametri sono vettori di due elementi perchè corrispond%ai due valori che identificano le classi parlato e non par%I parametri che si riferiscono all'iterzione precedende ve%con il suffisso "_p". %N.B.: le due medie e le due varianze iniziali non possono
muvaX_chX_t_quadro_p=[0.0645,1.78];
vad2=ones(1,Num_iterazioni); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Inizializzazione vettori e parametri per la decisione
f_x_p=0; f_x_pstamp=zeros(1,Num_iterazioni); p1=[0,0];
n=1:Num_iterazioni [x256,punt] = trama(x2,punt); %prepara la trama da 256 campioni saltan
%alla successiva dopo 128 campioni (overla e = res_lpc(x256); %calcola il residuo lpc della trama n-esima
ing(e); %estrae il picco massimo dell'autocorrela [ac_causale,peak] = peak_pick
%per ritardo zero colo m_x = peak; %copia il valore del picco nella notazione usata nell'arti
dia del residuo expt = my_expt(e); %calcola la me v = my_variance(e,expt); %calcola
k_x = my_kurtosis(e,expt,v); %calcola la ku % in ingresso la sua me f_x = m_x*log(1 + k_x); %calcola la caratteristica(feature): una kurtosi migl
%%%%%%%%%%%%%%%%%%%%%%%%%%%Calcolo parametri%%%%%%%%%%%%%%%%%%%%%%%%%%%
ogni classe(parlato/non parlato) %si ottengono i parametri stimati per [X_t,chi,mu,X_t_quadro,variance]=em_online(f_x,mu_p,variance_p,X_t_p,gamma_t,chi_p,X_t_
dro_p); ua %viene salvato ogni parametro su due vettori(classi parlato/non parlat
e i valori di ogni iterazione %per stampare e/o graficar
84
%%%%%%%%%Filtraggio IIR del 3° ordine della caratteristica fx%%%%%%%%% f_x_p1=(f_x_p2+f_x_p1)/2; f_x_p2=f_x_p1; f_x_p=(f_x_p1+f_x_p)/2;
f_x_p1=f_x_p; f_x_p=(f_x_p+f_x)/2; %caratteristica migliorata fxp per la decisione f_x_pstamp(n)=f_x_p; %stampa della fxp necessaria per la visualizzazio
ne
a);
e%%%%%%%%
mpioni1,Fs] = leggiwave(file1); %file è il file wave da elaborare
l file wave
%%%%%%%%%%%%%%%%%%%%%%%%%%
atori per ogni ciclo
rlatopersi=0; nparlatot=0;
numero
e da
ni%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
alla 0%)
i=1:256
%%%%%%%%%%%%%%%%%%%%%Decisione della classe:il VAD%%%%%%%%%%%%%%%%%%%%% [prob,p1,p2,p3,sommap,vad2(n)]=decisione(f_x_p,p1,p2,p3,mu,variance,sogli %%%%%%%%%Aggiornamento dei parametri per la prossima iterazion for c=1:2
); X_t_p(c) = X_t(c chi_p(c) = chi(c); mu_p(c) = mu(c); X_t_quadro_p(c) = X_t_quadro(c); variance_p(c) = variance(c); end end %%%%%%%%%%%% fine del VAD calcolato sul riferimento file2 %%%%%%%%%calcolo del VAD sul file con aggiunto rumore a diverse soglie [cax1=[zeros(128,1);campioni1]; %aggiunti 128 zeri all'inizio per congruenza con il Nu-Tech
ampa delle informazioni su%stfprintf('La frequenza di campionamento del segnale è %gHz\n',Fs);
intf('Il file1 è lungo %g campioni e dura %g secondi\n',length(x1),length(x1)/Fs); fpr %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for k=1:10 framecorretti=0; %azzero i cont
nparlatosbag=0; frameno framepa frameno frameparlatot=0; Num_iterazioni = fix(length(x1)/128) - 1; %la funzione fix restituisce il
%intero approssimato per difetto fprintf('Il numero di iterazioni eseguite sono %d\n',Num_iterazioni);
zione del puntatore che permette di prendere le tram punt=1; %inizializzaanalizzare soglia=-100+10*(k-1); %%%%vario la soglia ad ogni ciclo %Inizializzazione dei vettori necessari a salvare i valori dei parametri % tra le iterazioni per stampare e/o graficare i risultati vad1=ones(1,Num_iterazioni); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %VAD baseline
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%Inizio iterazio
r n=1:Num_iterazioni fo [x256,punt] = trama(x1,punt); %prepara la trama da 256 campioni saltando % successiva dopo 128 campioni (overlap 5 sum=0; for sum=sum+x256(i)^2; end
frame POW=10*log((1/256)*sum); %%%%%% calcolo l'energia del
85
:il VAD basato sull'energia baseline%%%%%%%%%%%%
iterazione (per ogni livello di soglia)
i riferimento =1:length(vad1)
parlato
1 parlato
es non parlato
t=frameparlatot+1; %conta frames parlato
1 diff/num di 1 vad riferim
evati
num di 0 vad rif metotali);%percentuale di
%%%%%Decisione della classe if n==1 || POW<soglia vad1(n)=0; elseif POW>soglia || vad1(n-1)==1 vad1(n)=1; end
end %%%%fine VAD baseline %%%%%%% calcolo la statistica ad ogni stats=vad2-vad1; %il 2 è il file d for i if stats(i)==0 framecorretti=framecorretti+1;%(numero di 0)
end if stats(i)==-1%(numero di -1) (per FAR) framenonparlatosbag=framenonparlatosbag+1;%frames di non
%rilevati come parlato(frames di parlato non %rilevati correttamente) end if stats(i)==1%(numero di 1) (per FRR)
latopersi+1; frameparlatopersi=framepar end end frametotali=length(vad2); %conta frames totali riferimento 0 non parlato, for i=1:length(vad2) if vad2(i)==0 framenonparlatot=framenonparlatot+1; %conta fram else if vad2(i)==1
o frameparlat end end end
e %%%%%%% accumulo i dati in vettori da poter stampare e salvare alla findell'esecuzione Framerightperc(k)=100*(framecorretti/frametotali); %frames corretti FRRperc(k)=100*(frameparlatopersi/frameparlatot); %percentuale frames parlato persi % num di FARperc(k)=100*(framenonparlatosbag/framenonparlatot); % percentuale frames di %parlato non correttamente ril %num di -1 diff/
persi+framenonparlatosbag)/fra GERperc(k)=100*((frameparlato % errore globale end %%%%%%%% trasformo i vettori da riga in colonna per comodità di lettura FARperc=FARperc'; Framerightperc=Framerightperc'; FRRperc=FRRperc'; GERperc=GERperc'; end
86
StatVADblmod_aut.m spetto ad un file (senza rumore)
tperc,FARperc,FRRperc,GERperc]=StatVADhos_aut(file1,file2) il file con meno rumore
a matlav lanciare >>[Framerightperc,FARperc,FRRperc,GERperc]=StatVADhos_aut(file1,file2);
zzo due variabili frames1 e frames2 che tengano conto del numero es riconosciuti come parlato
,9); %frames corretti
per congruenza con il Nu-Tech
);
ezza di x diviso
a due valori dei puntatori
ni = fix(length(x2)/128) - 1; %la funzione fix restituisce il numero %intero approssimato per difetto
o
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% nizializzazione dei parametri per l'algoritmo EM online%%%%%%%%%
tri sono vettori di due elementi perchè corrispondono ai due valori che
il
uadro_p=[0.0645,1.78]; %"X_t" corrisponde alla stima di fx al quadrato ia=0.9; %soglia di probabilità per la decisione
%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
izializzazione vettori e parametri per la decisione ersione modificata dell'algoritmo originale) _p2=0; _p1=0; p=0; stamp=zeros(1,Num_iterazioni);
%esegue una statistica di frame persi ricato il VAD %a cui è stato appli
Framerighfunction [ %file2 è
d%%%%%%%%%%%%%iniziali
am%di fr
merightperc=zeros(1FraFRRperc=zeros(1,9); %percentuale frames parlato persi FARperc=zeros(1,9); % percentuale frames di parlato non correttamente rilevatiGERperc=zeros(1,9);%percentuale di errore globale [campioni2,Fs] = leggiwave(file2); %file è il file wave da elaborarex2=[zeros(128,1);campioni2]; %aggiunti 128 zeri all'inizio%stampa delle informazioni sul file wave fprintf('La frequenza di campionamento del segnale è %gHz\n',Fs); fprintf('Il file2 è lungo %g campioni e dura %g secondi\n',length(x2),length(x2)/Fs
50%, %Si devono analizzare trame di 256 campioni con un overlap del na iterare per un numero di volte pari alla lungh%quindi bisog
%128 campioni meno uno %(meno uno perché ogni finestra, la trama, è compresa tr
o l'iterazione). % che indicanzioNum_itera
fprintf('Il numero di iterazioni eseguite sono %d\n',Num_iterazioni); punt=1; %inizializzazione del puntatore che permette di prendere le trame da analizzare %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%calcolo prima il VAD di riferiment%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sul file2(senza rumore clean) %%%%inizio calcolo VAD basato sul file di riferimento
%%%%%%%%%%%%%%%%%I%%%%%%%%
%I parame%identificano le classi parlato e non parlato. %I parametri che si riferiscono all'iterzione precedende vengono indicati con% suffisso "_p". %N.B.: le due medie e le due varianze iniziali non possono essere uguali tra loro %altrimenti l'algoritmo non separerebbe i due andamenti. alpha=0.9; %compreso tra 0.5 e 1, parametro che agisce sulla funzione %gamma_t=(n+1)^(-alpha) mu_p=[0.05,0.8]; %"mu" identifica la media della gaussiana variance_p=[0.155,1.9]; %"variance" identifica la varianza della gaussiana X_t_p=[0.02,0.48]; %"X_t" corrisponde a X circonflesso di t (stima di fx)
p=[0.4,0.6]; %"chi" corrisponde al simbolo greco chi chi_X_t_q
lsog%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% vad2=ones(1,Num_iterazioni); %%%%%%%%%%%%%%%%%%% %In%(vf_xf_xf_x_f_x_p
87
p1=[0,0]; p2=[0,0]; p3=[0,0]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%Inizio iterazioni%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
do alla
la sua media e la sua varianza
gliorata
q
%%%%%%%%%%%%%%%%%%% ia);
obabilità
%aggiunti 128 zeri all'inizio per congruenza con il Nu-Tech file wave
,Fs); x1)/Fs);
%%%%%%%%%%%%%%%%%%%%%%%%%%
atori per ogni ciclo
for n=1:Num_iterazioni [x256,punt] = trama(x2,punt); %prepara la trama da 256 campioni saltan %successiva dopo 128 campioni (overlap 50%) e = res_lpc(x256); %calcola il residuo lpc della trama n-esima
ng(e); %estrae il picco massimo dell'autocorrelazione [ac_causale,peak] = peak_picki % normalizzata del residuo escluso il picco per ritardo zero m_x = peak; %copia il valore del picco nella notazione usata nell'articolo expt = my_expt(e); %calcola la media del residuo
la varianza del residuo v = my_variance(e,expt); %calcola k_x = my_kurtosis(e,expt,v); %calcola la kurtosi del residuo prendendo anche
% in ingresso f_x = m_x*log(1 + k_x); %calcola la caratteristica(feature): una kurtosi mi gamma_t = (n+1)^(-alpha); %calcola gamma_t %%%%%%%%%%%%%%%%%%%%%%%%%%%Calcolo parametri%%%%%%%%%%%%%%%%%%%%%%%%%%%
parlato) %si ottengono i parametri stimati per ogni classe(parlato/non [X_t,chi,mu,X_t_quadro,variance]=em_online(f_x,mu_p,variance_p,X_t_p,gamma_t,chi_p,X_t_uadro_p); %viene salvato ogni parametro su due vettori(classi parlato/non parlato)
ficare i valori di ogni iterazione %per stampare e/o gra %%%%%%%%%Filtraggio IIR del 3° ordine della caratteristica fx%%%%%%%%% f_x_p1=(f_x_p2+f_x_p1)/2; f_x_p2=f_x_p1; f_x_p=(f_x_p1+f_x_p)/2; f_x_p1=f_x_p; f_x_p=(f_x_p+f_x)/2; %caratteristica migliorata fxp per la decisione
zione f_x_pstamp(n)=f_x_p; %stampa della fxp necessaria per la visualizza %%%%%%%%%%%%%%%%%%%%%Decisione della classe:il VAD%% [prob,p1,p2,p3,sommap,vad2(n)]=decisione(f_x_p,p1,p2,p3,mu,variance,sogl %%%%%%%%%Aggiornamento dei parametri per la prossima iterazione%%%%%%%% for c=1:2 X_t_p(c) = X_t(c);
chi(c); chi_p(c) = mu_p(c) = mu(c); X_t_quadro_p(c) = X_t_quadro(c); variance_p(c) = variance(c); end end %%%%fine calcolo VAD basato sul file di riferimento %%%%%%%%%calcolo del VAD sul file con aggiunto rumore a diverse soglie di pr
mpioni1,Fs] = leggiwave(file1); %file è il file wave da elaborare [cax1=[zeros(128,1);campioni1]; %stampa delle informazioni sul
intf('La frequenza di campionamento del segnale è %gHz\n'fprfprintf('Il file1 è lungo %g campioni e dura %g secondi\n',length(x1),length( %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for k=1:10 framecorretti=0; %azzero i cont
88
framenonparlatosbag=0; rlatopersi=0; nparlatot=0;
%%% ori
riance_p=[0.155,1.9]; %"variance" identifica la varianza della gaussiana
) risponde al simbolo greco chi
8]; %"X_t" corrisponde alla stima di fx al quadrato %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
terazioni);
for n=1:Num_iterazioni
nell'articolo
rianza f_x = m_x*log(1 + k_x); %calcola la caratteristica(feature): una kurtosi
framepa frameno frameparlatot=0; Num_iterazioni = fix(length(x1)/128) - 1; %la funzione fix restituisce il % numero intero approssimato per difetto fprintf('Il numero di iterazioni eseguite sono %d\n',Num_iterazioni); punt=1;%inizializzazione del puntatore che %permette di prendere le trame da analizzare soglia=0.1*k; % incremento la soglia di probabilità di 0.1 ad ogni ciclo %Inizializzazione dei vettori necessari a salvare i valori dei parametri tra % le iterazioni per stampare e/o graficare i risultati vad1=ones(1,Num_iterazioni); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%Inizializzazione dei parametri per l'algoritmo EM online%%%%%% %I parametri sono vettori di due elementi perchè corrispondono ai due val %che identificano le classi parlato e non parlato. %I parametri che si riferiscono all'iterzione precedende vengono indicati %con il suffisso "_p". %N.B.: le due medie e le due varianze iniziali non possono essere uguali % tra loro altrimenti l'algoritmo non separerebbe i due andamenti. alpha=0.98; %compreso tra 0.5 e 1, parametro che agisce sulla % funzione gamma_t=(n+1)^(-alpha)
mu_p=[0.05,0.8]; %"mu" identifica la media della gaussiana va X_t_p=[0.02,0.48]; %"X_t" corrisponde a X circonflesso di t (stima di fx chi_p=[0.4,0.6]; %"chi" cor X_t_quadro_p=[0.0645,1.7 %%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
nizializzazione vettori e parametri per la decisione %I % (versione modificata dell'algoritmo originale) f_x_p2=0; f_x_p1=0; f_x_p=0; f_x_pstamp=zeros(1,Num_i p1=[0,0]; p2=[0,0]; p3=[0,0]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Inizio iterazioni%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [x256,punt] = trama(x1,punt); %prepara la trama da 256 campioni saltando %alla successiva dopo 128 campioni (overlap 50%) e = res_lpc(x256); %calcola il residuo lpc della trama n-esima [ac_causale,peak] = peak_picking(e); %estrae il picco massimo dell'autocorrelazione
del residuo escluso il picco per ritardo zero % normalizzata m_x = peak; %copia il valore del picco nella notazione usata expt = my_expt(e); %calcola la media del residuo
v = my_variance(e,expt); %calcola la varianza del residuo k_x = my_kurtosis(e,expt,v); %calcola la kurtosi del residuo %prendendo anche in ingresso la sua media e la sua va migliorata
89
gamma_t = (n+1)^(-alpha); %calcola gamma_t
%%%%%%%%%Calcolo parametri%%%%%%%%%%%%%%%%%%%%%%%%%%%
,X_t_q
i parlato/non parlato)
f_x_pstamp(n)=f_x_p; %stampa della fxp necessaria per la visualizzazione
%%%%%%%%%%%%%%%%%%%%%Decisione della classe:il VAD%%%%%%%%%%%%%%%%%%%%% );
%%
%%%% calcolo la statistica ad ogni iterazione (per ogni livello di soglia)
ts(i)==-1 %(numero di -1) (per FAR) nonparlatosbag+1;%frames di non parlato
% rilevati come parlato(frames di parlato non rilevati correttamente)
s(i)==1 %(numero di 1) (per FRR)
k)=100*(frameparlatopersi/frameparlatot); %percentuale frames parlato persi % num di 1 diff/num di 1 vad riferim
Rperc(k)=100*(framenonparlatosbag/framenonparlatot); % percentuale frames di
%%%%%%%%%%%%%%%%%% %si ottengono i parametri stimati per ogni classe(parlato/non parlato) [X_t,chi,mu,X_t_quadro,variance]=em_online(f_x,mu_p,variance_p,X_t_p,gamma_t,chi_puadro_p); %viene salvato ogni parametro su due vettori(class %per stampare e/o graficare i valori di ogni iterazione %%%%%%%%%Filtraggio IIR del 3° ordine della caratteristica fx%%%%%%%%% f_x_p1=(f_x_p2+f_x_p1)/2;
f_x_p2=f_x_p1; f_x_p=(f_x_p1+f_x_p)/2; f_x_p1=f_x_p; f_x_p=(f_x_p+f_x)/2; %caratteristica migliorata fxp per la decisione [prob,p1,p2,p3,sommap,vad1(n)]=decisione(f_x_p,p1,p2,p3,mu,variance,soglia
%%% %%%%%%%%%Aggiornamento dei parametri per la prossima iterazione del VAD%%% for c=1:2 X_t_p(c) = X_t(c); chi_p(c) = chi(c); mu_p(c) = mu(c); X_t_quadro_p(c) = X_t_quadro(c); variance_p(c) = variance(c); end end %%% stats=vad2-vad1; %il 2 è il file di riferimento for i=1:length(vad1) if stats(i)==0
mecorretti=framecorretti+1;%(numero di 0) fra end if sta framenonparlatosbag=frame end if stat frameparlatopersi=frameparlatopersi+1; end end frametotali=length(vad2); %conta frames totali riferimento 0 non parlato, 1 parlato for i=1:length(vad2) if vad2(i)==0
ato framenonparlatot=framenonparlatot+1; %conta frames non parl else if vad2(i)==1 frameparlatot=frameparlatot+1; %conta frames parlato end end end %%%%%%% accumulo i dati in vettori da poter stampare e salvare alla fine dell'esecuzione Framerightperc(k)=100*(framecorretti/frametotali); %frames corretti FRRperc(
FA
90
91
levati num di -1 diff/num di 0 vad rif
re
% parlato non correttamente ri GERperc(k)=100*((frameparlatopersi+framenonparlatosbag)/frametotali);%percentuale %di erroglobale end %%%%%%%% trasformo i vettori da riga in colonna per comodità di lettura Framerightperc=Framerightperc';
rc=FARperc'; FARpeFRRperc=FRRperc'; GERperc=GERperc'; end
Bibliografia
and T. Kawahara “Voice Activity Detection Based on High Order
Statistics and Online EM Algorithm” IEICE Trans. Inf. & Syst., Vol. E91–D, NO.12
ecember 2008.
[2] L.R. Rabiner and B.H. Juang, “Fundamentals of speech recognition” Prentice Hall,
[3] B. Kingsbury, G. Saon, L. Mangu, M. Padmanabhan, and R. Sarikaya, “Robust
speech recognition in noisy environments: The 2001 IBM Spine evaluation system”
ICASSP, 2002.
[4] G. Lathoud and I. McCowan, “Location based speaker segmentation" Proc. 2003
IEEE International Conference on Acoustics, Speech, and Signal Processing
(ICASSP-03), 2003.
[5] T. Pfau, D. Ellis, and A. Stolcke, “Multispeaker speech activity detection for the
ICSI meeting recorder” Proc. IEEE Automatic Speech Recognition and
Understanding Workshop, 2001.
[6] E. Nemer, R. Goubran, and S. Mahmoud, “Robust voice activity detection using
higher-order statistics in the LPC residual domain” IEEE Trans. Speech Audio
Process., vol.9, no.3, pp.217–231, 2001.
[7] K. Li, M.S.S. Swamy, and M.O. Ahmad, “An improved voice activity detection
using high order statistics” IEEE Trans. Speech Audio Process., vol.13, no.5,
pp.965–974, 2005.
[8] R.J. McAulay and T.F. Quatieri, “Speech analysis/synthesis based on a sinusoidal
representation” IEEE Trans. Acoust. Speech Signal Process., vol.34, no.4, pp.744–
754, 1986.
[9] “ITU-T: A silence compression scheme for G.729 optimized for terminals
conforming to recommendation v.70, annex B.” Nov. 1996.
[10] N. Kitaoka, T. Yamada, S. Tsuge, C. Miyajima, T. Nishiura, M. Nakayama, Y.
Denda,M. Fujimoto, K. Yamamoto, T. Takiguchi, and S. Nakamura, “CENSREC-1-
[1] D. Cournapeau
D
1993.
C: Development of evaluation framework for voice activity detection under noisy
environment” IPSJ SIG Technical Report, 2006.
nias, “Cepstrum-based pitch detection using a new
algorithm” IEEE Trans. Speech Audio Process., vol.7,
no.3, pp.333–338, May 1999.
.
normalization for ASR in adverse environments” ICASSP01, IEEE, 2001.
[15] H.M. Finucan, “A note on kurtosis” J. Royal Statistical Society. Series B
[16
Speech, and Signal Processing (ICASSP ’03), 2003.
nd Signal Processing, ICASSP 2006, 2006.
[21] H.J. Kushner and G.G. Yin, Stochastic approximation algorithms and applications,
[22 rror Criterion in Filter
[11] S. Ahmadi and A.S. Spa
statistical V/UV classification
[12] J.K. Shah, A.N. Iyer, B.Y. Smolenski, and R.E. Yantorno, “Robust voiced -
unvoiced classification using novel features and Gaussian mixture model” IEEE
ICASSP’04, 2004
[13] Q. Li, J. Zheng, Q. Zhou, and C.H. Lee, “A robust, real-time endpoint detector with
energy
[14] L.T. DeCarlo, “On the meaning and use of kurtosis” Psychological Method, vol.2,
pp.292–303, 1997.
(Methodological), vol.26, pp.111–112, 1964.
] S. Basu, “A linked-HMM model for robust voicing and speech detection” IEEE
Int. Conf. Acoustics,
[17] I. Shafran and R. Rose, “Robust speech detection and segmentation for real-time
ASR applications” IEEE Int. Conf. Acoustics, Speech, and Signal Processing
(ICASSP ’03), pp.432–435, 2003.
[18] A.P. Dempster, N.M. Laird, and D.B. Rubin, “Maximum likelihood from
incomplete data via the EM algorithm” J. Royal Statistical Society. Series B
(Methodological), vol.39, pp.1–38, 1977.
[19] O. Cappe, M. Charbit, and E. Moulines, “Recursive EM algorithm with
applications to DOA estimation” Proc. 2006 IEEE International Conference on
Acoustics, Speech, a
[20] M. Sato and S. Ishii, “On-line EM algorithm for the normalized Gaussian network”
Neural Comput., vol.12, pp.407–432, 2000.
Springer-Verlag, 1997.
] Levinson N., The Wiener Root Mean Square (RMS) E
Design and Prediction, Journal of Mathematics and Physics, vol. 25, pp. 214-218,
1947.
93
94
[23] Russell Stuart J., Norvig Peter, “Intelligenza artificiale – Un approccio moderno”
vol. 2, Pearson Education Italia.
[24] Deitel H., Deitel P., “C corso completo di programmazione” Apogeo.