Teza doctorat (pdf) - Universitatea Tehnică

Teza doctorat (pdf) - Universitatea Tehnică Teza doctorat (pdf) - Universitatea Tehnică

users.utcluj.ro
from users.utcluj.ro More from this publisher
15.06.2013 Views

D(x,y) 255 m0 || H ( e x m j 256 256 ) | | H ( e ) || y 80 m j unde: - x este indexul cadrului curent, - y este indexul cadrului precedent sau următor, m j x e Cap. 4. Analiza semnalului vocal (4.49) 256 - ( ) H este răspunsul în frecvenţă evaluat pentru cadrul x în punctele exp(jπm/256) pentru 0 ≤ m ≤ 255. În continuare, se ia decizia de a grupa cadrul curent cu cadre din trecut, dacă: max(D(x,y)) < min(D(x,v)) , cu x-4 ≤y ≤ x-2, x+2 ≤ v ≤ x+4 (4.50) şi decizia de a cumula cadrul curent cu cadrele următoare dacă: min(D(x,y)) > max(D(x,v)) , cu x-4 ≤ y ≤ x-2, x+2 ≤ v ≤ x+4 (4.51) Dacă niciuna dintre cele două condiţii nu este îndeplinită, nu se realizează gruparea cu alte cadre. După ce fiecare cadru este asociat într-unul din cele trei moduri posibile, se stabileşte o graniţă a segmentului când apar schimbări de asociere pentru cadrul curent (din trecu t către viitor). Localizarea graniţei este la primul eşantion al cadrului unde se realizează tranziţia. Postprocesarea elimină graniţele care apar în mijlocul segmentelor de linişte. 4.3.4.2. Detectarea graniţelor prin metoda S/U/V Acest algoritm de segmentare se bazează pe rezultatele algoritmului de detectare S/U/V, calculând graniţele de segment prin cumularea cadrelor de acelaşi tip. Cadrele mai mici ca lungime se pot compacta cu vecinii, chiar dacă sunt de tipuri diferite. Se pot formula următoarele reguli de modificare a segmentării [Chi00]: Tabelul 4.1. Setul de reguli pentru calculul segmentării finale Pattern iniţial Condiţii Pattern final VUS L(V)> 100 ms L(U)< 25 ms VVS XSY L(S)< 10 ms XXS SUV L(U)< 7.5 ms SSV XUY L(U)< 10 ms (X=S)? XYY : XXY În tabelul 4.1, X şi Y sunt segmente oarecare, S = Silence, U = Unvoiced, V = Voiced. Graniţele dintre segmente apar atunci când apar tranziţiile ( i , j ) { 0, 1, 2}, i j în detectorul S/U/V. Graniţa este marcată la primul eşantion al noului segment.

4.3.5. Segmentarea finală 81 Cap. 4. Analiza semnalului vocal Procesul final de segmentare ţine cont de rezultatele segmentării spectrale şi ale segmentării S/U/V. La început, toate graniţele obţinute prin algoritmul S/U/V sunt marcate ca şi graniţe în segmentarea finală. O graniţă determinată în algoritmul spectral, care apare în mijlocul unui segment vocal, aşa cum a fost el determinat prin algoritmul S/U/V, va face parte din rezultatul final numai dacă graniţa apare la un cadru localizat la distanţă de cele puţin două cadre faţă de graniţa segmentului de tip S, U sau V. Această „regulă de două cadre” previne marcarea prin cei doi algoritmi a aceloraşi graniţe ca şi graniţe separate, dar foarte apropiate una de alta. Graniţele spectrale care apar în mijlocul segmentelor nesonore sunt ignorate. Aceasta se realizează în cazul analizei cu un sistem care nu conţine pattern-uri pentru consoane duble. Pentru limbile care conţin astfel de pattern-uri (cum ar fi limba engleză), aceste graniţe spectrale din interiorul segmentelor nesonore vor trebui incluse în rezultatul final al segmentării. 4.3.6. Etichetarea segmentelor Etichetarea segmentelor constă în atribuirea corectă a unei etichete - corespunzând unei categorii de segment din cele prezentate anterior - unui segment oarecare detectat de algoritmul de segmentare. Algoritmul pentru etichetare examinează mai întâi rezultatele S/U/V pentru fiecare segment. Dacă segmentul este sonor ( voiced), poate fi etichetat ca vocală, semivocală, nazală, fricativă sonoră sau bandă sonoră. Dacă segmentul este nesonor (unvoiced), el poate fi etichetat ca stop nesonor sau fricativă nesonoră. Dacă segmentul este o regiune de linişte (silence), poate fi etichetat doar ca şi segment de linişte. Pentru un segment dat se calculează un scor al fiecărei caracteristici, mediat pe toată lungimea segmentului. De exemplu, dacă un segment este nesonor atunci se calculează scorurile pentru stopurile nesonore USS(i) şi fricativele nesonore UFS(i) pentru fiecare cadru din acel segment, iar apoi se mediază valorile obţinute. Pentru acest segment nesonor, nu e necesar să fie calculate estimările medii pentru vocale EVmed(i), nazale ENmed(i), semivocale ESVmed(i), bandă sonoră EBSmed(i) şi fricative sonore EFSmed(i). Dacă segmentul este sonor, se calculează estimările medii de caracteristici EVmed(i), ENmed(i), ESVmed(i), EBSmed(i), EFSmed(i), dar nu se mai calculează estimările USSmed(i) şi UFSmed(i). De exemplu, estimarea medie a stopului nesonor USSmed (i) este dată de [Chi00]: unde: 1 USS med ( j) USS( i) (4.52) b a 1 b ia - a este indexul cadrului de început al segmentului j, - b este indexul final în segmentul j. Estimările medii pentru restul caracteristicilor sunt calculate în aceeaşi manieră.

