15.06.2013 Views

Teza doctorat (pdf) - Universitatea Tehnică

Teza doctorat (pdf) - Universitatea Tehnică

Teza doctorat (pdf) - Universitatea Tehnică

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

85<br />

Cap. 4. Analiza semnalului vocal<br />

fragmentate de o serie de regiuni de linişte, din cauza faptului că de obicei aceste regiuni<br />

nesonore au amplitudine mică. Toate aceste regiuni vor fi compactate într-o singură regiune<br />

nesonoră în cea de-a doua trecere a algoritmului.<br />

După segmentare, regiunile detectate vor fi puse în corespondenţă cu şirul de foneme<br />

prezent la intrare, pe baza unor reguli stabilite în funcţie de proprietăţile acustice ale fiecărei<br />

foneme rostite în limba română. Aşa cum se va arăta în paragrafele următoare, acest proces de<br />

punere în corespondenţă între regiunile distincte din semnalul vocal şi foneme are un rol foarte<br />

important în generarea automată a bazei de date vocale, şi se pretează la multe alte aplicaţii –<br />

inclusiv în domeniul recunoaşterii vorbirii.<br />

În cele ce urmează, se vor detalia algoritmii corespunzători fiecărei etape de segmentare.<br />

4.4.1. Detectarea punctelor de zero, minim şi maxim<br />

Detectarea punctelor de zero, minim şi maxim reprezintă primul pas al metodei de<br />

segmentare automată a regiunilor. Algoritmul propus utilizează analiza în domeniul timp a<br />

semnalului vocal. După o filtrare trece-jos a semnalului, se detectează mai întâi punctele de<br />

trecere prin zero (Zi) din forma de undă. Apoi se calculează punctele de valoare minimă (mi) şi<br />

maximă (Mi) dintre două puncte de zero, conform următorului algoritm :<br />

Detectarea punctelor de zero Zi , minim mi şi maxim Mi :<br />

Pentru fiecare eşantion Q(k) ce urmează după un punct de zero Z(i):<br />

(1) Dacă eşantionul k e mai mare decât maximul curent al segmentului i, Q(k) > M(i),<br />

atunci se actualizează maximul curent : M(i) = Q(k).<br />

(2) Dacă eşantionul k e mai mic decât minimul curent al segmentului i, Q(k) < m(i),<br />

atunci se actualizează minimul curent : m(i) = Q(k).<br />

(3) Se verifică condiţia de trecere prin zero :<br />

C_ZERO = ((Q(k-1) < 0) AND (Q(k) > 0)) OR (Q(k-1) > 0) AND (Q(k) < 0) )<br />

(4) Dacă este îndeplinită condiţia C_ZERO, se memorează valorile m(i), M(i), Z(i+1) ;<br />

Z(i+1) devine noua origine de segment şi algoritmul se reia de la punctul de start.<br />

În figura 4.13 se arată un exemplu de detectare automată a punctelor de zero, minim şi<br />

maxim dintr-un segment vocal (v alorile numerice reprezintă amplitudinea semnalului în<br />

punctele detectate).<br />

Figura 4.13. Determinarea punctelor de zero, minim, maxim

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

Saved successfully!

Ooh no, something went wrong!