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

172 Cap. 6. Metode de sinteză de voce Segmentele suprapuse xi(n) (overlapping segments) vor fi extrase prin aplicarea unei funcţii fereastră segmentului original [Bur97]: xi(n) = x(n) h(n-pi) , (6.9) unde: h(n) este funcţia fereastră, iar pi este indicatorul de frecvenţă pentru segmentul i. Semnalul original va fi atunci regăsit ca o sumă de segmente vocale suprapuse: x(n) = xi(n) (6.10) unde simbolul reprezintă o sumă de intervale care se suprapun (overlapping sum). În faza de sinteză va avea loc un proces de mapare a setului de segmente s={xi(n)} determinate anterior într-un alt set de segmente S={Xi(n)}. Segmentele Xi(n) se numesc segmente mapate sau repoziţionate, setul S fiind un subset sau supraset al lui s, fiind constituit din segmentele iniţiale xi(n) repoziţionate pe axa timpului. S este un subset al lui s dacă există elemente xi(n) din semnalul original care nu vor fi utilizate în compunerea semnalului sintetizat. Dacă, dimpotrivă, în faza de sinteză se vor utiliza dubluri ale segmentelor originale, atunci S se va constitui într-un set extins (supraset) al lui s. Maparea segmentelor se va face în următorul mod: x i ( n) X i ( n) A S Fi Fi A S Di Di unde: - xi(n) sunt segmentele suprapuse iniţiale, - Xi(n) sunt segmentele mapate sau repoziţionate, - - A i S i (6.11) F , F reprezintă frecvenţele de bază ale segmentului cu indicele i în faza de analiză, respectiv sinteză, iar D , reprezintă durata segmentului i în faza de analiză, respectiv sinteză. A S i Di i Ultima fază reprezintă sinteza propriu-zisă, în care are loc compunerea segmentelor mapate Xi(n) printr-un proces de suprapunere (overlapping): X(n) = Xi(n) , (6.12) i unde: X(n) reprezintă semnalul sintetizat de la ieşire, iar Xi(n) reprezintă segmentele repoziţionate în urma fazei de mapare. În figura 6.6 se arată modul de segmentare a unui semnal şi de repoziţionare pe axa timpului a segmentelor extrase. Să presupunem că avem un semnal x(t) care prezintă vârfuri de intensitate la perioada T0.

173 Cap. 6. Metode de sinteză de voce În faza de analiză, se vor extrage două segmente x1(t) şi x2(t) de perioadă 2T0 centrate în vârfurile de intensitate, aşa cum se observă din figură. Cele două segmente se suprapun pe axa timpului de-a lungul unei perioade de semnal T0, şi corespund cu două maxime succesive de intensitate ale semnalului original. Fiecare segment va avea un indicator de frecvenţă pitch mark ales ca un punct de referinţă pe axa timpului al segmentului respectiv. Acesta se poate alege în orice poziţie în interiorul segmentului. În cazul nostru, vom alege poziţia sa la mijlocul segmentului, corespunzând chiar maximului de intensitate al semnalului. După extragerea segmentelor din semnalul iniţial, acestea vor fi ponderate prin intermediul unei funcţii fereastră special alese (de obicei se aleg funcţiile Blackman, Hanning sau Hamming). Ponderarea cu funcţia fereastră are ca scop aplatizarea formei de undă la capetele segmentului pentru a nu denatura semnalul original, care trebuie să se regăsească prin compunerea segmentelor extrase, conform relaţiei (6.10). Urmează faza de sinteză, în care va avea loc procesul de mapare al segmentelor. Maparea reprezintă o repoziţionare pe axa timpului a segmentelor extrase, în funcţie de modificările parametrilor prozodici, şi anume a frecvenţei şi duratei semnalului. În cazul în care se doreşte modificarea frecvenţei semnalului pentru a schimba tonalitatea (înălţimea) vocii, segmentele iniţiale trebuie deplasate pe axa timpului. Deplasarea în avans determină mărirea frecvenţei (T1 < T0 , unde T1 este noua perioadă ), iar întârzierea segmentului determină micşorarea frecvenţei (T1 > T0 ), situaţie care este ilustrată în figura 6.6. Dacă se doreşte modificarea duratei semnalului sintetizat pentru a schimba ritmul vorbirii, frecvenţa va trebui să rămână aceeaşi pentru a nu altera tonalitatea vocii. De asemenea, în acest caz nu trebuie modificată lungimea segmentului considerat, pentru că aceasta ar duce implicit la modificarea frecvenţei semnalului. Schimbarea duratei se va face doar prin adăugarea, respectiv omiterea unor perioade întregi ale formei de undă, cu alte cuvinte unele segmente vor fi dublate, iar altele omise în cadrul semnalului sintetizat. Maparea, adică repoziţionarea segmentelor pe axa timpului, se va face astfel: mai întâi se determină noua frecvenţa şi durată a semnalului. Cunoscând noua durată se determină segmentele care vor intra în compunerea semnalului sintetizat. Pentru aceste segmente, pe baza noilor frecvenţe, se calculează poziţiile indicatorilor de frecvenţă pitch marks de-a lungul axei timpului. Apoi eşantioanele de semnal se deplasează în poziţia indicată de fiecare dintre aceste referinţe. În final, segmentele repoziţionate vor fi îmbinate pentru a recompune semnalul sintetizat. Pe porţiunile comune ale segmentelor, semnalul va trebui normat. Normarea se face prin medierea pătratică a amplitudinilor celor două segmente: x1( n) x 2 ( n) x( n) (6.13) 2 2 x ( n) x ( n) 1 2