4.3.5. Segmentarea finală<br />

81<br />

Cap. 4. Analiza semnalului vocal<br />

Procesul final de segmentare ţine cont de rezultatele segmentării spectrale şi ale<br />

segmentării S/U/V.<br />

La început, toate graniţele obţinute prin algoritmul S/U/V sunt marcate ca şi graniţe în<br />

segmentarea finală. O graniţă determinată în algoritmul spectral, care apare în mijlocul unui<br />

segment vocal, aşa cum a fost el determinat prin algoritmul S/U/V, va face parte din rezultatul<br />

final numai dacă graniţa apare la un cadru localizat la distanţă de cele puţin două cadre faţă de<br />

graniţa segmentului de tip S, U sau V. Această „regulă de două cadre” previne marcarea prin cei<br />

doi algoritmi a aceloraşi graniţe ca şi graniţe separate, dar foarte apropiate una de alta.<br />

Graniţele spectrale care apar în mijlocul segmentelor nesonore sunt ignorate. Aceasta se<br />

realizează în cazul analizei cu un sistem care nu conţine pattern-uri pentru consoane duble.<br />

Pentru limbile care conţin astfel de pattern-uri (cum ar fi limba engleză), aceste graniţe spectrale<br />

din interiorul segmentelor nesonore vor trebui incluse în rezultatul final al segmentării.<br />

4.3.6. Etichetarea segmentelor<br />

Etichetarea segmentelor constă în atribuirea corectă a unei etichete - corespunzând unei<br />

categorii de segment din cele prezentate anterior - unui segment oarecare detectat de algoritmul<br />

de segmentare.<br />

Algoritmul pentru etichetare examinează mai întâi rezultatele S/U/V pentru fiecare<br />

segment. Dacă segmentul este sonor ( voiced), poate fi etichetat ca vocală, semivocală, nazală,<br />

fricativă sonoră sau bandă sonoră. Dacă segmentul este nesonor (unvoiced), el poate fi etichetat<br />

ca stop nesonor sau fricativă nesonoră. Dacă segmentul este o regiune de linişte (silence), poate<br />

fi etichetat doar ca şi segment de linişte.<br />

Pentru un segment dat se calculează un scor al fiecărei caracteristici, mediat pe toată<br />

lungimea segmentului. De exemplu, dacă un segment este nesonor atunci se calculează scorurile<br />

pentru stopurile nesonore USS(i) şi fricativele nesonore UFS(i) pentru fiecare cadru din acel<br />

segment, iar apoi se mediază valorile obţinute. Pentru acest segment nesonor, nu e necesar să fie<br />

calculate estimările medii pentru vocale EVmed(i), nazale ENmed(i), semivocale ESVmed(i), bandă<br />

sonoră EBSmed(i) şi fricative sonore EFSmed(i).<br />

Dacă segmentul este sonor, se calculează estimările medii de caracteristici EVmed(i),<br />

ENmed(i), ESVmed(i), EBSmed(i), EFSmed(i), dar nu se mai calculează estimările USSmed(i) şi<br />

UFSmed(i).<br />

De exemplu, estimarea medie a stopului nesonor USSmed (i) este dată de [Chi00]:<br />

unde:<br />

1<br />

USS med ( j)<br />

USS(<br />

i)<br />

(4.52)<br />

b a<br />

1<br />

b<br />

<br />

ia<br />

- a este indexul cadrului de început al segmentului j,<br />

- b este indexul final în segmentul j.<br />

Estimările medii pentru restul caracteristicilor sunt calculate în aceeaşi manieră.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!