6. ANALIZA SPECTRALĂ A SEMNALULUI VOCAL
Download
Report
Transcript 6. ANALIZA SPECTRALĂ A SEMNALULUI VOCAL
5. ANALIZA SPECTRALĂ A
SEMNALULUI VOCAL
• urechea realizează o analiză spectrală a undei acustice recepţionate
T0=0.1
0 , T0
1
0
-1
T0=0.2
0
0.2
0.4
0.6
0.8
1
0.2
0.4
0.6
0.8
1
0.2
0.4
0.6
0.8
1
1
0
-1
0
T0=0.5
2
s t 0 sin t ,
T0
1
0
-1
0
t
Metodele de analiză spectrală au ca obiective:
• analiza spectrală continuă a semnalului vocal
(necesară în procesul recunoaşterii vorbirii sau a vorbitorului);
• utilizarea rezultatelor analizei spectrale în tehnicile de sinteză a
semnalului vocal (bazate pe prelucrarea în domeniul frecvenţă).
Principalele metode de analiză spectrală:
• analiza cu ajutorul densităţii spectrale pe termen scurt,
pornind de la definirea transformatei Fourier pe termen scurt;
• analiza spectrală cu ajutorul bancului de filtre;
• analiza parametrică – parametrizarea semnalului vocal
pe baza modelării autoregresive (codarea prin predicţie liniară)
si a analizei cepstrale (homomorfice).
Analiza homomorfică (cepstrală) a semnalului vocal
• semnalul x analizat provine din convoluţia a două semnale.
• semnalului vocal x[n] se obţine ca o convoluţie între excitaţia
la nivel glotal, e[n] şi funcţia pondere a tractului vocal, h[n].
x n e n h n
• separarea celor două semnale nu este posibilă prin filtrare
deoarece ele ocupă în general aceeaşi bandă de frecvenţă.
• analiza homomorfică, ce are la bază noţiunea de cepstru,
permite în anumite condiţii separarea celor două semnale.
• se realizează deconvoluţia semnalului x[n].
• cepstrum (engleză), reprezintă anagrama cuvântului spectrum.
X z x n z n
n
Xˆ z ln X z xˆ n z n
n
xˆ n Z 1 Xˆ z Z 1 ln X z
xˆ n H x n
Transformare homomorfică
ln X z ln E z H z ln E z ln H z
xˆ n eˆ n hˆ n
x[n]
*
Z-1{}
X(z)
Z{}
ln{}
{}
*
Z{}
h[n]
H(z)
exp{}
Bloc de
prelucrare
liniară
(“lifter”-engl.)
Z-1{}
-1{}
Schema bloc de realizare a unei prelucrări homomorfice
• în cazul în care prelucrarea liniară este realizată în domeniul
frecvenţă, blocurile marcate cu `*` lipsesc.
Proprietăţile cepstrului complex
x n x1 n x2 n xˆ n xˆ1 n xˆ2 n
1.
X z K
2.
A
B
i 1
C
i 1
D
i 1
i 1
1
1
a
z
1 bi z
i
1
1
c
z
1 di z
i
ai 1, bi 1, ci 1, di 1.
Xˆ z ln X z
A
B
C
D
i 1
n z n
i 1
i 1
i 1
ln K ln 1 ai z 1 ln 1 bi z ln 1 ci z 1 ln 1 di z
xˆ
n
f ' 0
f '' 0 2
f x ln 1 x f 0
x
x
1!
2!
1
1
1
x x 2 x3 x 4
2
3
4
f n 0 n
x
n!
1 n
x
n 1 n
ln K
C n A n
ci
ai
xˆ n i 1 n i 1 n
B bi n D di n
i 1 n i 1 n
n
pentru n 0
pentru n 0
pentru n 0
3. Dacă funcţia X(z) este stabilă şi de fază minimă atunci cepstrul
va fi cauzal
xˆ n 0 pentru n 0
xˆ par n pentru n 0
xˆ n 2 xˆ par n pentru n 0
0
pentru n 0
xˆ n xˆ par 0 n 2 xˆ par n u n 1
F
ln X e j ln X e j j arg X e j
xˆ n xˆ par n xˆimpar n
1
F
F
ln X e j
xˆ par n
1
F
4. Cepstrul unei succesiuni de impulsuri Dirac periodice
(de perioadă N şi amplitudine C):
x n C n lN
l 0
X z x n
z n
C 1
zN
z 2 N
n
1
C 1 zN
Xˆ z ln C ln 1 z N Xˆ 1 z Xˆ 2 z
ln C
1
xˆ n
k
0
pentru n 0
pentru n kN , cu k 1,2,
in rest
,
Exemplu:
x1 n u n
x2 n 10 n 20l
l 0
x n x1 n x2 n xˆ n xˆ1 n xˆ2 n
ln1 0 pentru n 0
1
xˆ1 n
pentru n 0
n
in rest
0
pentru n 0
ln10 2,3
1
xˆ2 n
pentru n 20k , cu k 1,2,
k
0
in rest
,
2.5
2
pt. x2[n]
1.5
1
pt. x1[n]
0.5
0
0
10
20
30
40
50
60
n
Cepstrele corespunzătoare celor două secvenţe din exemplu
Cepstrul real
cˆ n xˆ par n F
x[n]
DFT
1
ln X
X[k]
e j
ln{|●|}
1
2
2
ln|X[k]|
ln X e j e j n d
DFT-1
Evaluarea cepstrului real cu ajutorul DFT
Utilizarea analizei cepstrale în prelucrarea semnalului vocal
- pentru o transa sonora de semnal vocal:
x n e n g n ht n r n w n
- e[n] = excitaţia idealizată formată din impulsuri unitate cu perioada P;
- g[n] = funcţia pondere a filtrului trece jos (FTJ) ce simulează forma
impulsurilor glotale;
- ht[n] = funcţia pondere a tractului vocal;
- r[n] = răspunsul la impuls al filtrului ce modelează regiunea buzelor;
- w[n] = fereastră de ponderare.
Estimarea frecvenţei fundamentale
• estimarea frecvenţei fundamentale este legată de tranşele sonore.
• perioada T0 este în general cuprinsă între limitele 2 ms – 17 ms;
• frecvenţa fundamentală F0 variază între:
- 60 Hz – 250 Hz pentru voci masculine;
- 150 Hz – 500 Hz pentru voci feminine.
• atunci când o metodă de determinare nu furnizează o valoare
plauzibilă pentru perioada fundamentală P
P Fe / F0 T0 / Te
se decide că tranşa respectivă este nesonoră.
1. Metoda autocorelaţiei
- evaluarea funcţiei de autocorelaţie pentru tranşa de N eşantioane
ce acoperă mai multe perioade ale fundamentalei:
r k
N k 1
x n x n k
n0
- nu este necesară evaluarea funcţiei de autocorelaţie pentru toate
valorile lui k, ci doar pentru un interval:
Pmin k Pmax
Pmin
Fe
F0 max
8000
16
500
Pmax
Fe
F0 min
8000
133
60
- se caută maximul cel mai pronunţat al funcţiei de autocorelaţie
cuprins în acest interval.
Exemplu:
k P 80
F0
F 8000
1
1
e
100 Hz
T0 P Te P
80
- o reducere a timpului de calcul se poate realiza dacă reţinem din
fiecare eşantion x[n] doar partea care depăşeşte un anumit prag L:
x n L pentru
x1 n x n L pentru
0
pentru
r1 k
N k 1
n0
x n L
x n L
x n L
x1 n x1 n k
- o altă posibilitate constă în a substitui toate eşantioanele ce
depăşesc pragul L prin eşantioane de valoare fixă
(de exemplu egale cu +/-1)
1 pentru
x2 n 1 pentru
0 pentru
r2 k
N k 1
n0
x n L
x n L
x n L
x2 n x2 n k
2. Metoda AMDF
Average Magnitude Difference Function
= metoda funcţiei medie a diferenţei modulelor
Dk
N k 1
x n x n k
n0
k Pmin ; Pmax
- estimarea frecvenţei fundamentale se face prin găsirea indicelui
k = P din intervalul menţionat, pentru care D[k] este minim posibil.
Fe
1
1
F0
[Hz]
T0 P Te P
3. Metoda filtrului invers
x[n]
H(z) = Ap(z)
n Ke n
Eroarea de predicţie
Semnalul original
Filtrul invers
- pentru o tranşă sonoră, acest filtru produce eroarea de predicţie,
ce reprezintă excitaţia cvasiperiodică aplicată tractului vocal
(multiplicată cu o constantă).
- “perioada” P a poate fi determinată direct în domeniul timp.
- rezultatele se îmbunătăţesc dacă se aplică metoda autocorelaţiei,
considerând în locul semnalului x[n] secvenţa de eroare de la
ieşirea filtrului invers.
4. Metoda cepstrală
x n e n h n xˆ n eˆ n hˆ n
hˆ n xˆ n w n
1 pentru n n0
w n
in rest
0
eˆ n xˆ n hˆ n
n P Pmin ; Pmax
pentru care eˆ n = max.
Fe
1
1
F0
[Hz]
T0 P Te P