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

Cap. 7. Proiectarea sistemului de sinteză de voce în limba română a) lungime: silabe alcătuite din două, trei sau patru litere, precum şi foneme singulare; b) poziţia silabei în interiorul cuvântului: silabe iniţiale/mediane sau finale; c) accentuare: silabe accentuate sau neaccentuate. În final, în baza de date au fost înregistrate aproximativ 600 de unităţi acustice, foneme şi silabe, considerând atât silabele de segment median şi final, cât şi silabele accentuate şi neaccentuate, astfel: 386 de silabe de două litere, 139 de silabe de trei litere, 37 de silabe alcătuite din patru litere şi 36 de foneme singulare. 2. Conversia text-voce Conversia text-voce reprezintă a doua fază, ce decurge on-line, în funcţionarea sistemului LIGHTVOX şi cuprinde toate etapele ce trebuie parcurse pentru ca dintr-un text iniţial să se genereze vorbirea sintetică asociată. Etapele componente ale acestei faze sunt următoarele: a) preprocesarea textului, b) corectarea ortografică, c) detecţia unităţilor lingvistice, d) determinarea prozodiei locale, e) regăsirea unităţilor acustice, f) îmbinarea unităţilor, g) sinteza de voce. Aceste etape au fost pe larg prezentate în cadrul metodei de sinteză bazată pe silabe, în secţiunea 6.4. Mai întâi a fost implementat un analizor lexical de preprocesare a textului, pentru exapandarea abrevierilor şi transcrierea fonetică a numerelor din text. Apoi s-a implementat analizorul şi setul de reguli corespondent pentru corectarea ortografică a textului. A fost apoi creat analizorul lexical pentru despărţirea în silabe, apoi cel pentru regăsirea accentelor (silabele accentuate din compunerea cuvintelor). Ambele au necesitat găsirea unor reguli de despărţire în silabe şi de accentuare a cuvintelor pentru limba română. Odată găsite unităţile lexicale de bază (silabele), a fost proiectat un analizor sintactic care să preia aceste unităţi lexicale şi să construiască structura de cuvinte şi propoziţii a textului de la intrare. A urmat implementarea unui algoritm de potrivire a unităţilor fonetice extrase din text cu unităţile acustice înregistrate în baza de date. Deoarece unităţile din baza vocală constituie un subset al silabelor existente în limba română, a trebuit proiectat un algoritm de selecţie optimală a unităţilor, care să asigure o rostire optimă din punct de vedere acustic şi perceptual. Îmbinarea unităţilor regăsite din baza de date şi sinteza vocală propriu-zisă nu au ridicat dificultăţi deosebite, aceste module fiind proiectate cu ajutorul funcţiilor API Windows. 264

Cap. 7. Proiectarea sistemului de sinteză de voce în limba română Implementarea prototipului sistemului de sinteză LIGHTVOX s-a făcut pe o structură modulară având cinci componente: - modulul de analiză lingvistică, având sarcina de a face analiza textului de la intrare în scopul extragerii unităţilor fonetice de bază - silabele; - modulul de analiză prozodică, ce urmăreşte detectarea elementelor de prozodie segmentală, respectiv a accentelor din cadrul cuvintelor; - modulul de gestiune a bazei de date vocale, care efectuează toate operaţiunile legate de baza de date ce conţine unităţile acustice; - modulul de potrivire a unităţilor fonetice, ce asigură punerea în corespondenţă între silabele extrase din textul de sintetizat şi silabele existente în baza de date vocală; - modulul de sinteză propriu-zisă a rostirii, care realizează concatenarea formelor de undă şi produce sinteza propriu-zisă. Acest prototip al sistemului LIGHTVOX a fost implementat în limbajul Visual C++ şi testat pe un calculator Pentium, rezultatele experimentale fiind prezentate în paragraful 7.5. Ca şi contribuţii ale autorului în domeniul proiectării sistemelor de sinteză vocală, contribuţii prezentate în acest capitol, se pot menţiona: - structurarea unei metodologii de proiectare a unui sistem de sinteză de voce, metodologie orientată pe două direcţii principale: crearea bazei de date şi conversia text-voce; - crearea unei baze de date vocale pentru sistemul de sinteză, alcătuită din aproximativ 600 de silabe ale limbii române; LIGHTVOX. - crearea unui prototip al sistemului de sinteză de voce pentru limba română, numit 265

Cap. 7. Proiectarea sistemului de sinteză de voce în limba română<br />

a) lungime: silabe alcătuite din două, trei sau patru litere, precum şi foneme singulare;<br />

b) poziţia silabei în interiorul cuvântului: silabe iniţiale/mediane sau finale;<br />

c) accentuare: silabe accentuate sau neaccentuate.<br />

În final, în baza de date au fost înregistrate aproximativ 600 de unităţi acustice, foneme şi<br />

silabe, considerând atât silabele de segment median şi final, cât şi silabele accentuate şi<br />

neaccentuate, astfel: 386 de silabe de două litere, 139 de silabe de trei litere, 37 de silabe<br />

alcătuite din patru litere şi 36 de foneme singulare.<br />

2. Conversia text-voce<br />

Conversia text-voce reprezintă a doua fază, ce decurge on-line, în funcţionarea sistemului<br />

LIGHTVOX şi cuprinde toate etapele ce trebuie parcurse pentru ca dintr-un text iniţial să se<br />

genereze vorbirea sintetică asociată.<br />

Etapele componente ale acestei faze sunt următoarele:<br />

a) preprocesarea textului,<br />

b) corectarea ortografică,<br />

c) detecţia unităţilor lingvistice,<br />

d) determinarea prozodiei locale,<br />

e) regăsirea unităţilor acustice,<br />

f) îmbinarea unităţilor,<br />

g) sinteza de voce.<br />

Aceste etape au fost pe larg prezentate în cadrul metodei de sinteză bazată pe silabe, în<br />

secţiunea 6.4.<br />

Mai întâi a fost implementat un analizor lexical de preprocesare a textului, pentru<br />

exapandarea abrevierilor şi transcrierea fonetică a numerelor din text.<br />

Apoi s-a implementat analizorul şi setul de reguli corespondent pentru corectarea<br />

ortografică a textului.<br />

A fost apoi creat analizorul lexical pentru despărţirea în silabe, apoi cel pentru regăsirea<br />

accentelor (silabele accentuate din compunerea cuvintelor). Ambele au necesitat găsirea unor<br />

reguli de despărţire în silabe şi de accentuare a cuvintelor pentru limba română.<br />

Odată găsite unităţile lexicale de bază (silabele), a fost proiectat un analizor sintactic care<br />

să preia aceste unităţi lexicale şi să construiască structura de cuvinte şi propoziţii a textului de la<br />

intrare.<br />

A urmat implementarea unui algoritm de potrivire a unităţilor fonetice extrase din text cu<br />

unităţile acustice înregistrate în baza de date. Deoarece unităţile din baza vocală constituie un<br />

subset al silabelor existente în limba română, a trebuit proiectat un algoritm de selecţie optimală<br />

a unităţilor, care să asigure o rostire optimă din punct de vedere acustic şi perceptual.<br />

Îmbinarea unităţilor regăsite din baza de date şi sinteza vocală propriu-zisă nu au ridicat<br />

dificultăţi deosebite, aceste module fiind proiectate cu ajutorul funcţiilor API Windows.<br />

264

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

Saved successfully!

Ooh no, something went wrong!