172<br />

Cap. 6. Metode de sinteză de voce<br />

Segmentele suprapuse xi(n) (overlapping segments) vor fi extrase prin aplicarea unei<br />

funcţii fereastră segmentului original [Bur97]:<br />

xi(n) = x(n) h(n-pi) , (6.9)<br />

unde: h(n) este funcţia fereastră, iar<br />

pi este indicatorul de frecvenţă pentru segmentul i.<br />

Semnalul original va fi atunci regăsit ca o sumă de segmente vocale suprapuse:<br />

x(n) = xi(n) (6.10)<br />

unde simbolul reprezintă o sumă de intervale care se suprapun (overlapping sum).<br />

În faza de sinteză va avea loc un proces de mapare a setului de segmente s={xi(n)}<br />

determinate anterior într-un alt set de segmente S={Xi(n)}. Segmentele Xi(n) se numesc<br />

segmente mapate sau repoziţionate, setul S fiind un subset sau supraset al lui s, fiind constituit<br />

din segmentele iniţiale xi(n) repoziţionate pe axa timpului.<br />

S este un subset al lui s dacă există elemente xi(n) din semnalul original care nu vor fi<br />

utilizate în compunerea semnalului sintetizat. Dacă, dimpotrivă, în faza de sinteză se vor utiliza<br />

dubluri ale segmentelor originale, atunci S se va constitui într-un set extins (supraset) al lui s.<br />

Maparea segmentelor se va face în următorul mod:<br />

x<br />

i ( n)<br />

X i ( n)<br />

A S<br />

Fi<br />

Fi<br />

A S<br />

Di<br />

Di<br />

unde: - xi(n) sunt segmentele suprapuse iniţiale,<br />

- Xi(n) sunt segmentele mapate sau repoziţionate,<br />

-<br />

-<br />

A<br />

i<br />

S<br />

i<br />

(6.11)<br />

F , F reprezintă frecvenţele de bază ale segmentului cu indicele i în faza de analiză,<br />

respectiv sinteză, iar<br />

D , reprezintă durata segmentului i în faza de analiză, respectiv sinteză.<br />

A S<br />

i Di<br />

i<br />

Ultima fază reprezintă sinteza propriu-zisă, în care are loc compunerea segmentelor<br />

mapate Xi(n) printr-un proces de suprapunere (overlapping):<br />

X(n) = Xi(n) , (6.12)<br />

i<br />

unde: X(n) reprezintă semnalul sintetizat de la ieşire, iar<br />

Xi(n) reprezintă segmentele repoziţionate în urma fazei de mapare.<br />

În figura 6.6 se arată modul de segmentare a unui semnal şi de repoziţionare pe axa<br />

timpului a segmentelor extrase. Să presupunem că avem un semnal x(t) care prezintă vârfuri de<br />

intensitate la perioada T0.

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

Saved successfully!

Ooh no, something went wrong!