Sunteți pe pagina 1din 65

Raport de Cercetare

Grant:

SISTEM INTERACTIV PE BAZA DE VOCE


DESTINAT PERSOANELOR NEVAZATOARE
Autor: Toderean Gavril, Buza Ovidiu

Universitatea Tehnic din Cluj-Napoca

Introducere
In prima parte a lucrrii se prezint studiile realizate asupra cercetriolor din
domeniul procesrii vorbirii, n principal asupra produselor cu interactivitate vocal aprute pe
plan internaional.
Au fost analizate mai nti principalele aplicaii disponibile utilizate n prelucrarea i
analiza semnalului vocal, cum ar fi: mediul de analiz i dezvoltare Matlab, mediul de
instrumentaie virtual LabView, programele de prelucrare audio Goldwave i CoolEdit.
A fost fcut de asemenea o sintez a situaiei interne i internaionale n domeniul
sistemelor i aplicaiilor de procesare a vorbirii.
In a doua parte a lucrrii au fost prezentate cercetrile efectuate asupra metodelor
de analiz i prelucrare a semnalului vocal, dar i asupra metodelor de codare n vederea
transmiterii datelor audio la distan.
Au fost studiate metodele existente de analiz i prelucrare a semnalului vocal, att
metode de analiz n domeniul timp, cum ar fi: metoda autocorelaiei, metoda funciei
diferen de amplitudine medie, metoda cu limitare central, dar i metode de analiz n
domeniul frecven : analiza prin banc de filtre digitale, analiza Fourier, analiza prin predicie
liniar, analiza cepstral, analiza perceptual.
Au mai fost studiate metodele de codare i compresie a semnalului vocal, precum i
standardele de compresie a semnalului audio de nalt fidelitate.
Al treilea obiectiv al lucrrii de fa este prezentarea cercetrilor asupra metodelor de
sintez i recunoatere a vocii, precum i a metodelor proprii concepute, metode utilizate n
sistemul vocal interactiv care a fost proiectat i realizat n faz de prototip.

I. Studii asupra realizrilor n domeniul procesrii vorbirii pe plan


naional i internaional
Procesarea vorbirii este un domeniu care a evoluat mult in ultimii ani pe plan
internaional. Dac in urm cu civa ani se fceau progrese n ceea ce privete gsirea unor
noi metode i tehnici de prelucrare a semnalului vocal, acum accentul se pune pe integrarea
acestor metode performante n sisteme dedicate unor categorii diverse de utilizatori [Vei04].
Odat cu creterea performanelor sistemelor de calcul, utilizatorii au acum la
ndemn o gam larg de aplicaii pornind de la dictare automat i introducerea de date cu
ajutorul vocii, pn la servicii interactive de tip cerere-rspuns care solicit un dialog vocal
ntre calculator i operatorul uman. De asemenea aplicaiile dedicate persoanelor cu
handicap sau deficiene de vedere sau vorbire sunt tot mai solicitate, pentru ca i aceste
persoane s beneficieze de o integrare social ct mai apropiat de standardele la care se
situeaz ceilali membrii ai societii [Ram05], [Wal01].
Procesarea vorbirii cuprinde dou domenii distincte de abordare : recunoaterea
vocii, respectiv sinteza vocal.
Recunoaterea vorbirii (speech-to-text) este procesul de identificare a cuvintelor
i de inelegere a mesajului interlocutorului uman. Acest proces implic urmtoarele
etape: captura i digitizarea semnalului vocal, scindarea acestuia in uniti sonore, apoi
construirea cuvintelor din aceste uniti, i trimiterea spre aplicaie a textului recunoscut
[Tod05].
Arhitectura software utilizat in aplicaiile de recunoastere a vorbirii cuprinde
doua componente: componenta acustic i cea lingvistic. Modulul acustic analizeaza
sunetele vocii, elimin zgomotul de fond, reduce datele la un spectru de frecvente si
apoi convertete sunetele in foneme (elementele de baza ale vorbirii). Modulul lingvistic
analizeaz coninutul vorbirii si compar combinaiile de foneme cu cuvintele dintr-un
vocabular i decide apoi care a fost propozitia sau comanda rostita de vorbitor.
Recunoaterea vorbirii este realizat de o component software numit motor
de recunoatere a vorbirii (Speech Recognition Engine SRE). Motoarele de
recunoastere a vorbirii suport dou moduri de lucru: dictarea, in care utilizatorul
introduce date vorbind direct spre computer, i comanda sau controlul, in care
utilizatorul transmite comenzi prin vorbire.
Programele ce suport dictarea permit introducerea rapoartelor, referatelor si
mesajelor e-mail prin intermediul vocii [Ram05]. Posibilitatea de a recunoaste un anumit
cuvant este limitata de dimensiunea dicionarului incorporat. Majoritatea motoarelor de
recunoastere care supora dictarea sunt dependente de vorbitor, deoarece acuratetea
variaza cu trsturile vocii, cum ar fi timbrul si accentul. Pentru a mari acurateea
recunoaterii, sunt create baze de date numite profile de vorbitor, care stocheaz
modelul de vorbire al fiecrui utilizator.
In cazul programelor de comand i control, dictionarul este limitat la lista de
comenzi disponibile, fapt care crete performana aplicaiilor i scade necesarul de
putere de calcul din partea sistemului. In plus, aceste tipuri de programe sunt
independente de vorbitor i nu necesit sesiuni de training [Ram05].
Actualmente accentul se pune pe realizarea unor noi algoritmi care s permit
recunoaterea continu a vocii, adica recunoasterea cuvintelor si frazelor rostite de catre
interlocutorul uman in condiii naturale, nerestricionate de un anumit dictionar sau vocabular.
Dintre metodele recent utilizate amintim : detecia rapid a momentelor de pauza sau rostire ;
recunoaterea bazat pe dictionare de corespondenta intre unitatile fonematice i unitile
acustice ; metode de predicie a cuvintelor rostite [Kai00], [Tod05].
Sinteza de voce este procesul invers recunoaterii vorbirii i const in
recompunerea vocii de ctre sistemul de calcul. Sinteza de voce este strins legat de

procesul conversiei unui text in limbaj vorbit, numit text-to-speech. In cadrul acestui
proces, are loc o analiz lingvistic a textului pentru a-l separa in uniti lexicale
(cuvinte, silabe i foneme), apoi unitile lexicale sunt convertite in semnale sonore
care sunt combinate in final pentru a genera vorbirea continua [Wou00],[Mob00].
Astzi se folosesc noi metode pentru sinteza de voce, care s asigure o calitate ct
mai bun a sintezei, calitate apropiata de vorbirea naturala. Metodele cele mai utilizate se
bazeaz pe principiul PSOLA (Pitch Synchronous Overlap and Add), in care procesarea
vorbirii se realizeaz in domeniul timp [Hos00], [Tat05], [Tro02] sau metode bazate pe corpus,
care folosesc cantiti mari de date achiziionate in urma rostirii naturale a unui text [Mob00].

1.1. Situaia intern i internaional n domeniul sistemelor i aplicaiilor de procesare


a vorbirii
Situaia intern
In Romnia, interesul pentru prelucrarea automat a vocii s-a manifestat inc de
acum trei decenii, iar studiile au devenit sistematice dupa 1980. Au fost organizate colective
de cercetare in marile centre universitare, cum ar fi Bucuresti, Cluj, Iai, Timisoara. Ariile de
interes ale specialistilor romni cuprind domenii ca: recunoaterea automat a vorbirii,
recunoaterea i identificarea vorbitorului, sinteza de voce, codificarea vorbirii, procesarea
limbajului natural [Bur05].
Exist cursuri de tehnologia vorbirii i procesarea semnalului vocal, cum ar fi cele
susinute de prof. Corneliu Burileanu la Facultatea de Electronic i Telecomunicaii din cadrul
Politehnicii Bucureti, Marian Boldea la Universitatea Politehnica Timioara, prof. HoriaNicolai Teodorescu in cadrul Facultii de Electronic i Telecomunicatii a Universitatii Tehnice
Gh. Asachi din Iai, Mircea Giurgiu in cadrul Facultii de Electronic i Telecomunicaii a
Universitii Tehnice din Cluj.
Dei exist rezultate bune in domeniu obinute de fiecare colectiv de cercetare, totui
nu s-a realizat o unificare a eforturilor care s duc la realizarea unor produse bazate pe
tehnologia vorbirii conforme cu standardele internationale, care s poat fi integrate in
aplicaii software de sine-stttoare. Este de notat ca in acest moment nu exist nici un
motor de sintez pentru limba romn care s respecte standardul text-to-speech stipulat de
Microsoft SAPI 5.1 [Mon05]. Piaa romneasc este inc in ateptarea unor aplicaii viabile
de recunoatere i sintez de voce specializate pentru limba romn.
Situaia pe plan internaional
Pe plan internaional cercetrile n domeniul tehnologiei vorbirii au avut avantajul
sponsorizrii de catre unele companii sau concerne internationale care urmresc dezvoltarea
unor categorii de produse care s le asigure profituri substaniale i poziii de lideri pe pia.
Cu civa ani in urm, produsele ce implementau tehnologia vorbirii erau scumpe,
prezentau o acuratee sczut i erau dificil de utilizat. Dar creterea performantei sistemelor
de calcul si gasirea unor metode noi de abordare au dus in prezent la cresterea calitatii
acestor produse. De exemplu, n domeniul recunoaterii vocii, de la o rat medie de
recunoastere de 85% pe care o prezentau primele aplicaii, s-a ajuns acum la o rata de peste
95%. De la un timp de cteva ore pentru acomodarea sistemului cu vorbitorul, s-a ajuns la un
timp de cateva minute, cu rezultate superioare [His05].
Pentru a sublinia importana domeniului, expertii de la Microsoft sustin ca tehnologia
vorbirii va ajunge in curind pn la punctul n care interfata vocala va fi parte integranta a
urmatoarei generatii de servere, PC-uri de birou, calculatoare si dispozitive mobile [Mon05].

Astfel, se prognozeaz c urmatorii 5 ani vor aduce integrarea tehnologiilor vorbirii si


inteligentei artificiale in sisteme dedicate bazate pe voce, accesibile utilizatorului de rnd.
Compania Microsoft i-a introdus tehnologiile vocale ca seturi API (Application
Programming Interface) i unelte pentru dezvoltarea de aplicatii, dand posibilitatea
programatorilor s inglobeze aceste tehnologii n interfeele bazate pe voce ale viitorului.
Astfel, incepnd din anul 2001, Microsoft livreaz un SDK (Software Developer Kit)
special conceput pentru dezvoltatorii de software, numit Speech API (SAPI) actualmente
ajuns la versiunea 5.1. Din anul 2003, Microsoft mai ofera o unealt de dezvoltare ce poate fi
utilizat alturi de SAPI 5.1, numit Microsoft Speech Server. Acesta este o extensie a
platformei ASP.NET pentru accesarea prin voce a unei game largi de dispozitive. Dezvoltatorii
de aplicaii pot astfel mbina tehnologia Web, serviciile de procesare a vocii i capabilitatile de
telefonie mobil [Mon05].
O alt firm, SQZ Incorporated, ofer SpeechStudio Suite, o suit de instrumente
avansate de dezvoltare numite voice-driven user interfaces (VUI), complementare cu
Microsoft Visual Studio si SAPI 5.1. Tere firme ofer controale add-on pentru mediile de
dezvoltare, care adaug rapid si simplu funcionalitate audio aplicaiilor utilizator.
In domeniul recunoaterii de voce trebuie amintite marile companii IBM, Lernout &
Hauspie (care a achizitionat Dragon Systems in anul 2000), Apple si Philips. Acestea ofera
pachete cu funcii vocale de baz sau versiuni mai sofisticate, cu preturi mai mari. Pachetele
de software pentru recunoaterea vorbirii se adapteaz la utilizatorul individual, n funcie de
voce, timbru si accent [His05] .
ScanSoft, partener IBM, ofer aplicaii diverse bazate pe voce, cum ar fi: dictare
automata, comanda aplicaiilor prin voce, motoare Text to Speech, verificarea vorbitorului,
aplicatii de prelucrare a vocii pentru telefonia mobila,etc. Firma Sensory System este axat
pe dezvoltarea de aplicaii destinate comunicarii in limbaj natural cu dispozitive de diverse
genuri: calculatoare desktop, handheld sau PDA, telefoane celulare, dispozitive automotive
(kituri hands free, localizare prin radio, navigaie automat).
Dintre aplicaiile care implementeaz tehnologia vorbirii la nivel desktop se pot aminti:
Dragon Naturally Speaking al firmei Lernout & Hauspie, care ofera module de dictare
automata si comanda aplicaiilor prin voce, Microsoft Office XP si Lotus Smartsuite, care au
integrate motoare de recunoastere vocala si dictare pentru limba engleza, Scansoft
OpenSpeech, ce implementeaza un motor de recunoastere automata a vocii (Automatic
Speech Recognition ASR) pentru VoiceXML cel mai nou standard pentru sisteme bazate pe
voce. De asemenea mai trebuie amintit i sistemul de operare OS/2 Warp de la IBM, care
permite manipularea calculatorului prin comenzi vocale [His05].
Concluzii asupra situaiei actuale
Dei cercetrile din ultimele dou decenii si-au adus o contributie major n
tehnologia sintezei i recunoaterii vorbirii, existnd multe firme internationale care
ofer produse variate pe piata utilizatorilor, totui mai sunt inc de rezolvat anumite
aspecte ce in de performanta aplicatiilor i implementarea unor metode mai adecvate
pentru analiza i sinteza vorbirii naturale, cum ar fi: sinteza de voce de calitate naturala,
recunoaterea vorbirii in condiii reale nerestricionate, recunoaterea fr ambiguiti a
semanticii vorbirii umane directe [Tod05].
In ceea ce privete aplicaiile pentru persoane defavorizate, procesarea vorbirii ocup
un loc important in asistena acordat persoanelor nevazatoare i a celor cu deficiente de
vorbire [Ram05],[Wal01]. In Anglia exist deja implementate sisteme complete de sinteza de
voce pentru nevazatori ce pornesc de la achiziia de texte prin camera video, recunoaterea
textului i rostirea acestuia prin voce sintetizat. De asemenea, exist sisteme pentru
invarea sau reeducarea vocii, in care persoanele cu deficiente de vorbire pot sa-si

urmreasc interactiv vocea ca o und stationar pe ecran. La noi in ar nu exist


asemenea sisteme adaptate special pentru persoanele defavorizate, iar cele implementate pe
baza unor programe strine sufer din cauza inadaptabilitii acestora la specificul limbii
romne.
1.2.

Aplicaii utilizate n prelucrarea i analiza semnalului vocal

Cele mai cunoscute i utilizate programe n prelucrarea semnalului audio n


momentul prezent sunt: Matlab, LabView, Goldwave i CoolEdit.
Matlab (numele fiind un acronim pentru Matrix Laboratory) este un mediu
performant utilizat n domeniul calculului matematic i aplicativ, inclusiv n cel al prelucrrii
automate de semnal. Matlab dispune de numeroase instrumente software specializate pentru
anumite aplicaii particulare, cum ar fi prelucrare de imagini, prelucrare de semnal, analiza
circuitelor electrice, aplicaii de inteligen artificial, unelte de vizualizare a datelor, etc.
Aceste instrumente sunt organizate n aa-numitele toolbox-uri accesibile utilizatorului prin
interfee grafice specializate, manipularea acestora fcndu-se de asemeni prin interaciune
grafic.
Un exemplu de astfel de instrument software pus la dispoziia utilizatorului este
Simulink, care const ntr-un pachet de programe ce pot fi folosite pentru modelarea,
simularea i analiza sistemelor dinamice liniare sau neliniare. Modelarea se poate face n
timp continuu sau discret. Caracteristicile sistemului de studiat sunt precizate prin obiecte
grafice speciale, care sunt interconectate cu ajutorul mouse-ului de ctre utilizator (aanumitul limbaj G limbajul grafic). Astfel se pot introduce n sistem generatoare de semnal,
instrumente de vizualizare, blocuri de funcii matematice, componente liniare i neliniare.
Alte instrumente avansate de lucru sunt: SpTool, folosit pentru proiectarea de filtre
digitale, Dsp Tool, utilizat pentru prelucrarea digital de semnal, inclusiv semnal audio, Neural
Network Tool pentru proiectarea i testarea sistemelor bazate pe reele neuronale, Statistic
Tool pentru calcule statistice, etc.
Aplicaia dispune de un limbaj de nivel foarte nalt ce respect principiile programrii
structurate, cu o sintax asemntoare limbajului C. Operaiile de baz ale limbajului sunt
operaii cu matrici, specificate prin variabile de tip vector ce dispun de redimensionare
automat. Operaiile asupra vectorilor se realizeaz folosind funciile ce sunt puse la
dispoziia utilizatorului prin intermediul unei biblioteci matematice extinse.
LabView este un mediu de dezvoltare grafic ce permite construirea de aplicaii
destinate instrumentiei virtuale: msurri i teste de laborator, monitorizarea aparatelor
industriale, studiul comportamentului sistemelor. LabView permite proiectare aplicaiilor
SCADA (Supervisory Control and Data Acquisition of Industrial Processes) i MMI (ManMachine Interface).
Caracteristic interfeei grafice LabView este tabloul de comand (control panel) n
care utilizatorul poate aduga controale (comutatoare, indicatoare, reglaje) i afiaje de date
(afiaje numerice, osciloscoape, multimetre, LED-uri indicatoare, grafice, histograme, etc.).
Tabloul de comand se pune n legtur cu un flux de achiziie de semnal (ce provine de la o
plac de achiziie de semnal, plac audio sau video). Utilizatorul va putea apoi analiza i testa
comportamenul sistemului n mod virtual folosind facilitile programului i apoi s-i
construiasc propriile aplicaii. Pentru aceasta LabView dispune de:

un mod de programare grafic (vizual) prin intermediul cruia utilizatorul poate


asambla n mod grafic blocuri reprezentnd anumite funcii de achiziie, prelucrare,
analiz i afiare a semnalelor obinute dintr-o gam larg de dispozitive (dispozitive
conectate pe magistrale de tip GPIB, VXI, interfa serial, microcontrolere, plci de
achiziie, etc.);

un modul numit Application Builderce permite obinerea de aplicaii de sinestttoare care pot fi distribuite ca programe executabile;

conectivitate cu alte surse de date sau cu alte aplicatii din reea prin interfee OLE,
DDE, NetDDE sau DLL, legturi SQL i protocoale TCP/IP sau UDP;

o bibliotec de peste 550 de drivere de instrumente de la peste 40 de furnizori,


arhitectura de conectare a acestora respectnd standardul VXI plug&play;

posibilitatea de analiz i procesare n timp real a datele eantionate.

LabView dispune i de un limbaj de programare numit LabWindows/CVI (CVI este


un acronim pentru C for Virtual Instrumentation). Acesta este un mediu de programare
destinat proiectrii aplicaiilor folosind limbajul C. LabWindows/CVI pune la dispoziia
utilizatorilor fiiere de instrumentaie virtual sub forma unor biblioteci dinamice, perminduse astfel inserarea in codul surs utilizator a aplicaiilor predefinite.
Astfel, prin intermediul fiierelor de intrare/ ieire integrate, a rutinelor de analiz i a
instrumentelor de creare a interfeei utilizator, programul furnizeaz elementele eseniale n
vederea realizrii unor aplicaii profesionale de prelucrare de semnal, instrumentaie virtual
i control de proces.
Dou programe specifice lucrului cu fiiere audio sunt CoolEdit i GoldWave.
Acestea permit nregistrarea de semnal audio, editarea formei de und i memorarea pe disc
a fiierelor audio n mai multe formate i codificri.
Astfel, programul CoolEdit permite folosirea a 20 de formate audio i multiple
frecvene de eantionare a semnalului. Alte faciliti ale programului sunt:
- mixarea semnalului din mai multe surse;
- zero cross adjust ajustarea automat a eantioanelor;
- function scripting un limbaj de tip script pentru apelul funciilor predefinite;
- faciliti pentru analiza semnalului audio: spectrul de frecvene i faze,
histograme de analiz;
De asemenea programul dispune de numeroase filtre predefinite, cum ar fi:
- efecte legate de variaia amplitudinii semnalului, cum ar fi: amplificare/atenuare,
normalizare, amplificare variabil fade in/fade out;
- efecte de temporizare, cum ar fi introducerea de ecouri;
- mai multe tipuri de filtre digitale, cum ar fi de exemplu un egalizator pe mai multe
benzi de frecven;
- reducerea zgomotului din semnalul achiziionat;
- modificarea tempo-ului i tonalitii semnalului.
Pe lng acestea, aplicaia GoldWave permite n plus editarea formei de und cu
ajutorul mouse-ului, diverse filtre FTJ, FTS, FTB, i de asemeni un expression evaluator ce
permite generarea unor semnale audio complexe pornind de la funcii matematice predefinite.
Ca o concluzie asupra situaiei actuale de la nivelul aplicaiilor de prelucrare de
semnal audio sau vocal, se poate spune c aplicaiile existente nu sunt numeroase, ele dei
avnd o tradiie i o dezvoltare desfurat pe parcursul mai multor ani, oferind multiple
faciliti ce se pot folosi n analiza semnalului audio i vocal, totui ele constituie doar un
punct de plecare (sau n unele cazuri nite platforme de dezvoltare) pentru proiectarea i
testarea unor algoritmi proprii de procesare de semnal.
Facilitile de procesare oferite (cu referire la filtrele digitale existente n aceste
aplicaii) sunt faciliti built-in fr posibiliti de dezvoltare ci doar de utilizare. Se poate intui
faptul c filtrajele adaptive, neliniare de care este nevoie n aplicaiile de procesare a vorbirii
de exemplu vor trebui realizate de ctre proiectant, folosind eventual ca suport platformele de
lucru existente.

II. Metode actuale de procesare i analiz a semnalului vocal

Analiza i prelucrarea semnalului vocal constituie etapele premergtoare n


abordarea sintezei i recunoaterii de voce. Prelucrarea numeric a semnalului vocal
cuprinde toate metodele de operare direct asupra semnalului, n special metode de filtrare,
codificare i compresie. Analiza semnalului vocal presupune determinarea parametrilor
semnalului pe baza eantioanelor de vorbire nregistrate de la vorbitor, parametrii care vor fi
folosii n aplicaia specific de sintez sau recunoatere de voce.
2.1. Metode de prelucrare numeric a semnalului vocal
Prelucrarea semnalului vocal ncepe cu achiziia semnalului de la surs: microfon,
sau aparatur electronic de nregistrare. Achiziia presupune conversia digital a semnalului
analogic i apoi filtrarea sa pentru eliminarea zgomotelor de achiziie. Conversia se face cu o
frecven de eantionare de cel puin 8 kHz (uzual se folosesc frecvene standard de 11 kHz,
16 kHz sau 22 kHz).
Conversia analog-digital a semnalului presupune un anumit mod de reprezentare a
semnalului n format numeric. Stabilirea unui astfel de mod de reprezentare digital se
numete codarea semnalului.
2.1.1. Metode de codare a semnalului vocal
Tehnica cea mai utilizat n codarea semnalului vocal este tehnica modulrii
impulsurilor n cod (PCM Pulse Code Modulation ) [Vla97]. Folosind codarea PCM,
fiecare eantion al semnalului este cuantizat (i se atribuie o valoare numeric) independent
de celelalte eantioane. Astfel, un codor PCM determin nivelul de cuantizare al fiecrui
eantion fr s in cont de nivelul eantioanelor precedente, iar apoi atribuie acestui nivel
de cuantizare un cod binar (numit cuvnt de cod), ce reprezint forma codat a semnalului. n
tehnica PCM exist diferite moduri de cuantizare a valorii fiecrui eantion i de asociere a
cuvintelor de cod pentru un nivel de cuantizare. Cele mai uzuale tehnici folosite sunt codarea
liniar i codarea logaritmic [Vla97] :
Codarea liniar const n considerarea valorii scalate a eantionului ca i cuvnt de
cod. Astfel, un semnal de intrare cu valori ntre 0 i 1000 mV va fi codat liniar cu valori ntre 0
i o valoare maxim VM (255 pentru valori reprezentate pe octet). Valoarea eantionului poate
fi o mrime cu semn, innd cont c semnalul vocal variaz n jurul unei poziii de referin, de
nivel 0. Astfel, cuvntul de cod poate fi la rndul lui un numr cu semn.
Codarea logaritmic aplic o transformare logaritmic valorii scalate a eantionului,
i apoi atribuie o reprezentare numeric rezultatului obinut. Astfel, cuvntul de cod va conine
semnul i logaritmul valorii scalate a eantionului. Acest standard de codare este folosit n
telefonia digital, datorit faptului c n telefonie valorile de amplitudine mare a eantioanelor
sunt puin frecvente, i ca urmare pot fi reprezentate cu o acuratee mai mic dect valorile
de amplitudine mic, aa cum este cazul n transformarea logaritmic.
Exist dou standarde pentru codarea logaritmic : legea -law, folosit n America
de Nord i Japonia, respectiv legea A-law, folosit n Europa. Aceste tehnici de codare
standard sunt expuse n cadrul acestui referat, n capitolul III. Amplitudinea fiecrui eantion
va fi reprezentat printr-un cuvnt de cod pe 8 bii (fa de 14 bii ct ar fi fost necesari n
cazul metodei liniare pentru codarea unui semnal la o calitate perceput echivalent).
Dac n cazul codrii PCM cuvntul de cod se reprezint printr-un numr fix de cifre
binare, exist metode care genereaz coduri de lungime variabil. Codarea entropic este
o astfel de metod, care urmrete codarea semnalului pe grupuri de eantioane care au
valori apropiate, situate ntr-o subclas a valorilor totale posibile. Astfel, pentru fiecare grup de
astfel de eantioane, cuvntul de cod se genereaz pe un numr de bii mai mic dect
numrul de bii ce ar fi necesar pentru codarea plajei totale de valori pentru eantioane. Un

exemplu de codare entropic de lungime variabil este codarea Huffman, care presupune o
parcurgere a-priori a semnalului pentru gruparea eantioanelor i stabilirea claselor de valori.
Codarea Huffman poate de exemplu folosi o grupare a valorilor eantioanelor pe segmente
corespunztoare vocalelor i consoanelor, n cazul consoanelor (care au valori ale
eantioanelor mult mai mici comparativ cu vocalele) putndu-se folosi o codificare mai
condensat. Spre deosebire de codarea Huffman, codarea aritmetic nu codeaz
eantioanele pe grupe sau blocuri, ci ea caut secvene de valori identice ale semnalului,
crora le atribuie anumite simboluri dintr-un dicionar sau cuvinte de cod.
O metod care se folosete pentru eliminarea redundanei semnalului este codarea
predictiv [Feh93]. Metoda se utilizeaz pentru codarea vorbirii, dar i a imaginii i a surselor
de date, n vederea transmiterii informaiei la distan. Metoda urmrete s elimine din
semnal ceea ce poate fi prezis despre el la receptor. Predictorii de la receptor i de la
transmitor trebuie s funcioneze sincron, pe baza aceluiai set de reguli.
Tehnica cea mai uzual ce se bazeaz pe metoda prediciei se numete modulaia
diferenial a impulsurilor de cod ( DPCM Differential Pulse Code Modulation ).
Schema bloc a codorului DPCM este ilustrat n figura 2.1.

x(n)

e(n)

i(n)
Q

xp(n| n-1,n-2,...,n-p)
Predictor

ep(n)
xp(n)

Figura 2.1. Schema canonic a codorului DPCM (PCM diferenial)


n figura 2.1, e(n) este diferena dintre eantionul de intrare x(n) i o predicie a
eantionului notat cu xp(n| n-1,n-2,...,n-p). Aceast predicie se calculeaz ca o combinaie
liniar a unui numr de p eantioane care au fost transmise anterior:
p

x p ( n | n 1, n 2,..., n p) a k x p (n k ) ,

(2.1)

k 1

unde x p ( n k ) reprezint eantionul reconstruit la momentul n-k:

x p (n k ) x p (n k | n k 1, n k 2,..., n k p ) e p ( n k ) (2.2)
La fiecare pas, eroarea de predicie e cuantizat ntr-o valoare e p(n) de ctre
cuantizorul Q, care totodat genereaz i secven de indici i(n).
Astfel, semnalul x(n) va putea fi reconstruit pe baza valorilor e p(n) recepionate de la
transmitor. Utilizarea metodei DPCM e susinut de faptul c variaia semnalului diferen
ep(n) e mai mic dect variaia eantionului x(n). Astfel, presupunnd acelai debit de codare
i acelai cuantizor, tehnica DPCM aduce o mbuntire de aproximativ 6 dB a raportului
semnal/zgomot fa de codarea PCM.
Pentru tratarea nestaionaritii semnalului vocal se folosesc metode de codare
adaptive. Principiul de baz al adaptrii este de a realiza n codor estimarea unor aspecte
statistice ale semnalului vocal, precum energia, frecvena sau valorile spectrale [Feh93].

Astfel, n codificarea adaptiv ADPCM se calculeaz o estimaie local a deviaiei


semnalului de intrare, care va controla ctigul unui amplificator situat n faa unui cuantizor
cu variaie unitar, aa cum se ilustreaz n figura 2.2 :

e(n)

b(n) = 1

xp(n| n-1)
Predictor

xp(n)

Informaia
de adaptare

Figura 2.2. Schema bloc a codorului delta adaptiv


Cu un astfel de codor adaptiv se poate obine un ctig mai mare de 5 dB n raportul
semnal/zgomot fa de sistemul DPCM.
Exist dou tipuri de metode de adaptare n codarea semnalului vocal: adaptarea
silabic i adaptarea instantanee. Adaptarea silabic estimeaz caracteristica semnalului
vocal pe o durat de cteva milisecunde (4..25ms) pentru a se acomoda la modificrile din
interiorul fonemelor i silabelor. Adaptarea instantanee folosete constante de timp mai mici
(sub 4ms).
Modulaia delta (DM Delta Modulation ) [Feh93] este un caz special de DPCM
n care cuantizorul folosete doar dou valori posibile, ceea ce are ca rezultat aproximarea n
trepte a formei de und. Modulaia delta are variante de implementare att cu cuantizor fix,
caz n care necesit o rat de eantionare ridicat pentru a se putea acomoda variabilitii
ridicate a semnalului vocal, ct i variante adaptive.
Principiul modulaiei delta este descris de urmtoarele ecuaii :

b( n) sgn[ x (n) x p ( n)]

(2.3)

x p (n) x p ( n 1) G n b( n) .

(2.4)

n modulaia delta apar dou tipuri de zgomote (erori) de cuantizare : zgomotul de


suprapant, datorat variaiei mai rapide a semnalului dect posibilitatea de urmrire a
codorului, i zgomotul de granularitate, care apare datorit variaiei de nivel sczut a
semnalului. Aceste tipuri de zgomote de cuantizare sunt ilustrate n figura 2.3 :

Zgomot de
suprapant

Zgomot granular

Figura 2.3. Tipuri de zgomot n modulaia delta


Tehnicile de modulaie delta adaptiv cel mai des folosite sunt modulaia delta cu
pant variabil i modulaia delta cu adaptare instantanee.
Modulaia delta cu pant variabil (CVSDM Continuously Variable Slope Delta
Modulation ) are o schem de adaptare silabic n forma unui filtru digital de ordinul 1 cu o
constant de timp mai mare de 4ms. Metoda CVSD are schema bloc din figura 2.2, n care

ctigul amplificatorului are forma :

G n Gn 1 f (bn 1 , bn 2 , bn 3 ) ,

(2.5)

unde funcia f() ia valorile 1 sau 0 dup cum bn-1, bn-2 , bn-3 sunt sau nu toate de acelai semn.
Modulaia delta cu adaptare instantanee are ctigul :

G n G n 1 M (bn 1 , bn 2 ) ,

(2.6)

unde M ia una din dou valori dup cum b n-1, bn-2 sunt sau nu de acelai semn : M va fi
supraunitar pentru predicia de suprapant, i subunitar pentru predicia de granularitate.
Deosebirea dintre cele dou metode este c adaptarea silabic este mai lent, avnd
ca efect micorarea zgomotului de granularitate, dar i creterea zgomotului de suprapant.
La adaptarea instantanee crete zgomotul de granularitate, dar algoritmul se adapteaz rapid
la variaiile de suprapant.
2.1.2. Metode i standarde de compresie a semnalului vocal
Codarea predictiv DPCM i cea adaptiv ADPCM descrise anterior, din cauza
faptului c ele reduc debitul de date prin codare, se folosesc de asemeni i n procesul de
compresie a semnalului vocal. Bazat pe tehnica ADPCM, mai exist o metod de compresie
pe subbenzi numit SB-ADPCM. Lrgimea de band disponibil este mprit pe mai multe
subbenzi separate, pe care apoi este aplicat algoritmul adaptiv de modulare diferenial a
impulsurilor n cod, crescnd astfel acurateea codrii precum i lrgimea de band care
poate fi transmis. Rata de date la aceste metode variaz ntre 64kbps i 48kbps [Vla97].
O alt metod de compresie este numit compresia prin transformri, n care se
urmrete mprirea semnalului de la intrare n segmente sau blocuri i obinerea unei
transformri digitale pentru fiecare segment sau bloc de date considerat. Pentru fiecare
segment se calculeaz anumii coeficieni de transformare, care vor condensa energia
semnalului i vor fi transmii pe canalul de comunicaie.
Principiul compresiei prin transformri, ilustrat n figura 2.4, este urmtorul :
Dac la intrare avem un vector N-dimensional U(1..N), cu valoare medie nul, printr-o
transformare liniar A obinem un vector complex V(1..N) cu componente care sunt
necorelate mutual. Componentele din vectorul V se cuantizeaz independent i se transmit
pe canal. La receptor, vectorului V c obinut din cuantizarea lui V i se aplic o transformare
invers B pentru a recompune aproximarea vectorului iniial U, care este U r.

Vc

Ur

u(1)
u(2)
.
.
u(N)

v(1)
v(2)
.
.
v(N)

vc(1)
vc(2)
.
.
vc(N)

ur(1)
ur(2)
.
.
ur(N)

Tr A

Tr B

Figura 2.4. Algoritmul de compresie prin transformri


Problema care se pune n continuare este de a obine matricile A i B precum i a
cuantizorului optimal Q, astfel nct valoarea medie ptratic a distorsiunii ntre vectorii U i
Ur s fie minim. Algoritmul optimal a fost gsit de ctre Karhunen i Loeve, numindu-se
transformarea KL.
Algoritmul KL nefiind o transformare rapid, se nlocuiete n multe abordri prin alte
transformri unitare, cum ar fi transformrile de tip sinus, cosinus, DFT, Hadamard sau Slant.
O tehnic des folosit att ca metod de compresie, ct i ca metod de analiz i
sintez a semnalului vocal este tehnica prediciei liniare LPC ( Linear Prediction

Coding ). Tehnica se bazeaz pe separarea semnalului de excitaie de semnalul


corespunztor tractului vocal, determinarea unor parametrii de aproximare numii coeficieni
LPC i transmiterea acestora pe canalul de comunicaie. La receptor, decodorul va prelua
aceti parametrii i i va reconverti n forma de und iniial. Calitatea obinut cu aceast
metod nu este foarte ridicat, tehnica funcionnd cu aproximaii, dar rata de bit este mult
mbuntit.
Printre metodele care folosesc tehnica prediciei liniare amintim :
Codorul de semnal vocal folosind predicia liniar cu cod excitat CELP ( Code
Excited Linear Prediction ) este o tehnic reprezentativ de compresie a vorbirii ; este
folosit n SUA (Standardul Federal 1016) i poate comprima vorbirea pn la 4,8 kbps.
Standardul G.728 se bazeaz pe o schem de cuantizare vectorial numit predicie
liniar cu cod excitat de ntrziere mic LD-CELP ( Low Delay Code Excited Linear
Prediction ). Standardul opereaz la 16 kbps dar lrgimea de band este limitat la 3,4 kHz.
Aceste metode bazate pe LPC folosesc cuantizarea vectorial cu dicionare de coduri
( code books ) att la transmitor, ct i la receptor. n standardul 1016, bazat pe metoda
CELP, diferena dintre valoarea eantionului i cea gsit n dicionar e comprimat i
transmis mpreun cu indexul valorii din dicionar. Calitatea standardului e comparabil cu
cea dat de metoda ADPCM.
Standardul Federal 1015 al SUA folosete versiunea simpl a codrii liniar predictive,
care poate opera la viteze de 2,4 kbps. Din cauza aproximaiilor n codare, calitatea este mai
slab dect n cazul metodelor bazate pe CELP.
2.1.3. Standarde de compresie a semnalului audio de nalt fidelitate
n ultimii ani au fost create de ctre diverse firme pe plan internaional cteva
standarde de compresie foarte performante, ce se adreseaz nu doar semnalului vocal, ci
semnalului audio n general. Dintre acestea amintim: TrueSpeech, MPEG, FLAC,
Lernot&Hauspie SBC, IMC, Microsoft, Ogg Vorbis, Qdesign, Atrac, Voxware,etc.
Standardul MPEG este poate cel mai cunoscut la ora actual, oferind o calitate net
superioar a sunetului. Creat de ctre un grup de lucru numit Moving Picture Expert Group
(MPEG), standardul a fost utilizat pentru compresia sunetului pentru televiziunea digital.
MPEG-audio este alctuit dintr-o familie de trei scheme de codare i compresie. Ele se
numesc MPEG-audio nivelul 1, nivelul 2 i nivelul 3. Complexitatea algoritmilor crete cu
numrul nivelului, nivelul 3 fiind cel mai complex, avnd performanele cele mai bune [Vla97].
Toate cele trei nivele din standardul MPEG folosesc acelai principiu: o combinaie
ntre codarea prin transformri i mprirea pe subbenzi de frecven. Astfel, spectrul
semnalului este mprit n subbenzi care se codeaz separat ntr-un mod optim.
Algoritmul de compresie MPEG este mai complex dect tehnicile de codare
adaptive, oferind rate de compresie mai mari i o calitate mai bun a sunetului. Prin acest
algoritm se pot obine rate de compresie cuprinse ntre 5 :1 i 10 :1.
Algoritmul MPEG-audio cuprinde urmtoarele etape :
1) Semnalul audio este convertit n domeniul frecven, iar spectrul este divizat n 32 de
subbenzi separate ;
2) Pentru fiecare subband se calculeaz amplitudinea semnalului audio i se determin
nivelul zgomotului prin folosirea unui model psihoacustic. Funcia acestui model este de a
analiza semnalul de intrare audio n vederea localizrii zgomotului de cuantizare n
spectrul frecven, pentru a putea fi mascat.
3) n final, fiecare subband este cuantizat funcie de nivelul zgomotului de cuantizare din
interiorul benzii respective.

Intrare audio

Banc de filtre :
Conversia
timp-frecven
Model
psihoacustic

Semnal codat

Alocarea nivelelor
de cuantizare i
codare

Formatare

Figura 2.5. Schema bloc a codorului MPEG-audio


Performanele celor trei nivele de compresie MPEG-audio sunt urmtoarele:
1) Nivelul 1 este o versiune simplificat a standardului MUSICAM. El este adecvat pentru
construirea unor codoare simple, cu performane medii, i permite obinerea unei rate de
transmisie de 192 kbps pe canal audio.
2) Nivelul 2 este identic cu standardul MUSICAM, iar calitatea obinut este aproape
echivalent cu calitatea CD-audio. Permite o rat de 96 kbps pe fiecare canal.
3) Nivelul 3 este cel mai performant, fiind o combinaie ntre standardele MUSICAM i
ASPEC ; el permite obinerea unei rate de 64 kbps pe fiecare canal audio.
n concluzie, metodele de procesare a semnalului vocal n vederea analizei sunt
diverse i bine puse la punct de grupuri de lucru i firme puternic dezvoltate pe plan mondial,
att n ceea ce privete codarea semnalului vocal, ct i metodele de compresie. Nu este
exclus ns ca n viitor s apar noi metode i algoritmi performani mai ales n domeniul
compresiei, folosind abordri adaptive care s elimine redundana inerent a semnalului
vocal, dar care s pstreze integritatea semnalului la parametrii superiori, absolut necesar n
procesul sintezei i recunoaterii vorbirii.
2.2. Metode de analiz a semnalului vocal
innd cont c semnalul vocal este cvasistaionar pe segmente scurte de timp, adic
i pstreaz proprietile nealterate pe parcursul fiecrui interval, metodele actuale de
prelucrare a semnalului vocal folosesc aa-numita analiz pe termen scurt. Pentru a aborda
aceast modalitate de analiz, semnalul vocal este mprit n segmente cu lungimea de 1030 ms, pe parcursul crora semnalul se consider staionar.
Extragerea informaiei din cadrul segmentelor de timp se face folosind o funcie
fereastr, care are rolul de ponderare a parametrilor semnalului cu accentuarea valorilor
corespunztoare eantioanelor din centrului ferestrei (segmentului considerat) i diminuarea
celor corespunztoare marginilor ferestrei. Aceasta se face n scopul obinerii unei estimri
netezite a parametrilor, care s permit trecerea fin de la o secven de parametrii la
urmtoarea, corespunztor segmentelor de semnal considerate. n acelai scop se folosete
i intercalarea segmentelor pe axa timpului, n acest caz nceputul unui segment
suprapunndu-se peste sfritul segmentului anterior. Acest tip de analiz se numete
analiz cu fereastr glisant [Lup04].
Funciile fereastr cele mai uzuale sunt : fereastra Hamming, Hanning, fereastra
cosinus. Aceste funcii au o form gaussian (prezentat n figura 2.6) pentru a asigura
ponderarea valorilor centrat pe mijlocul ferestrei.

x
Figura 2.6. Funcie fereastr utilizat n ponderare

Mai departe, analiza semnalului vocal poate fi fcut n dou moduri, innd cont de
domeniul de analiz: n domeniul timp i n domeniul frecven. Analiza n domeniul timp
presupune determinarea proprietilor semnalului vocal din studierea formei de und a
semnalului, privit ca variaia valorilor eantioanelor vocale n funcie de timp. Analiza n
domeniul frecven presupune determinarea spectrului de frecvene a semnalului i
determinarea parametrilor dorii pe baza formei spectrale.

2.2.1. Analiza n domeniul timp a semnalului vocal


Prin analizarea direct a formei de und a semnalului se pot extrage urmtorii
parametrii: amplitudinea maxim i medie, energia semnalului vocal, numrul trecerilor prin
zero i frecvena fundamental.
Amplitudinea semnalului ne d informaii despre prezena sau absena semnalului
vocal, despre faptul c semnalul este sonor sau nesonor pe segmentul considerat. n cazul
sonor (rostirea unor sunete vocalice) amplitudinea este mare, pe cnd n cazul sunetelor
nesonore (zgomote, rostire de consoane) amplitudinea este redus.
Amplitudinea medie pentru N eantioane se calculeaz astfel [Pic93]:

M ( n)
unde:

1
N

| x(m) | w(n m)

(2.7)

x(m) este eantionul curent al semnalului vocal, iar


w(n-m) este fereastra utilizat n segmentul considerat.

Energia semnalului este util n determinarea caracteristicilor de putere transportat


a semnalului vocal. Pentru un semnal cu valoare medie nul, energia pe termen scurt se
definete astfel [Lup04]:

E ( n)

1
N

[ x(n) w(n m)]

(2.8)

Segmentele sonore (vocalele) au o energie medie ridicat, pe cnd consoanele au


energie sczut. Pentru majoritatea fonemelor, energia se concentreaz n banda de
frecvene ntre 300 i 3000 Hz.
Numrul trecerilor prin zero este util pentru determinarea caracteristicilor de
frecven n interiorul unui segment de timp. Numrul trecerilor prin zero se calculeaz astfel
[Pic93]:
N 1

NTZ

[1 sgn( s(n 1)T ) sgn( s(nT ))]


n0

(2.9)

unde sgn(n) este funcia semn:

1, n 0
1, n 0

sgn(n)

(2.10)

Numrul trecerilor prin zero este o caracteristic ce se folosete n recunoaterea


vorbirii, precum i n determinarea caracterului sonor/nesonor. n interiorul segmentelor

sonore numrul trecerilor prin zero este mai redus, n timp ce n segmentele nesonore acest
parametru este mai ridicat.
Frecvena fundamental este un parametru deosebit de important folosit att n
sinteza ct i n recunoaterea vorbirii. Frecvena fundamental corespunde cu periodicitatea
semnalului vocal. Determinarea acestui parametru nu se poate face ntotdeauna cu
exactitate, din cauza variabiliti semnalului vocal chiar pe poriuni scurte de timp. Rostirea
vocalelor prezint o frecven fundamental ce poate fi determinat, pe cnd consoanele,
care sunt rostiri neperiodice, nu au frecven fundamental.
Dintre metodele uzuale de determinare a frecvenei fundamentale a semnalului vocal
amintim urmtoarele:
A. Metoda autocorelaiei
Metoda se bazeaz pe calculul funciei de autocorelaie a semnalului vocal, care ne
d informaii despre interdependena temporal a eantioanelor. Funcia de autocorelaie se
definete astfel [Sto84]:

Rn ( k )
unde

N k 1

[ x(m n) w(m)][ x(n m k ) w(m k )]

(2.11)

m 0

x(n) este valoarea eantionului de semnal, iar


w(m) este funcia fereastr utilizat.

Funcia de autocorelaie prezint maxime la intervale de timp egale cu perioada


semnalului. Determinarea acestor maxime i msurarea distanei dintre ele conduce la
determinarea frecvenei fundamentale a semnalului.

B. Metoda funciei diferen de amplitudine medie


Metoda se bazeaz pe calculul funciei diferen de amplitudine medie, care are
expresia [Sto84]:

D ( n)

1
N

N 1

| s
k 0

s k n |

, cu 0 n N 1

(2.12)

Funcia diferen de amplitudine medie D(n) prezint minime la distan egal cu


perioada semnalului, i are avantajul c se poate calcula mai rapid dect funcia de
autocorelaie.
C. Metoda cu limitare central
Metoda urmrete simplificarea calculelor prin reinerea n procesul de calcul doar a
eantioanelor de semnal ce depesc n valoare absolut o anumit valoare de prag. Apoi
semnalul se accentueaz n felul urmtor: valorile pozitive se adun cu valoarea de prag, iar
din cele negative se scade valoarea de prag P:

x ( n) P , x ( n) 0
x ( n) P , x ( n) 0

x ( n)

(2.13)

n varianta metodei cu limitare infinit, valorile pozitive se nlocuiesc cu o valoare


maxim, iar cele negative cu o valoare minim.
Dup faza de accentuare, se calculeaz funcia de autocorelaie definit anterior, ale
crei maxime se vor putea determina mult mai uor.

De asemeni, se poate utiliza cu bune rezultate o metod combinat n care dup


limitarea central se aplic metoda funciei diferen de amplitudine medie.

2.2.2. Analiza n domeniul frecven a semnalului vocal


Analiza n domeniul frecven a semnalului presupune descompunerea semnalului n
componente de frecven cunoscut, cum este cazul analizei Fourier, sau n componente a
cror comportare n frecven este cunoscut, cum e cazul analizei bazate pe filtre digitale.
Parametrii obinui n urma descompunerii semnalului n componente difer de cazul analizei
n domeniul timp, cele dou abordri fiind complementare. Principalele metode folosite n
cadrul analizei n domeniul frecven sunt [Lup04]: analiza prin banc de filtre, analiza Fourier,
analiza LPC, analiza cepstral i analiza perceptual.
A. Analiza prin banc de filtre digitale
Analiza prin banc de filtre digitale are ca scop descompunerea semnalului n benzi de
frecven i determinarea ponderii componentelor din aceste benzi n semnalul iniial, de
unde se va putea trage o concluzie asupra comportrii n frecven a semnalului vocal.
Schema bloc a unui astfel de analizor este dat n figura 2.7 [Lup04]:

FTB 1

Transformare
neliniar

FTB 2

Transformare
neliniar

x(n)
.
.
.

FTB N

x1(n)

x2(n)

.
.
.

Transformare
neliniar

xN(n)

Figura 2.7. Schema bloc a analizorului cu banc de filtre


Semnalul iniial x(n) este descompus n N benzi de frecven prin intermediul filtrelor
trece-band FTB1...FTBN. Fiecare band este supus apoi unei transformri neliniare pentru
deplasarea spectrului ctre domeniul frecvenelor joase. Vectorii rezultai x k(n) pentru fiecare
subband vor fi analizai separat, iar n vederea sintezei sau recunoaterii li se va aplica n
continuare anumii operatori matematici (netezire, normalizare). Deseori se folosete calculul
energiei vectorilor rezultai pentru a determina ponderea lor n alctuirea semnalului iniial.
B. Analiza Fourier
Analiza Fourier este cea mai rspndit metod de analiz a semnalului vocal pentru
c ea ofer imaginea complet a componentelor semnalului pe scara frecvenei, rezultnd
astfel spectrul de frecvene asociat. Analiza Fourier se bazeaz pe proprietatea unui semnal

periodic de a putea fi descompus n componente sinusoidale, aa cum va fi expus n capitolul


2 al prezentului referat.
Aceast metod de analiz se bazeaz pe calculul transformatei Fourier discrete, de
forma [Mat01]:
N 1

X (k ) x ( n)e j 2nk / N , k = 1,2,...,N , (2.14)


n 0

unde:

x(n) reprezint eantioanele de semnal,


X(k) este valoarea componentei k din spectrul de frecvene,
N este numrul de eantioane considerate, iar
j este unitatea imaginar.

Calculul se face n domeniul complex, rezultnd pentru fiecare component X(k)


dou valori reale corespondente:
- modulul sau amplitudinea: Ak= |X(k)| , respectiv
- faza: k=arg(X(k)).
n practic se folosete mai mult spectrul amplitudinilor, sau spectrul de putere al
semnalului. Aceasta deoarece urechea uman e mai puin sensibil la spectrul de faze al unui
semnal vocal.
Cum pentru fiecare k e necesar calculul sumei (2.11) cu N valori, rezult o
complexitate a algoritmului de calcul de forma O(N 2). Pentru rapidizare sunt disponibili diveri
algoritmi, dintre care cei mai cunoscui sunt algoritmii FFT (Fast Fourier TransformTransformata Fourier Rapid) cu decimare n frecven sau decimare n timp. Algoritmul FFT
se bazeaz pe calculul recursiv al valorilor spectrale [Tod05] i reduce complexitatea
algoritmului la O(Nlog2N).
Pe baza aflrii spectrului de frecvene se pot determina o serie de parametrii specifici,
cum ar fi anvelopa spectral sau forma i valoarea formanilor, ce ne dau informaii despre
comportamentul n domeniul frecvenei a semnalului pe segmentul de timp considerat.
Formanii maximele locale ale anvelopei spectrale- vor fi pe larg prezentai n capitolul
dedicat procesrii semnalului vocal din cadrul acestui referat.
nainte de calculul spectrului, semnalul poate fi prelucrat printr-un filtru trece-sus,
realizndu-se aa-numita preaccentuare a semnalului. Aceast operaie este efectuat n
scopul accenturii componentelor de frecven ridicat, care de regul sunt atenuate n
procesul vorbirii de ctre sistemul fonator [Lup04].
C. Analiza prin predicie liniar
Analiza prin predicie liniar sau analiza LPC (Linear Prediction Coding) este o
metod eficient de determinare a unor parametrii recursivi ai semnalului vocal, care se vor
putea folosi n cadrul procesului de sintez sau recunoatere a vorbirii. Analiza prin metoda
LPC se bazeaz pe modelul producerii vorbirii prezentat n figura 2.8:

F0

Excitaie

Parametrii
tractului vocal
Filtru variabil
H(z)

s(n)

Figura 2.8. Modelul producerii vorbirii prin metoda LPC


Modelul LPC al producerii vorbirii este generat n concordan cu producerea
sunetului de ctre sistemul fonator uman. Astfel, energia sonor de baz este furnizat de
ctre un semnal de excitaie, care poate s fie periodic sau neperiodic, n funcie de sunetul
produs (tren de impulsuri periodice pentru cazul vocalelor sau zgomot alb n cazul

consoanelor). Pentru un semnal de excitaie periodic, se furnizeaz frecvena fundamental


F0 ca parametru de intrare n generator.
Semnalul de excitaie este apoi amplificat cu un factor G (numit ctigul modelului) i
trecut printr-un filtru variabil avnd funcia de transfer H(z). Filtrul variabil modeleaz
comportamentul tractului vocal din cadrul sistemului fonator, i va produce la ieire semnalul
scontat s(n). Filtrul este controlat pe baza unor parametrii care sunt coeficienii LPC {a k}.
Parametrii sunt calculai pentru fiecare segment de vorbire de aproximativ 10-30 ms.
Funcia de transfer a filtrului are expresia [Tod05]:

H ( z)

G
p

1 a k z k

G
A( z )

(2.15)

k 1

unde:

G este ctigul filtrului, iar


ak sunt coeficienii de predicie LPC.

Ctigul se poate determina pe baza erorii de predicie dintre semnalul calculat cu


ajutorul filtrului recursiv i semnalul original. Pentru calculul parametrilor a k exist mai multe
metode, dintre care cele mai cunoscute sunt metoda autocorelaiei (prin algoritmul LevinsonDurbin) i metoda covarianei.
Metoda de analiz prin predicie liniar LPC are avantajul c necesit efort
computaional relativ redus, rezultnd un set de parametrii ce aproximeaz bine
comportamentul semnalului n domeniul frecven. Analiza LPC determin simplificarea
spectrului semnalului, situaie foarte avantajoas n cazul recunoaterii vorbirii, cnd se va
genera un set de vectori mult mai adecvai tratrii prin mijloace specifice inteligenei artificiale,
cum ar fi reelele neuronale. Totodat, analiza LPC este util i n cazul sintezei de voce,
genernd reducerea volumului de date n condiiile meninerii inteligibilitii vocii.
D. Analiza cepstral
Analiza cepstral este o metod ce deriv din analiza Fourier, i se utilizeaz pentru
determinarea unor parametrii ai semnalului vocal utili mai ales n procesul recunoaterii
vorbirii [Tod05]. Modelul acustic pe care se bazeaz analiza cepstral este asemntor cu
modelul LPC i este prezentat n figura 2.9:

Excitaie
e(n)

Filtru variabil
h(n)

s(n)

Figura 2.9. Modelul producerii vorbirii prin metoda cepstral


Semnalul vocal s(n) este produs de ctre un semnal de excitaie e(n) corespunztor
corzilor vocale din sistemul fonator, care este filtrat de ctre un filtru variabil avnd rspunsul
la impuls h(n), ce corespunde tractului vocal. Avem astfel:

s ( n ) e( n) h( n)
unde:

(2.16)

s(n) e semnalul rezultat;


e(n) excitaia;
h(n) rspunsul filtrului.

Dac translatm ecuaia (2.13) n domeniul frecven, se poate scrie:

S ( f ) E( f ) H ( f )

(2.17)

Prin logaritmare obinem:

log S ( f ) log E ( f ) log H ( f ) .

(2.18)

Din ecuaia (2.15) rezult posibilitatea separrii excitaiei sonore de influena tractului
vocal, de aici rezultnd i modul de calcul al cepstrumului [Gav00]:

Semnal vocal

Transformata
Fourier

Log

Transformata
Fourier invers

Cepstrum

Figura 2.10. Modul de calcul al cepstrumului


Astfel:
- se calculeaz mai nti spectrul S(f) al semnalului prin transformata Fourier;
- se aplic logaritmul;
- se aplic transformata Fourier invers pentru a determina cepstrumul n domeniul
timp.
Analiza cepstral ne ofer informaii att despre excitaia sonor, permind
estimarea frecvenei fundamentale a semnalului, ct i despre influena tractului vocal,
ducnd la calculul spectrului netezit al semnalului vocal. Componentele cepstrale inferioare
(corespunztoare unui segment de timp de la 0 la 2ms) permit estimarea frecvenei
fundamentale prin determinarea maximului funciei cepstrale pe acest segment de timp.
Pentru calculul spectrului netezit se folosesc componentele cepstrale superioare, crora li se
aplic din nou transformata Fourier.
De asemenea, se mai poate calcula un set de parametrii numii coeficieni cepstrali
LPC, derivai direct din coeficienii LPC. Formulele de calcul pentru aceti parametrii sunt
[Fur01]:

c1 a1
n 1
k
c n a n (1 ) a k c n k , 1 n p
n
k 1
n 1
k
c n (1 ) a k c n k , n p
n
k 1

unde:

(2.19)

ak sunt coeficienii LPC calculai pn la ordinul p;


cn sunt coeficienii cepstrali LPC.

Coeficienii cepstrali s-au dovedit a fi un set de parametrii mai robuti dect


coeficienii simpli LPC, utiliznd-se cu succes mai ales n procesul de recunoatere a vorbirii
sau a vorbitorului [Lup04].

E. Analiza perceptual
Acest mod de analiz este adaptat dup modul de funcionare al sistemului
perceptual auditiv al omului, i anume dup faptul c sesizarea diferitelor tonaliti ale
sunetelor se face pe o scar logaritmic n interiorul urechii, proporional cu frecvena
fundamental a sunetului. Astfel, rspunsul urechii umane este neliniar n raport cu
frecvena, ea detectnd diferene mici de frecven mai uor la frecvene joase dect la
frecvene nalte [Lup04].

Din acest motiv au fost adoptate diferite scri neliniare de frecven, pentru care se
va calcula spectrul semnalului. Cele mai cunoscute sunt scara de frecven Bark i scara
Mel. Ambele sunt scri cu comportare logaritmic obinute prin studii realizate asupra
percepiei umane.
Exist dou metode de lucru n cadrul analizei perceptuale: analiza PLP i analiza
cepstral Mel.
Analiza PLP (Perceptual Linear Prediction) folosete scara perceptual Bark, fiind
o combinaie ntre metodele de analiz Fourier i LPC. Etapele de analiz n cadrul metodei
PLP cuprind [Her90]:
- calculul spectrului FFT prin transformata Fourier;
- aliniere spectral dup scara Bark;
- aplicarea unui set de filtre dreptunghiulare Bark pentru emularea rezoluiei
perceptuale a urechii umane;
- preaccentuare pentru stimularea frecvenelor nalte;
- conversia intensitate-trie sonor;
- aplicarea transformatei Fourier inverse pentru obinerea funciei de autocorelaie;
- calculul coeficienilor LPC sau cepstrali, numii n acest caz coeficieni PLP.
Coeficienii PLP de ordin inferior ne dau informaii despre coninutul lingvistic al
segmentului considerat (informaii semantice), pe cnd coeficienii de ordin superior sunt utili
n procesul de recunoatere a identitii vorbitorului [Lup04].
Analiza cepstral Mel se aseamn cu metoda de analiz PLP, folosindu-se n acest
caz scara de frecvene Mel. Spre deosebire de cazul anterior, acum se folosete un set de
filtre triunghiulare Mel pentru a descompune semnalul pe benzile de frecven asociate cu
scara Mel. Apoi pe fiecare band se calculeaz energia medie i se aplic transformata
cosinus pentru a obine un set de coeficieni numii coeficieni MFCC (Mel Frequency
Cepstral Coefficients).
Coeficienii MFCC au dat bune rezultate n procesul de recunoatere a vorbirii, mai
ales n combinaie cu setul de parametrii delta specificai de ctre Furui n [Fur01].
n concluzie, metodele de analiz a semnalului vocal utilizate n prezent sunt
numeroase, fiecare prezentnd variante specifice i beneficiind de aportul interesului i
studiilor a numeroi cercettori de pe mapamond. Aceste metode de analiz s-au dovedit utile
att n sinteza de voce ct i n recunoaterea semanticii vorbirii sau a identitii vorbitorului.
Ca o observaie, se poate spune c metodele de analiz au fost utilizate
distinct pe cele dou domenii: domeniul timp i domeniul frecven. Pentru viitor, se
estimeaz astfel c o abordare n paralel a analizei pe cele dou domenii va putea constitui o
baz de plecare mai robust att pentru sinteza de voce de calitate superioar, ct i pentru
generarea unor sisteme performante de recunoatere a vorbirii.

III. Metode de sintez i recunoatere a vocii


3.1. Sinteza vorbirii
Sinteza semnalului vocal const n generarea automat a semnalului vocal artificial.
In ultimii ani aceast tehnologie s-a implementat pentru mai multe limbi. Deocamdat nu s-a
reuit obinerea unui semnal vocal sintetizat pe care asculttorul s nu reueasc s-l
deosebeasc de semnalul vocal natural.
In funcie de domeniul de analiz abordat, metodele de sintez a vorbirii se mpart n
dou categorii: metode de sintez n domeniul timp i metode de sintez n domeniul
frecven.
Metodele de sintez n domeniul timp realizeaz concatenarea direct a formelor de
und stocate n prealabil n baza de date vocal. Cele mai simple sintetizatoare bazate pe
aceste metode nu utilizeaz parametrizarea unitilor acustice, utiliznd direct forma de und
a semnalului n domeniul timp.
Modelul general al acestui tip de sintez este ilustrat n figura urmtoare:

Rostire

Uniti
acustice

Form de und
codificat

Baza de date

Uniti
lexicale

Secvene de
forme de und

Rostire

CODIFICARE

Text

vocal

SINTEZA
Figura 3.1. Modelul sintezei n domeniul timp
In cadrul acestui model, ntr-o prim faz de codificare i nregistrare a formelor de
und, unitile acustice de tipul silabelor, fonemelor, demifonemelor, se nregistreaz dintr-o
rostire preliminar a unui vorbitor. Ele se vor nregistra ca forme de und cu o anumit
codificare (de exemplu PCM) ntr-o baz de date vocal.
In faza de sintez propriu-zis, dup separarea unitilor lexicale din textul de sintetizat
(uniti lexicale care trebuie s fie de acelai tip cu unitile acustice prenregistrate), se va
urmri punerea n coresponden cu unitile acustice din baza de date vocal i
reconstituirea secvenelor de und asociate. Apoi printr-un proces de concatenare a
secvenelor de und se va genera rostirea propriu-zis.
Avantajul major al acestor metode de sintez prin concatenare n domeniul timp este
reprezentat de calitatea aproape natural a vocii sintetizate. Dintre dezavantaje se pot aminti
o cantitate important de resurse folosite n procesul memorrii formelor de und, dar i
dificultile legate de modificarea prozodiei vorbirii.
Cele mai cunoscute metode de sintez n domeniul timp sunt:
- metoda PSOLA, ce folosete principiul compunerii de segmente vocale care se
ntreptrund, i
- metoda bazat pe corpus, ce folosete o baz de date (corpus vocal) de dimensiuni mari
n scopul producerii unei vorbiri de calitate ct mai natural.

Metodele de sintez n domeniul frecven realizeaz sinteza vocal pe baza unor


parametrii acustici generai n urma aproximrii unor caracteristici spectrale din domeniul
frecven. Astfel, pentru a realiza sinteza unui text, mai nti se genereaz parametrii acustici
corespunztori rostirii, i apoi sunt generate formele de und ale semnalului vocal [Bur96].
Modelul general al sintezei vorbirii n domeniul frecven este urmtorul:

Rostire

Uniti
acustice

Generare
parametrii

Baza de date
parametrizat

ANALIZA

Text

Uniti
lexicale

Secvene de
parametrii

Generare forme
de und

SINTEZA

Rostire
Figura 3.2. Modelul sintezei n domeniul frecven
In faza de analiz a sintezei din domeniul frecven, unitile acustice separate din
rostirea preliminar sunt parametrizate n funcie de caracteristicile spectrale ale semnalului
vocal. Parametrii sunt apoi nregistrai n baza de date i indexai n scopul unei regsiri facile.
In faza de sintez, unitile lexicale (cuvinte, silabe, foneme) din textul de sintetizat
sunt transformate n secvene de parametrii regsii din baza de date parametrizat.
Parametrii acustici sunt ajustai n funcie de prozodia cerut, iar pe baza lor vor fi generate
formele de und corespondente.
Avantajul metodelor bazate pe sinteza n domeniul frecven const n primul rnd din
posibilitatea realizrii facile a aspectelor de prozodie (ritm, accent, intonaie) prin calculul i
generarea corespunztoare a parametrilor acustici i spectrali. Un alt avantaj rezult din
faptul c n baza de date se pstreaz nu formele de und, ca n cazul metodelor din
domeniul timp, ci parametrii acustici, ceea ce duce la o mare economie de resurse de
memorie i computaionale.
Ca dezavantaj se poate aminti faptul c parametrizarea rostirii de la intrare n faza de
analiz duce la aproximarea semnalului vocal i ca urmare n faza de reconstrucie a
semnalului de la ieire vorbirea rezultat va avea o calitate sintetic, deprtndu-se de
vorbirea natural.
Ca exemple de metode ce utilizeaz analiza semnalului vocal n domeniul frecven
putem aminti:
-

metoda de sintez prin predicie liniar (LPC Linear Prediction Coding), ce utilizeaz
pentru generarea semnalului vocal o serie de parametrii numii coeficieni de predicie;
metoda de sintez formantic, ce utilizeaz informaiile despre formanii spectrali n
procesul generrii unitilor acustice.

n continuare se prezint trei metode cu rezultate bune n sintez, dou n domeniul timp
-metoda TD-PSOLA i metoda bazat pe corpus, a treia n domeniul frecven: metoda LPC.

3.1.1.

Metoda de sintez TD-PSOLA

Numele metodei constituie un acronim pentru Time Domain Pitch Synchronous


Overlapp and Add, adic metoda n domeniul timp ce folosete suprapunerea i compunerea
formelor de und sincron cu frecvena [Dut93].
Metoda comport dou faze principale, care sunt comune i altor metode: faza de
analiz i faza de sintez.
In faza de analiz se mparte semnalul original n segmente de durat mic (de obicei
avnd ca durat dublul perioadei fundamentale a semnalului 2T 0), segmente care nu sunt
separate, ci se suprapun. Aceste segmente se aleg sincron cu frecvena (numit pitch).
Pentru aceasta, aici n faza de analiz se aleg nite indicatori de fecven numii pitch
marks, ce vor indica centrul segmentului corespunztor din cadrul semnalului vocal.
In faza de sintez se calculeaz durata i frecvena de baz a semnalului din cadrul
segmentului considerat. In funcie de aceti parametrii, innd cont i de indicatorii pitch
markers stabilii n faza de analiz, segmentul vocal se rearanjeaz pe axa timpului,
modificndu-i frecvena fundamental, dilatndu-se sau contractndu-se temporal dac cum
este necesar.
In final semnalul sintetizat rezult prin compunerea segmentelor vocale ce se
suprapun (Overlap and Add). Aici va trebui avut grij la mbinarea segmentelor, pentru a nu
aprea discontinuiti spectrale deranjante n vorbirea sintetizat.
Modelare matematic :
Modelul metodei de sintez TD-PSOLA este ilustrat n urmtoarea diagram:

x(n)

Extragerea
segmentelor

ANALIZA

(x1, p1)
(x2, p2)
.
.
.
.
(xn, pn)
Segm. suprapuse

Mapare

SINTEZA

(X1, P1)
(X2, P2)
.
.
.
.
(Xm, Pm)

Overlap

Segm. mapate

Figura 3.3. Metoda de sintez TD-PSOLA


Faza de analiz pornete de la semnalul original x(n), i printr-un procedeu special de
segmentare, se vor obine segmentele suprapuse (adic segmente care se intersecteaz pe
axa timpului): x1, x2, ... xn . Corespunztor fiecrui segment se aleg indicatorii de frecven
pitch marks: p1, p2, ... , pn . Indicatorii de frecven se pot alege la mijlocul segmentului sau
la valoarea maxim a intensitii de semnal.
Segmentele suprapuse xi(n) (overlapping segments) vor fi extrase prin aplicarea unei
funcii fereastr segmentului original [Bur97]:
xi(n) = x(n) h(n-pi) ,
unde h(n) este funcia fereastr, iar
pi este indicatorul de frecven pentru segmentul i.

(3.1)

X(n)

Semnalul original va fi atunci regsit ca o sum de segmente vocale suprapuse:


x(n) =
unde simbolul

xi(n)

(3.2)

reprezint o sum de intervale care se suprapun (overlapping

sum).
In faza de sintez va avea loc un proces de mapare a setului de segmente s={x i(n)}
determinate anterior ntr-un alt set de segmente S={X i(n)}. Segmentele Xi(n) se numesc
segmente mapate sau repoziionate, setul S fiind un subset sau supraset al lui s, fiind
constituit din segmentele xi(n) repoziionate pe axa timpului.
S este un subset al lui s dac exist elemente x i(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 urmtorul mod:

x i ( n) X i ( n )

A
S
Fi Fi

D D
A
i

(3.3)

S
i

unde: - xi(n) sunt segmentele suprapuse iniiale,


- Xi(n) sunt segmentele mapate sau repoziionate
A
S
- Fi , Fi reprezint frecvenele de baz ale segmentului cu indicele i n faza
de analiz, respectiv sintez, iar
A
S
- Di , Di reprezint durata segmentului i n faza de analiz, respectiv
sintez.
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) ,

(3.4)

unde X(n) reprezint semnalul sintetizat de la ieire, iar


xi(n) reprezint segmentele repoziionate n urma fazei de mapare.
In figura 8 se arat modul de segmentare a unui semnal i de repoziionare pe axa
timpului a segmentelor extrase. S presupunem c avem un semnal x(t) care prezint vrfuri
de intensitate la perioada T0.
In faza de analiz, vom extrage dou segmente x 1(t) i x2(t) de perioad 2T0 centrate n
vrfurile de intensitate, aa cum se observ din figur. Cele dou segmente se suprapun pe
axa timpului de-a lungul unei perioade de semnal T 0, 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 poziie n
interiorul segmentului. In cazul nostru, vom alege poziia sa la mijlocul segmentului,
corespunznd chiar maximului de intensitate al semnalului.
Dup extragerea segmentelor din semnalul iniial, acestea vor fi ponderate prin
intermediul unei funcii fereastr special alese (de obicei se aleg funciile Blackman, Hanning
sau Hamming). Ponderarea cu funcia fereastr are ca scop aplatizarea formei de und la
capetele segmentului pentru a nu denatura semnalul original, care trebuie s se regseasc
prin compunerea segmentelor extrase, conform relaiei (2).

Urmeaz faza de sintez, n care va avea loc procesul de mapare al segmentelor.


Maparea reprezint o repoziionare pe axa timpului a segmentelor extrase, n funcie de
modificrile parametrilor prozodici, i anume a frecvenei i duratei semnalului.
In cazul n care se dorete modificarea frecvenei semnalului pentru a schimba
tonalitatea (nlimea) vocii, segmentele iniiale trebuie deplasate pe axa timpului. Deplasarea
n avans determin mrirea frecvenei (T 1 < T0 , unde T1 este noua perioad ), iar ntrzierea
segmentului determin micorarea frecvenei (T1 < T0 ), situaie care este ilustrat n figura 14.
Dac se dorete modificarea duratei semnalului sintetizat pentru a schimba ritmul
vorbirii, frecvena va trebui s rmn aceeai 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 frecvenei semnalului. Schimbarea duratei se va face
doar prin adugarea, 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 repoziionarea segmentelor pe axa timpului, se va face astfel: mai nti
se determin noua frecvena i durat a semnalului. Cunoscnd noua durat se determin
segmentele care vor intra n compunerea semnalului sintetizat. Pentru aceste segmente, pe
baza noilor frecvene, se calculeaz poziiile indicatorilor de frecven pitch marks de-a
lungul axei timpului. Apoi eantioanele de semnal se deplaseaz n poziia indicat de fiecare
dintre aceste referine.
In final, segmentele repoziionate vor fi mbinate pentru a recompune semnalul
sintetizat. Pe poriunile comune ale segmentelor, semnalul va trebui normalizat. Normalizarea
se face prin medierea ptratic a amplitudinilor celor dou segmente:

x ( n)

x1 (n) x 2 (n)
x12 (n) x 22 (n)

(3.5)

SEMNALULO
RIGINAL

x(t)

SEGMENTELE
EXTRASE

x1(t)
p1(t)

T0

x2(t)
p2(t)

x1(t)

T0

p1(t)

SEGMENTELE
PONDERATE

x2(t)
p2(t)
T1 > T0

X1(t)

SEGMENTELE
MAPATE

p1(t)

X2(t)
p2(t)
Figura 3.4. Extragerea i maparea segmentelor n sinteza TD-PSOLA

Avantajele i dezavantajele metodei TD-PSOLA:


Metoda asigur o calitate superioar a sintezei rezultat n urma utilizrii segmentelor
de vorbire extrase direct din vorbirea uman real. Modul de alegere a segmentelor centrate
pe maximul de intensitate sonor asigur erori minime datorate compunerii segmentelor
suprapuse. Astfel, erorile vor putea apare doar la capetele intervalelor, unde semnalul sonor
are energie mic [Dut93], [Edg96].
De asemenea, un alt avantaj major al metodei const n posibilitatea modificrii facile a
frecvenei i duratei de semnal, ceea ce asigur schimbarea prozodiei semnalului vocal
sintetizat i implicit creterea calitii sintezei.
Ca dezavantaje, trebuie totui menionate zgomotele care pot aprea la capetele
intervalelor de segment, datorit erorilor introduse de mediere. De asemenea, n interiorul
tranziiilor pot aprea distorsiuni cauzate de erorile de faz, unele poriuni nesonore putnd
deveni sonore n urma compunerii segmentelor suprapuse.
Imbuntiri ale metodei:
Pentru a elimina o parte din neajunsurile metodei, au fost ncercate diferite abordri
sau mbuntiri. Cele mai cunoscute sunt LP-PSOLA i MBROLA.
Tehnica LP-PSOLA (Linear Prediction PSOLA) este o combinaie ntre alogoritmul
de sintez LPC i algoritmul PSOLA. Metoda separ excitaia de semnalul corespunztor
tractului vocal ntr-un mod asemntor metodei prin predicie liniar LPC, folosind
minimizarea erorii e(t) a semnalului de predicie (eroare ce se mai numete semnal rezidual).
Apoi algoritmul PSOLA se aplic doar pe acest semnal rezidual, care are proprietatea de a fi
decorelat n interiorul fiecrui segment considerat [Edg96].
Avantajul care apare din aceast abordare const n controlul mult mai bun asupra
structurii spectrale a semnalului, precum i n calitatea mult mbuntit a tranziiilor dintre
segmente.
Metoda MBROLA (Multiband Resynthesis Overlap and Add), proiectat n cadrul
Facultii politehnice din Mons, Belgia, are avantajul de a netezi discontinuitile spectrale ce
apar n TD-PSOLA. Metoda lucreaz i ea n domeniul timp, folosind o baz de date vocal
normalizat i interpolri la capetele intervalelor de sintez. Metoda este implementat n
cadrul unui sintetizor de voce care primete la intrare un fiier cu parametrii prozodici i
produce vorbirea sintetizat pe baza concatenrii difonemelor din baza de date vocal
[Dut93].

3.1.2 Metoda de sintez bazat pe corpus


Metoda bazat pe corpus este o metod relativ nou (bazele teoretice ale metodei sau dezvoltat n anii 1996-1997), ce elimin unele deficiene ale sistemelor de concatenare ce
folosesc uniti lexicale fixe (foneme, difoneme). Metoda mbuntete calitatea semnalului
sintetizat prin utilizarea unor segmente fonetice ct mai lungi, tiut fiind faptul c sistemele
care folosesc mbinri frecvente ale unitilor lexicale pierd mult din naturaleea vorbirii
[Hun96], [Mob00].
Metoda utilizeaz un corpus vorbit (o baz de date cu nregistrri din vorbirea natural)
de dimensiuni relativ mari. n timpul sintezei se vor selecta cele mai lungi uniti (segmente)
fonetice din acel corpus pentru generarea vorbirii. Aceasta va duce pe de o parte la
reducerea numrului de concatenri i implicit la creterea calitii vorbirii, iar pe de alt parte
la reducerea necesitilor de prelucrare a semnalului vocal prin utilizarea tehnicilor DSP (de
prelucrare digital a semnalului)
Problemele care trebuie rezolvate aici sunt [Mob00]:
1. Msurarea distanelor acustice ntre uniti pentru alegerea segmentelor fonetice celor mai
potrivite.
Baza de date va conine mai multe uniti fonetice corespunztoare unui anumit segment
lingvistic (de exemplu o mulime de foneme a, o mulime de silabe ma, etc.), iar dintre

acestea va trebui selectat doar o singur unitate, ce se potrivete cel mai bine contextului
vorbirii.
2. Construirea optim a bazei de date vocale n raport cu domeniul lingvistic, din punct de
vedere al vocabularului i limbajului folosit.
De obicei se folosesc baze de date vocale ce conin mai multe ore de vorbire nregistrat.
Baza de date este marcat pentru a ine cont de caracteristicile prozodice.
3. Acordarea trsturilor unitilor ce se concateneaz. Aici se folosesc dou tipuri de
trsturi: segmentale i prozodice.
Trsturile segmentale se refer la concatenarea a dou segmente din context lingvistic
apropiat. Astfel, este de urmrit s se concateneze dou segmente cu trsturi spectrale
ct mai apropiate pentru a asigura o tranziie ct mai fin ntre uniti.
Trsturile prozodice se refer la concatenarea a dou uniti integrate pe aceeai linie
prozodic, pentru a nu aprea salturi n intonaia i melodicitatea vorbirii.
Algoritmul de selecie al unitilor acustice [Mob00] :
n vederea selectrii unitilor fonetice din baza de date vocal se va lua n
considerare minimizarea a dou tipuri de costuri: costul pentru distorsiunea unitilor (Target
Cost) i costul pentru distorsiunea concatenrii (Concatenation Cost).
Costul pentru distorsiunea unitilor Target Cost calculeaz distanele acustice
dintre unitile candidat din baza de date vocal i unitile int care apar n textul de
sintetizat:
TC = D( UC , UT ) ,

(3.6)

unde:
- TC = Target Cost;
- UC reprezint unitatea candidat;
- UT este unitatea int.
Costul pentru distorsiunea concatenrii Concatenation Cost calculeaz distanele
spectrale dintre cele dou uniti care se concateneaz. Distanele spectrale se calculeaz n
punctul de concatenare:
CC = D( UN , UN+1 )

(3.7)

unde:
-

CC = Concatenation Cost;
UN i UN+1 reprezint dou uniti fonetice succesive din semnalul sintetizat.

Adnotarea bazei de date vocal:


Unitile acustice din baza de date vocal se adnoteaz prin vectori de trsturi
multidimensionali, ce conin proprietile segmentale i prozodice ale semnalului vocal.
Proprietile segmentale (din interiorul unitilor fonetice) se refer la parametrii
lingvistici i de semnal din segmentul considerat.
Parametrii lingvistici pot fi:
- fonemele asociate unitii acustice L[i];
- contextul lingvistic al unitii fonematice C[i].
Parametrii de semnal se refer la:
- frecvena fundamental F0;
- durata D;
- amplitudinea de semnal A(n);
- coeficienii spectrali X(n).

Proprietile prozodice in cont de prozodia segmental, care este legat de


accentuarea silabelor din interiorul unui cuvnt, precum i de prozodia suprasegmental,
legat de intonaia i modul de rostire al propoziiilor. Proprietile prozodice sunt:
- conturul frecvenei fundamentale F(n);
- conturul amplitudinii de semnal A(n);
- modificarea duratei segmentului D.
Astfel, vectorul de trsturi corespunztor unitii fonetice este de forma:
VT = [ L[i], C[i] - F0, A(n), D, X(n) - F(n), A(n), D ]

(3.8)

unde:
- VT reprezint vectorul de trsturi al unitii fonetice;
- L[i], C[i] reprezint parametrii lingvistici ai unitii;
- F0, A(n), D, X(n) reprezint parametrii de semnal;
- F(n), A(n), D reprezint parametrii prozodici ai segmentului considerat, toi
parametrii avnd semnificaia indicat mai sus.
Potrivirea unitilor candidat cu unitile int [Hun96], [Mob00]:
Potrivirea unitilor candidat cu unitile int se face la run-time, astfel:
Pentru distorsiunea unitilor (Target Cost) se compar trsturile ce deriv din
textul de sintetizat cu trsturile unitilor din baza de date vocal. Nu se iau n calcul toate
trsturile care apar n vectorul de trsturi (relaia 8), ci doar cele care se pot determina runtime. De exemplu, pentru unitile int, ce deriv din textul de intrare, nu se pot determina
parametrii de semnal.

ma

Text

ma

ma

Baza de date
vocal

ma
ma
[VT-int]

[VT-candidat]

Figura 3.5 Potrivirea unitii fonetice cu unitile candidat


Pentru distorsiunea de concatenare (Concatenation Cost) se iau n considerare
toate trsturile unitilor candidat. Acestea sunt integrate n baza de date, fiind calculate n
cadrul unui proces off-line.

ma

i
i

ma

ma

ma

[VT (`ma`)]

[VT (`i`)]

na
na
na
na
[VT (`na`)]

Figura 3.6. Potrivirea unitilor de concatenat

n vederea calculrii costurilor, fiecare unitate din baza de date va fi asociat cu o stare
ntr-un graf. Fiecare stare are asociat un Target Cost, iar fiecare tranziie n graf are asociat
( i 1) k
un Concatenation Cost. In figura 4.5, Tij reprezint costul unitii Target Cost, iar C ij
reprezint costul concatenrii Concatenation Cost:
21
C11
21
C1122 C12

T11

T21

22
C12

T22

T12
21
13

22
C13

23
C12

23
C13

T13

23
11

T23

Figura 3.7. Calculul costurilor pentru selecia unitilor


De exemplu n cazul folosirii silabelor ca uniti fonetice de baz, nodurile grafului
conin toate variantele de silabe din baza de date care sunt asociate cuvntului cutat. Astfel,
pentru cuvntul main, prima coloan a grafului conine toate variantele din baza de date
pentru silaba ma , a doua coloan conine variantele silabice pentru i , iar a treia
coloan silabele n . Fiecare silab sau nod n graf are asociat un cost de unitate care
exprim calitatea i proprietile prozodice ale unitii (silabei), iar tranziiile n graf au
asociate un cost de tranziie sau concatenare, care exprim calitatea mbinrii dintre dou
silabe.
Selecia optim a unitilor pentru sinteza textului dorit va fi echivalent cu gsirea cii
care minimizeaz costul total al parcurgerii grafului. Costul total are expresia :
N

COST (Tij C ij( i 1) k ) ,

j 1, ni ; k 1, ni 1

(3.9)

i 1

unde :
- COST este costul total al parcurgerii grafului;
- i este indicele de nivel al grafului
- N este numrul total de nivele
- j exprim indicele unitii curente alese de pe nivelul i ;
- k exprim indicele unitii alese de pe nivelul urmtor (i+1) ;
- ni este numrul de noduri de pe nivelul i ;
- Tij este costul unitii curente de pe nivelul i ;
Cij( i 1) k este costul de tranziie dintre unitatea curent unitatea urmtoare .
Aadar algoritmul de gsire a cii din graf care minimizeaz acest cost va duce la
selecia optim a unitilor (numit n literatur unit selection ).

Calculul costurilor; msuri ale distanelor dintre uniti [Mob00] :


Exist dou metode pentru calculul costurilor (Target Cost T ij , respectiv Concatenation
( i 1) k
Cost Cij
) din graful strilor: metoda Weight Space Search i metoda Context
Clustering.
1. Metoda Weight Space Search (cutare n spaiul strilor)
Metoda calculeaz spaiul total de ponderi (costuri) din graf prin intermediul unei
abordri de tip analiz-sintez. Astfel, se iau diferite texte de intrare care se sintetizeaz prin
toate posibilitile de combinare a unitilor din baza de date. Apoi textul se rostete propriuzis de ctre un vorbitor uman, i apoi se calculeaz distanele dintre rostirea sintetizat i
rostirea natural.
Distanele calculate n interiorul unitilor dau costul unitii (Target Cost), iar distanele
calculate n vecintatea punctelor de concatenare dau costurile de tranziie (Concatenation
Cost).
Pentru calculul distanelor se poate folosi distana euclidian cepstral, calculat pe
baza parametrilor de semnal ai unitilor acustice.

(ci ci ' )

(3.10)

unde:
-

D este distana euclidian cepstral ;


Ci, respectiv Ci sunt coeficienii cepstrali ai segmentelor acustice comparate.

Pe lng distanele cepstrale se pot folosi diferene perceptuale ntre semnalul


sintetizat i rostirea natural, i de asemeni se pot calcula predictori perceptuali care s
cuantifice calitatea rostirii sintetizate prin concatenarea a dou uniti.
Metoda Weight Space Search este o metod care d rezultate bune, dar are
dezavantajul c este necesar un numr mare de rostiri pentru calculul ponderilor. Metoda
urmtoare nu necesit rostiri suplimentare pentru determinarea acestor ponderi, folosind
distane bazate pe similariti acustice:
2. Metoda Context Clustering (Gruparea unitilor n funcie de context)
Metoda se bazeaz pe construirea unor arbori de decizie ( decision tree clustering )
care grupeaz n clase de echivalen toate apariiile fonematice din baza de date. O clas de
echivalen conine toate apariiile unei foneme din baza de date care se refer la acelai
context lexical.
In exemplul 1 pentru fonema a , celor trei contexte lexicale diferite le sunt asociate
trei clase de echivalen, fiecare clas coninnd costuri asociate fiecrei apariii ale fonemei
n contextul respectiv din baza de date :
[a] :

Clasa 1. mas : Ctx=[ms] ; Costuri: [T11, CC11], ..., [T1n , CC1n];


Clasa 2. cas : Ctx=[cs] ; Costuri: [T21, CC21], ..., [T2n , CC2n];
Clasa 3. fat : Ctx=[ft] ; Costuri: [T31, CC31], ..., [T3n , CC3n];
.....
Exemplul 1. Clase de echivalen pentru fonema a

In acest exemplu, Ctx indic apariia contextual a fonemei, T ij este costul unitii
(Target Cost), CCij este costul de concatenare (Concatenation Cost), aici fiind luate n

considerare ponderile asociate contextului stnga, respectiv dreapta al fonemei. Arborele de


decizie asociat acestui exemplu cu trei clase de echivalen este urmtorul:

Ctx=[ms]

T11, CC11
T1n , CC1n

Ctx=[cs]

T21, CC21

Ctx=[ft]

T31, CC31

T2n , CC2n

T3n , CC3n

Figura 3.8. Arborele de decizie pentru fonema a


In interiorul clasei de echivalen pentru o anumit fonem, costurile se pstreaz ca
nite msuri de similaritate acustic. Astfel, pentru costul unitii (Target Cost) se calculeaz o
distan spectral a segmentului fa de un segment de referin ales din interiorul clasei, iar
pentru costul de concatenare (Concatenation Cost) - o distan spectral calculat n
punctele de concatenare, relativ la acelai segment de referin.
Dac n cadrul unui cuvnt de sintetizat, pentru o anumit fonem nu se gsete o
clas de echivalen corespunztoare contextului dorit, se va folosi aceeai fonem dar dintro alt clas de echivalen (dintr-un alt context), iar costurile se vor interpola pe baza
ponderilor existente. La fel se va proceda i n cazul n care nu este disponibil o fonem cu
caracteristicile prozodice de genul dorit.
Selecia unitilor de concatenat se face pe baza arborilor de decizie fonematici,
folosind costurile de unitate i de concatenare pentru fonemele componente. Funciile de cost
TC (Target Cost) i CC (Concatenation Cost) sunt minimizate folosind un algoritm de
programare dinamic. Secvena de foneme care minimizeaz costul global pe toat
propoziia va fi secvena optim de concatenat.
Avantajul metodei Context Clustering este acela c baza de date cu unitile acustice
e organizat off-line, reducndu-se astfel timpul de calcul n timpul sintezei (run-time).
Algoritmul metodei bazat pe corpus vocal
In rezumat, algoritmul metodei bazat pe corpus este urmtorul (se va exemplifica
pentru abordarea Context Clustering) :
A.

Faza de analiz :

1. Se nregistreaz baza de date vocal ;


2. Baza de date este segmentat n uniti acustice de diferite lungimi;
3. Baza de date se adnoteaz cu informaiile contextuale, prozodice i de semnal,
calculndu-se vectorii de trsturi ai uniti acustice ;
4. Se construiesc arborii de decizie bazai pe clasele de echivalen ;
5. Se calculeaz costurile Target Cost i Concatenation Cost i se introduc n arborii
de decizie.
B. Faza de sintez :
1. Se preia textul de la intrare i se determin unitile lexicale (propoziii, cuvinte,
silabe i foneme);
2. Se determin toate posibilitile de construire a propoziiilor pe baza unitilor
lexicale componente ;

3. Pentru fiecare secven de uniti lexicale se determin informaia de context i


caracteristicile prozodice ;
4. Se caut n arborii de decizie secvena optim de uniti acustice
corespunztoare contextului lexical;
5. Se sintetizeaz rostirea prin concatenarea unitilor acustice din baza de date.
Avantajele i dezavantajele metodei bazate pe corpus :
Metoda bazat pe corpus este o metod de sintez a vorbirii de calitate nalt, folosind
concatenarea unitilor acustice maximale care se gsesc nregistrate ntr-un corpus vocal.
Calculul vectorilor de trsturi ale unitilor n faza de analiz ce se realizeaz off-line,
definirea unor ponderi care s asigure concatenarea unitilor optime, includerea trsturilor
prozodice n calculul costurilor, reducerea sau chiar anularea nevoii de procesare a
semnalului vocal, toate acestea reprezint caracteristi-cile i totodat avantajele cele mai
importante ale metodei.
Ca dezavantaje sunt de menionat necesitatea nregistrrii, normalizrii i ntreinerii
unui corpus vocal de dimensiuni mari, precum i faza de analiz laborioas necesar
adnotrii bazei de date cu caracteristici prozodice i segmentale, aceste aspecte putnd
reprezenta provocri majore pentru cei care vor s abordeze metoda bazat pe corpus.

3.1.3 Sinteza bazat pe predicie liniar


Termenul de predicie liniar a fost introdus prima dat de ctre N. Wiener (n 1966),
aceast tehnic fiind folosit ntr-o gam larg de aplicaii. n domeniul cercetrii semnalului
vocal, aceast tehnic a fost folosit prima dat de ctre Itakura i Saito (n 1968) i Atal i
Schroeder (n 1968), pentru analiza i sinteza semnalului vocal.
Importana prediciei liniare const n faptul c, sursa de semnal vocal i
caracteristicile ei spectrale pot fi reprezentate n mod exact i eficient de un numr mic de
parametri. n plus, aceti parametri se obin prin calcule relativ simple.
La nceput aceast tehnic a fost dezvoltat cu scopul de a coda semnalul vocal, iar
mai apoi a devenit foarte important n analiza i sinteza acestuia.
Aceast metod de sintez este cunoscut sub denumirea de sintez LPC (Linear
Predictive Coding synthesis) i face parte din categoria sistemelor de analiz-sintez a
semnalului vocal (analysis by synthesis systems).
ntr-un sistem de analiz-sintez, unda vocal este sintetizat folosind o surs de
excitaie i parametri de articulaie, care au fost n prealabil extrai cu ajutorul unui circuit care
modeleaz mecanismul de producere al vorbirii. Modelul sistemului fonator pe care se
bazeaz metoda analizei i sintezei prin predicie liniar este modelul surs-filtru, model
prezentat n figura urmtoare:

F0

Surs

Parametrii
tractului vocal
Filtru variabil
H(z)

s(n)

Figura 3.9. Modelul producerii vorbirii prin metoda LPC


Modelul LPC al producerii vorbirii este generat n concordan cu producerea
sunetului de ctre sistemul fonator uman. Astfel, energia sonor de baz este furnizat de
ctre un semnal de excitaie, care poate s fie periodic sau neperiodic, n funcie de sunetul
produs (tren de impulsuri periodice pentru cazul vocalelor sau zgomot alb n cazul
consoanelor). Pentru un semnal de excitaie periodic, se furnizeaz frecvena fundamental
F0 ca parametru de intrare n generator.

Semnalul de excitaie este apoi amplificat cu un factor G (numit ctigul modelului) i


trecut printr-un filtru variabil avnd funcia de transfer H(z). Filtrul variabil modeleaz
comportamentul tractului vocal din cadrul sistemului fonator, i va produce la ieire semnalul
scontat s(n). Filtrul este controlat pe baza unor parametrii care sunt coeficienii LPC {a k}.
Parametrii sunt calculai pentru fiecare segment de vorbire de aproximativ 10-30 ms.
Funcia de transfer a filtrului are expresia [Tod05]:

H ( z)

G
p

1 a k z k

G
A( z )

(3.11)

k 1

unde:

G este ctigul filtrului, iar


ak sunt coeficienii de predicie LPC.

Ctigul se poate determina pe baza erorii de predicie dintre semnalul calculat cu


ajutorul filtrului recursiv i semnalul original. Pentru calculul parametrilor a k exist mai multe
metode, dintre care cele mai cunoscute sunt metoda autocorelaiei (prin algoritmul LevinsonDurbin) i metoda covarianei.
Astfel, metoda de sintez LPC are ca obiectiv estimarea parametrilor unui sistem
susceptibil de a genera un semnal artificial ct mai apropiat de semnalul original. n cazul
acestei metode de sintez, semnalul sintetizat poate fi vzut ca i o combinaie liniar a p
eantioane precedente la care se adaug i efectul semnalului de excitaie.
Un aspect important n analiza prin predicie liniar este alegerea numrului de
coeficieni de predicie p. Acesta depinde de frecvena de eantionare a semnalului: de
exemplu la o frecven de eantionare de 8 kHz se vor lua n calcul 10 12 poli. De
asemenea numrul coeficienilor utilizai este n strns corelare cu eroarea de predicie.
Astfel s-a observat c eroarea de predicie scade o dat cu creterea numrului de coeficieni
de predicie luai n calcul.
Cu ajutorul sintezei prin predicie liniar se poate obine o voce sintetizat de calitate
destul se bun. Totui, datorit modelului - numai poli - folosit n aceast metod de sintez,
n cazul sunetelor nazalizate de exemplu, modelarea spectral a formanilor este de o calitate
mai slab. n astfel de situaii, sintetizorul LPC produce frecvent vrfuri spectrale (spectral
peaks ) a cror lime de band este prea mare, acest lucru concretizndu-se n vocea
sintetizat prin apariia unui bzit (buzzines ).
Pentru mbuntirea determinrii funciei de transfer a tractului vocal se pot calcula
i zerourile pe lng polii spectrali. Astfel, este posibil transformarea unui pol n zerou, printro dezvoltare n serie i de asemenea, n mod asemntor se poate elimina un zerou spectral.
Aceast soluie este ns incompatibil cu cerina de compresie a datelor , respectiv cu
cerina de reducere a debitului de informaie.

3.2. Recunoaterea vorbirii


Recunoaterea vorbirii este procesul de extragere automat a informaiei lingvistice
coninut de o und vocal folosind calculatoare sau circuite electronice. Informaia
lingvistic, cea mai important informaie din semnalul vocal, se mai numete i informaie
fonetic. ntr-un sens mai larg, recunoaterea vorbirii include i recunoaterea vorbitorului,
ceea ce implic extragerea informaiilor individuale caracteristice persoanei care vorbete.
Metodele de recunoatere automat a vorbirii sunt studiate de mult vreme, cu
scopul principal de a realiza sisteme de interaciune om-main. Prima lucrare tinific
referitoare la recunoaterea vorbirii a fost publicat n 1952 i descria dispozitivul Audrey al
firmei Bell Labs. Acesta realiza recunoaterea cifrelor. De atunci cercetrile legate de
recunoaterea vorbirii s-au intensificat, aprnd ntre timp primele sisteme conversaionale

om-main. Un astfel de sistem este compus dintr-un sintetizor i un dispozitiv care


realizeaz recunoaterea vorbirii. Aceast configuraie d rezultate foarte bune datorit
faptului c erorile pot fi detectate cu ajutorul auzului i corectate imediat.
3.2.1. Avantajele recunoaterii vorbirii
Ca i sintetizoarele vocale, dispozitivele care realizeaz recunoaterea vorbirii au
patru avantaje specifice ([Fur01]):
1. Comanda vocal este uor de realizat deoarece nu implic eforturi deosebite,
cum este cazul scrisului sau lucrului cu butoane.
2. Vocea introduce informaiile de trei pn la patru ori mai repede dect mainile
de scris i de opt pn la zece ori mai repede dect scrisul de mn.
3. Informaia poate fi introdus chiar i cnd utilizatorul se mic sau face alte
activiti care implic folosirea minilor, picioarelor, ochilor sau urechilor.
4. Costurile introducerii informaiei sunt mici, deoarece implic folosirea unui
microfon sau telefon. Mai mult, pentru o comand de la distan se pot folosi
reelele telefonice existente sau Internetul.
n ciuda acestor avantaje, recunoaterea vorbirii are i unele puncte slabe. De
exemplu, conversaia nu este tiprit i este necesar anularea zgomotului n condiiile unui
mediu zgomotos.
3.2.2. Dificulti ntmpinate n procesul recunoaterii vorbirii
Dificultile ntmpinate n procesul recunoaterii vorbirii sunt:
1. Probleme legate de coarticulare.
Spectrul unui fonem ntr-un cuvnt sau ntr-o propoziie este influenat de fonemele
vecine ca o consecin a coarticulrii. Un astfel de spectru este foarte diferit de acelea ale
fonemelor izolate sau ale silabelor deoarece organele articulatorii nu se mic la fel n
vorbirea continu ca i n cazul rostirilor izolate. Cu toate c aceast problem poate fi
evitat n cazul recunoaterii de cuvinte izolate folosind cuvinte ca i uniti lingvistice de
baz, performanele recunoaterii continue depind de gradul de rezolvare al acestui
obstacol. n acest din urm caz, dificultile sunt date de omisiunile din vorbire, cauzate
de o rostire rapid, n care vorbitorul leag cuvintele mpreun nghiind unele silabe.
2. Dificulti n segmentare.
Spectrul se schimb continuu de la o fonem la alta datorit interaciunilor dintre ele.
Spectrul semnalului vocal poate fi comparat cu un ir de litere scris de mn. n ambele
cazuri este dificil de determinat marginile fonemei. Cu toate c consoanele nesonore pot
fi segmentate relativ uor pe baza variaiei spectrale, nu acelai lucru se poate spune i
despre sunetele sonore.
3. Caracteristicile individuale i ali factori care cauzeaz variabilitatea semnalului
vocal.
Caracteristicile acustice variaz de la vorbitor la vorbitor chiar i n cazul aceluiai
cuvnt rostit. Acest fapt se datoreaz diferenelor care apar ntre modalitile de rostire,
ct i organelor articulatorii. Pentru ca lucrurile s fie mai complicate, foneme diferite
rostite de vorbitori diferii pot avea acelai spectru. Sistemele de transmisiuni sau
zgomotul afecteaz de asemenea caracteristicile fizice ale vocii.
4. Cunotine lingvistice insuficiente.

Caracteristicile fizice ale semnalului vocal adesea nu conin suficient informaie


fonetic n i despre ele. Vorbirea n propoziii se bazeaz pe anumite reguli sintactice pe
baza crora asculttorul poate prezice urmtorul cuvnt. Ceea ce se cunoate n
momentul actual legat de structura lingvistic a rostirilor nu ne permite s modelm
mecanismul de folosire a constrngerilor lingvistice n perceperea vorbirii.
3.2.3. Clasificarea sistemelor de recunoatere a vorbirii
Recunoaterea vorbirii se poate clasifica n recunoatere de cuvinte izolate, caz n
care sunt identificate cuvinte rostite individual, i recunoatere continu, n care sunt
recunoscute secvene rostite n mod continuu. Recunoaterea vorbirii continue se mparte la
rndul ei n dou pri: transcriere i nelegere.
Recunoaterea de cuvinte izolate are drept scop final recunoaterea corect a
fiecrui cuvnt rostit, n timp ce recunoaterea continu a vorbirii urmrete nelegerea
sensului propoziiilor. Ca urmare, n acest din urm caz este nevoie de cunotine lingvistice
puternice.
Dintr-un alt punct de vedere recunoaterea vorbirii continue se poate clasifica n
recunoatere independent de vorbitor i recunoatere dependent de vorbitor. Sistemele din
prima categorie pot recunoate rostiri ale oricrei persoane, n timp ce n cel de-al doilea caz,
referinele (modelele) sunt altele pentru fiecare vorbitor.
Ca i referine (modele) se poate utiliza o gam larg de uniti lingvistice, ncepnd
cu fonemele i terminnd cu cuvintele. Cnd sunt folosite cuvintele, semnalul de intrare
digitizat este comparat cu fiecare dintre referine, pn cnd este gsit una care se
potrivete. Algoritmii bazai pe foneme n schimb, analizeaz intrarea ca pe un ir de sunete
pe care l convertesc n cuvinte cu ajutorul unui dicionar bazat pe pronunie.
Cnd sunt folosite cuvintele ca i uniti lingvistice de baz procentul de recunoatere
este ridicat deoarece este evitat problema coarticulrii ntre cuvinte. Un vocabular mare
necesit mai mult memorie i mai multe calcule, fcnd antrenarea destul de dificil. De
asemenea, cuvintele ca i uniti lingvistice, nu pot rezolva problema coarticulrii n cazul
vorbirii continue. Folosirea fonemelor ca i referine nu mrete cu mult necesitile de
memorie i nici numrul de calcule, iar antrenarea poate fi fcut mai eficient. Mai mult dect
att, poate fi luat n consideraie i coarticularea n interiorul cuvintelor i ntre cuvinte.
Deoarece nu au fost stabilite nc reguli pentru coarticulare, sunt necesare mai multe foneme
ca i uniti lingvistice n funcie de context.
Alegerea celor mai potrivite uniti lingvistice pentru recunoaterea vorbirii depinde de
tipul recunoaterii (dac e recunoatere de cuvinte izolate sau de vorbire continu) i de
mrimea vocabularului.
3.2.4. Recunoaterea continu a vorbirii
Cele mai complexe sisteme de recunoatere sunt cele care realizeaz recunoaterea
continu a vorbirii. n acest caz utilizatorul rostete un mesaj, iar sistemul trebuie s fie
capabil s-l neleag. Printre problemele dificile de rezolvat se numr: determinarea
capetelor rostirii (vorbitorul vorbind ntr-o manier liber, fr constrngeri), efectele datorate
coarticulrii sau funcionarea n condiii de zgomot.
Procesul de recunoatere a vorbirii are la baz o cutare al crei scop este gsirea
unei secvene de cuvinte care are probabilitatea cea mai mare de a fi generat semnalul vocal
de la intrarea sistemului. Cutarea se face pe baza aa numitelor surse de cunotine.
Acestea pot fi: un dicionar care conine cuvintele care pot fi recunoscute, fiecare cuvnt fiind
reprezentat ca i o secven de foneme, un model lingvistic, care ataeaz o anumit
probabilitate fiecrei secvene de cuvinte i un model acustic, care modeleaz relaia dintre
vectorii de parametri i foneme.

Figura 3.2.1. Structura unui sistem de recunoatere a vorbirii.


Procesul de recunoatere poate fi modelat ca i un sistem de comunicaie mprit n
patru etape (Figura 3.2.1): generare text, producere vorbire, procesare acustic i decodare
lingvistic. Vorbitorul se presupune a fi un traductor care transform n vorbire textul
gndurilor pe care intenioneaz s le comunice interlocutorilor. Din punctul de vedere al
sistemului de comunicaie gndurile sunt sursa de informaie. Conform teoriei informaiei,
secvena de date se transmite pe un canal, care acioneaz asupra structurii ei. n cazul
sistemului de recunoatere canalul acustic este format din partea de producere a vorbirii i
cea de procesare acustic. La intrarea canalului avem secvena de cuvinte W, care la ieire
este convertit n secvena de observaii acustice Y, decodat mai apoi n secvena estimat
, cu ajutorul decodorului lingvistic. Se poate scrie c
de cuvinte W

W arg max P (W | Y ) .
w

(1)

innd cont de regula lui Bayes, ecuaia de mai sus se transform n

P (Y | W ) P (W )
W arg max
.
P (Y )
w
(2)
Cum P(Y) este independent de W regula de decodare bazat pe o estimare de tip
maximum aposteriori este

W arg max P (Y | W ) P (W ) .
w

(3)

Primul termen din dreapta ecuaiei de mai sus corespunde modelului acustic i
estimeaz probabilitatea unei secvene de observaii acustice pe baza unui ir de cuvinte. Cel
de-al doilea termen corespunde modelului lingvistic i descrie probabilitatea unei secvene de
cuvinte. Astfel de modele pot conine constrngeri sintactice i semantice n funcie de
cerinele sistemului de recunoatere. Cnd sunt folosite numai constrngeri semantice
modelul lingvistic se numete gramatic.
3.2.5. Modele Markov cu stri ascunse aplicate n recunoaterea vorbirii
Pentru implementarea recunoaterii vorbirii avem nevoie de un model cu ajutorul
cruia s putem descrie condiiile n care se produce vorbirea. Modelul este util att pentru
procesarea semnalelor (de exemplu eliminarea zgomotului) ct i pentru identificarea sursei
care le-a generat, fr a dispune de informaii despre ea. Mai mult dect att, modelele pot
rezolva probleme complexe de predicie, recunoatere sau identificare.

n domeniul semnalelor electrice, domeniu din care fac parte i semnalele vocale,
exist dou tipuri de modele: dinamice i stochastice. Modelul dinamic presupune extragerea
caracteristicilor semnalului. De exemplu, un semnal sinusoidal este complet determinat de
ctre amplitudinea, frecvena i faza sa. Modelul stochastic se bazeaz pe caracteristicile
statistice ale semnalului ca urmare a variaiilor aleatoare ale unora dintre parametrii si. Astfel
de modele descriu procese aleatoare caracterizate de repartiii de tip Poisson sau Gauss sau
de procese Markov.
Vorbirea este un proces aleator, deci pentru modelarea ei este mai adecvat s
construim un model stochastic. Modul de prelucrare al semnalului vocal n cadrul unei sesiuni
de recunoatere include ns i o modelare dinamic: separarea semnalului vocal n cadre de
scurt durat i determinarea caracteristicilor acestora.Vorbirea fiind constituit dintr-o
succesiune de astfel de cadre se poate spune c modelul nostru stochastic este compus
practic dintr-o succesiune de modele dinamice, care depind unul de altul din punct de vedere
statistic. Un limbaj nu este o succesiune aleatoare de sunete. Probabilitatea ca dup un
model dinamic anume, cunoscut, s urmeze un alt model dinamic cunoscut se poate stabili
empiric prin observaii repetate.
Vorbirea este alctuit din succesiuni de foneme. Fiecare dintre aceste foneme poate
fi privit ca i o stare a unui proces. n concluzie, succesiunea de foneme este o succesiune
de stri. Deci vorbirea poate fi descris de un model cu mai multe stri. La trecerea dint-o
stare n alta se emite un simbol (fonem) care poate fi observat. Trecerea dintr-o stare n alta
este aleatoare, dar numai ntr-o anumit msur, deoarece dup o fonem oarecare poate
urma o alta dintr-un grup restrns. Avem de-a face deci cu un model statistic, cunoscut n
literatura de specialitate sub denumirea de model Markov.
Modelele Markov cu stri ascunse pot fi mprite n modele discrete i modele
continue, n funcie de natura observaiilor ataate fiecrei stri.
Un HMM discret este caracterizat de urmtoarele mrimi:
1. O mulime de N stri S={s1,s2,...,sN}. n fiecare moment t modelul se afl n una
din aceste stri, care va fi notat cu qt.
2. O mulime de K simboluri V={v1,v2,,vk}. n fiecare moment modelul genereaz
un simbol din aceast mulime, notat cu Ot.
3. Matricea tranziiilor ntre stri - A, care conine probabilitile de tranziie ntre
dou stri:
A {a ij } , unde aij P ( qt 1 s j | q t si ) , i , j 1...N i

a
j 1

ij

(4)

4. Matricea probabilitii de emisie a simbolurilor B, format din probabilitile de


emisie ale fiecrui simbol din mulimea V, n fiecare stare din mulimea S:

B {bi (v k )} , unde bi (v k ) P(Ot v k | q t si ) ,


K

i 1...N , k 1...K i

b (v
k 1

) 1

(5)
5. Matricea strilor iniiale momentul iniial:

{ i } , unde

, coninnd probabilitile de a fi n una dintre stri la

i P(q1 si }

, i 1...N i

i 1

(6)

Pentru modelul n ansamblu se folosete notaia: { , A, B} . Secvena de


observaii se noteaz cu O {O1 , O2 ,..., OT } , iar secvena de stri sau drumul cu

Q {q1 , q 2 ,..., qT } .
n implementarea HMM apar trei probleme majore:
1. Problema evalurii. Dndu-se secvena de observaii O {O1 , O2 ,..., OT } i
un model ( A, B, ) , s se determine probabilitatea P (O | ) ca secvena
de observaii O s fi fost generat de modelul .
2. Problema alegerii secvenei optime de stri. Fiind dat secvena de observaii
O {O1 , O2 ,..., OT } i un model ( A, B, ) s se determine succesiunea
de stri Q q1 q 2 ...qT ale modelului care a generat secvena de observaii
O.
3. Problema antrenrii. Presupune ajustarea parametrilor modelului n vederea
maximizrii probabilitii P (O | ) .
n Figura 2 este prezentat schema unui sistem de recunoatere a cuvintelor bazat
pe un HMM discret.
Acest tip de sistem necesit rezolvarea celor trei probleme enunate anterior. Astfel
soluia primei probleme este utilizat n faza de recunoatere. Fiecrui cuvnt i corespunde
un model . Recunoaterea presupune calcularea pentru fiecare model n parte a
probabilitii P (O | ) , atunci cnd la intrare este aplicat secvena de observaii O .
Modelul cu probabilitatea cea mai mare ne d cuvntul recunoscut. Soluia celei de-a doua
probleme ne d secvena optim de stri ale modelului, iar prin rezolvarea problemei cu
numrul trei realizm antrenarea modelului.

Figura 3.2.2. Structura unui sistem de recunoatere a


cuvintelor bazat pe un HMM discret.

3.2.6. Realizarea unui sistem de recunoatere a cuvintelor izolate bazat pe


modele Markov ascunse
n cele ce urmeaz vom prezenta cteva detalii legate de implementarea unui sistem
de recunoatere a cuvintelor izolate realizat de colectivul nostru:
1. Analiza spectral.
Aceast prim etap presupune extragerea coeficienilor LPC ai semnalului vocal,
pentru fiecare semnal n parte, dup urmtorul algoritm:
-

citirea semnalului din fisier;


preaccentuarea semnalului cu un filtru trece sus cu funcia de transfer

H ( z ) 1 0,95 z 1
-

detecia linite vorbire, realizat pe baza calculului energiei i a numrului de treceri


prin zero a semnalului;
mprirea n cadre a semnalului cu ajutorul unei ferestre Hamming de lungime egal
cu 256 de eantioane (pentru aceast implementare am utilizat un grad de acoperire
al ferestrelor de 50%);
pentru fiecare cadru se realizeaz analiza LPC cu un predictor de ordinul 12;
coeficienii LPC ai unui semnal se salveaz ntr-un fiier.
2. Cuantizarea vectorial.

Cuantizarea vectorial (VQ) este o generalizare a cuantizrii scalare aplicat la vectori,


pe mulimea numerelor reale. Ideea nou adus de VQ este saltul de la o dimensiune la mai
multe. Cuantizarea scalar este larg utilizat n conversia analog-digital. Cuantizarea
vectorial se utilizeaz n sisteme sofisticate de prelucrare a semnalelor, vectorul cuantizat
reprezentnd o concentraie mare de informaie. Un vector poate reprezenta un segment de
semnal, cum ar fi semnalul vocal, proprietile semnalului concentrndu-se n valorile sale,
obinute prin prelucrri specifice. Vectorul poate fi folosit pentru a coda semnalul n vederea
transmiterii, recunoaterii, stocrii, etc. Partea forte a VQ este rata de compresie mare a
informaiei, memoria necesar pentru reinerea semnalului reducndu-se simitor. Punctul
slab al VQ este raportul semnal / zgomot ridicat ce rezult prin codare-decodare (20-30 dB),
dar n cazul recunoaterii, aceasta are o importan mai redus comparativ cu ctigul ce se
obine n termeni de memorie necesar i timp de calcul.
2.1. Cuantizarea vectorial n recunoaterea vorbirii
Odat obinute caracteristicile semnalelor sub form de vectori acustici, cuantizarea
vectorial are rolul de a-i transforma n simboluri dintr-o mulime finit, astfel nct antrenarea
unor modele i recunoaterea pot decurge mai rapid.
n mod similar cuantizrii scalare, cuantizarea vectorial presupune aproximarea unui
vector oarecare printr-unul dintr-un set finit de vectori - prototip (echivaleni nivelelor de
cuantizare scalar) fa de care se afl la o distan minim. Cuantizarea vectorial ca atare
trebuie precedat de construcia mulimii vectorilor - prototip, operaie cunoscut sub numele
de antrenare a sistemului de cuantizare i fcut pe baza unei mulimi de date de
antrenament. n cazul unui sistem de recunoatere automat a vorbirii, aceasta poate fi o
parte sau chiar toat mulimea semnalelor utilizate pentru antrenarea sistemului. Dup ce
mulimea vectorilor - prototip Pi (codebook) a fost construit i elementele ei ordonate,
cuantizarea unui vector oarecare X va consta n nlocuirea lui prin indicele celui mai apropiat
vector - prototip:

Q ( X ) arg min i d ( X ; Pi )

(7)

unde Q este operatorul de cuantizare, iar d(X;Q(X)) este distorsiunea de cuantizare,


minimizarea distorsiunii de cuantizare totale

D d ( x, Q( x))
x

(8)
fiind obiectivul urmrit n construcia mulimii vectorilor - prototip (centroizi).
Problema construciei mulimii vectorilor - prototip pentru un sistem de cuantizare
vectorial este un caz particular al problemei gsirii unei structuri de clase pentru o mulime
de date prin algoritmi de grupare (clustering), algoritmi care la rndul lor fac parte din

categoria mai larg a metodelor de nvare nesupervizat. Algoritmii de grupare urmresc


construcia pe baza datelor a unor asemenea clase, plecnd de la o msur a distanei ntre
puncte din spaiul datelor i de la ideea c puncte apropiate trebuie s aparin unei aceleiai
clase.
Algoritmii de grupare cei mai folosii n antrenarea sistemelor de cuantizare vectorial
a caracteristicilor semnalului vocal sunt cei de tip K-medii (K-means), din a cror categorie
face parte i algoritmul LBG (Linde Buzo Gray). Algoritmul pornete de la un dicionar cu
un singur centroid, dup care acesta se perturb cu o cantitate mic, obinndu-se astfel doi
centroizi .a.m.d. pn cnd se obine numrul de centroizi dorit. La fiecare pas trebuie
ntrunite condiiile de convergen ale algoritmului Lloyd.
2.2. Obinerea dicionarului i codarea vectorilor de parametri
n cazul nostru, dicionarul se obine cu ajutorul algoritmului propus de Linde, Buzo i
Gray, implementat pentru 32 de centroizi. n final vom avea o matrice de 32 de linii
corespunztoare celor 32 de centroizi i 12 coloane corespunztoare celor 12 coeficieni LPC
dintr-o fereastr de analiz.
Codarea se face determinnd pentru fiecare cadru de semnal centroidul
corespunztor (cel mai apropiat dintre toi). Vectorul de coeficieni LPC se va nlocui cu
numrul liniei corespunztoare centroidului determinat. n acest mod semnalul se va
transforma ntr-o niruire de numere ntregi cu valori ntre 1 i 32. Aceste secvene se
salveaz pentru fiecare semnal n parte.
3. Antrenarea modelelor
Pentru fiecare cuvnt n parte se antreneaz un model pe baza codurilor VQ obinute
la pasul anterior. Modelele Markov Ascunse folosite au fost de tip discret.
Matricea strilor iniiale se iniializeaz cu 1 pe prima poziie i 0 n rest, iar matricea
tranziiilor i cea a observaiilor se iniializeaz n mod aleator cu numere subunitare pozitive,
ntr-o manier stochastic (suma numerelor de pe o linie este egal cu 1). Totodat, se
stabilete un prag pentru care se consider c algoritmul a convers i un numr maxim de
iteraii necesar n atingerea acestui deziderat.
Folosind cele trei matrice iniializate anterior se calculeaz pe baza algoritmului
forward backward probabilitatea ca modelul s se afle ntr-o anumit stare la un moment
dat, probabilitatea ca modelul s treac din starea Si la momentul t n starea Sj la momentul
t+1 i logaritmul probabilitii modelului. Pe baza acestor valori se face o estimare a noilor
matrici ale strilor iniiale, tranziiilor i observaiilor, urmrind respectarea condiiei de
probabilitate. Se testeaz convergena i n caz c s-a realizat se salveaz cele trei matrici n
fiierul corespunztor modelului cuvntului respectiv.
4. Recunoaterea cuvintelor izolate
Pentru fiecare model n parte se calculeaz cu ajutorul algoritmului forward
backward logaritmul probabilitii ca acel model s fi generat cuvntul de la intrarea
sistemului. Modelul cu probabilitatea cea mai mare este desemnat ctigtor.
Pentru a testa sistemul s-au realizat dou experimente: unul care implic un singur
vorbitor i unul cu doi vorbitori. Baza de date folosit a fost compus din 200 de cuvinte (20
de rostiri ale cifrelor de la 0 la 9 prevalate de la doi vorbitori), nregistrate n format WAV.
n cazul recunoaterii pentru un singur vorbitor, cele 100 de cuvinte corespunztoare
unui vorbitor s-au mprit n dou seturi de cte 50, unul folosit pentru antrenare i unul
pentru testare. Dicionarul folosit pentru cuantizarea vectorial a fost format din 32 de vectori
de cod. Rezultatele obinute sunt sintetizate n Tabelul 1.
Tabelul 1.
Vorbitor

Procent de recunoatere

91%

94%

n cazul a doi vorbitori, cele 200 de cuvinte s-au mprit astfel:


100 de cuvinte (50 de la primul vorbitor i 50 de la cel de-al doilea) pentru antrenare;
100 de cuvinte (50 de la primul vorbitor i 50 de la cel de-al doilea) pentru testare.
Rezultatele obinute sunt sintetizate n Tabelul 2.
Tabelul 2.
Numr centroizi

Procent de recunoatere

32

86%

64

94%

128

96%

Dup cum se observ, performanele sistemului se mbuntesc odat cu creterea


numrului de centroizi, un numr de 64 fiind suficient pentru a obine rezultate bune cu
resurse rezonabile de memorie.
Rezultatele obinute ne ndreptesc s credem c Modelele Markov Ascunse sunt
implementate corect, fapt pentru care s-a trecut la conversia codului din MATLAB n C++ n
vederea folosirii n sistemul de recunoatere final.

3.3. Sistemul Text-to-Speech


3.3.1. Caracteristicile unui sistem text-to-speech. Metode de baz folosite
Sistemul text-to-speech este sistemul care asigur realizarea unui proces complet de
conversie a unui text n vorbire continu. In cadrul acestui proces sunt prezente dou faze
distincte: faza de analiz lingvistic i faza de generare a parametrilor acustici, aa cum se
prezint n figur:

Text

Analiz
lingvistic

Generare
parametrii
acustici

Rostire

Tex
Figura 3.3.1. Sistemul text-to-speech
tAnaliza
to-lingvistic are ca scop determinarea unitilor lingvistice din cadrul textului,
cum ar fi: propoziii, cuvinte, silabe, foneme. Generarea parametrilor acustici urmrete
identificarea Spe
i extragerea dintr-o baz de date vocal a parametrilor corespunztori unitilor
lingvistice. Peech
baza acestor parametrii, un sintetizor vocal va genera rostirea propriu-zis.
Exist trei metode de baz n sinteza text-to-speech: metoda bazat pe concatenarea
Text metoda bazat pe analiz-sintez, i metoda bazat pe reguli [Bur97].
formelor de und,

Metoda direct, bazat pe concatenarea formelor de und, este cea mai simpl i
presupune nregistrarea n baza de date vocal a sunetelor nregistrate ca atare (codificate
sau nu). Rostirea este generat prin alturarea nregistrrilor ce corespund unitilor
lingvistice al textului de sintetizat. Metoda este schematizat n figura urmtoare:

Forme de
und

Codificare
Memorare

Compunerea
formelor de
und

Figura 3.3.2. Metoda bazat pe concatenarea formelor de und

Rostire

Metoda direct are avantajul unei caliti ridicate a vorbirii sintetizate, avnd rata
debitului de date de 64-128 kbit/s (fr codificare). Calitatea rostirii depinde de calitatea
unitilor acustice stocate n baza de date vocal, precum i de modul de conectare al
unitilor acustice. In schimb este dificil schimbarea trsturilor prozodice ale vorbirii: ritm,
intonaie, accent i timbru. Pentru reducerea dimensiunilor bazei de date, de obicei formele
de und se codific folosind metodele PCM sau ADPCM, rezultnd astfel o rat de date de
16-32 kbit/s
In cadrul metodei bazat pe analiz-sintez, formele de und prenregistrate sunt
transformate n secvene de parametrii care se memoreaz n baza de date vocal. Metoda
presupune dou faze distincte: faza de analiz, n care sunt generai parametrii din formele
de und iniiale, si faza de sintez, in care se genereaz rostirea prin concatenarea
secvenelor de parametrii i trimiterea secvenei rezultate ctre sintetizatorul de voce.
Metodele clasice care ilustreaz aceast categorie sunt metoda formantic i metoda
prediciei liniare LPC.
In prim faz, se nregistreaz unitile acustice dintr-o rostire preliminar. Apoi se va
genera secvena de parametrii corespunztoare unitilor acustice. In cadrul metodei
formantice, secvena de parametrii este constituit pe baza frecvenelor i limilor de band
ale formanilor. Metoda LPC furnizeaz ca secven de parametrii de sintez un set de
coeficieni de predicie, care aproximeaz forma spectral a undei sonore. In a treia faz se
concateneaz secvenele de parametrii i se genereaz rostirea propriu-zis [Bur97].
Metoda este ilustrat n figura urmtoare:

Secven de
parametrii

Codificare
Memorare

Compunerea
secvenelor
de parametrii

Rostire

Figura 3.3.3. Metoda bazat pe analiz-sintez


Analiza se bazeaz de obicei pe un model de producie vocal, care este specific
metodei folosite. Astfel, unitile sonore prenregistrate sunt analizate n conformitate cu acest
model de producie vocal, se parametrizeaz i se nregistreaz n baza de date secvena
de parametrii corespunztoare unitailor acustice. Sinteza va rezulta n urma compunerii
secvenelor de parametrii caracteristici fiecrei uniti.
Metoda formantic utilizeaz ca model de producie vocal o secven de circuite de
rezonan acordate pe frecvenele formanilor. Metoda LPC folosete ca model un filtru liniar
ce are la intrare un semnal de excitaie sonor sau nesonor.
Rata debitului de date n cazul metodei bazat pe analiz-sintez este mult mai
redus datorit avantajului parametrizrii, i anume de 2,5-9 kbit/s.
Metoda bazat pe reguli are la intrare o secven de litere sau simboluri fonematice,
un set de parametrii care modeleaz trsturile prozodice ale secvenei (cum ar fi frecvena
fundamental, amplitudinea, durata), i un set de reguli de sintez fonetice i lingvistice care
specific modalitile de recompunere a unitilor acustice pentru a genera rostirea [Bur97].
Metoda este ilustrat n figura urmtoare:

Secven de
simboluri

Codificare
Memorare

Trsturi
prozodice

Codificare
Memorare

Set de
reguli

Codificare
Memorare

Generare
parametrii

Rostire

Figura 3.3.4. Metoda bazat pe reguli


In baza de date se memoreaz parametrii caracteristici pentru unitile elementare cu
care se lucreaz (foneme, difoneme, silabe). In faza de sintez, unitile se vor concatena pe
baza unor reguli de concatenare. Trsturile prozodice (amplitudine, tonalitate, durat) se
controleaz printr-un set de reguli prozodice ce se aplic pentru fiecare unitate n parte.
Calitatea sintezei depinde n acest caz att de calitatea unitilor elementare
nregistrate n baza de date, ct i de modul de realizare i performana regulilor prozodice i
de concatenare [Bur97].

3.3.2. Etape procesuale n cadrul sintezei text-to-speech


Etapele procesuale ale sintezei text-to-speech se mpart
[Bur97]:
1)
2)

n dou categorii de baz

Analiza textului de la intrare n scopul obinerii unei reprezentri fonetice i


prozodice a textului;
Transformarea reprezentrii fonetice-prozodice n semnal vocal, pe baza
folosirii unor reguli de sintez.

Analiza textului cuprinde: preprocesarea lingvistic, analiza sintactic i lexical,


transcrierea fonetic i determinarea prozodiei.
Sinteza presupune generarea secvenei de parametrii corespunztoare textului i
sinteza propriu-zis a vorbirii.
Preprocesarea lingvistic este prima etap n analiza textului de la intrare, n care
se urmrete aducerea textuuli la o form normalizat. Aici se refac abrevierile (de exemplu
Dr. devine doctor), se transform numerele care apar ca cifre n numere exprimate literar
(1000 devine o mie), i de asemenea tot n acest faz se detecteaz terminatorii de
propoziie, care vor da primele informaii despre tipul propoziiei (` . ` ` ? ` `! ` , ce corespund
cu o propoziie afirmativ, interogativ, respectiv imperativ).
Analiza sintactic este necesar pentru a aduce textul la o form corect din punct
de vedere gramatical, tiut fiind faptul c orice greeal de scriere a unui cuvnt l poate face
greu inteligibil n urma sintezei vocale. Astfel, cuvintele sunt confruntate cu modul corect de
scriere aa cum apare de exemplu ntr-un dicionar, i de asemenea, n cazul limbii romne,
se verific i corectitudinea inserrii diacriticelor (`` `` `` ``).
Urmeaz etapa de determinare a unitilor lexicale, efectuat prin intermediul unui
parser sau analizor lexical. Aici se determin unitile textuale dorite, cum ar fi: propoziii,
cuvinte, silabe, foneme. Dac de exemplu se dorete regsirea silabelor din cadrul cuvintelor,
analizorul va trebui s fie ghidat de un set de reguli sintactice i de desprire a cuvintelor n
silabe, reguli specifice limbii pentru care se va realiza sinteza.
Etapa de transcriere fonetic are ca scop realizarea unei transcrieri standardizate a
fonemelor din text (grafeme), folosind un set de simboluri fonetice standardizate ( de exemplu
grupul `che` va avea transcrierea fonetic [ce], iar `ce` va avea transcrierea fonetic [c~e];
astfel sintetizatorul va ti c va trebui s foloseasc seturi diferite de parametrii pentru a
genera dou tipuri distincte de rostire).
Urmeaz apoi etapa de determinare a prozodiei pentru segmentele vocale
analizate. Pe baza unor reguli prozodice specifice limbii, se va determina accentul, intonaia
i ritmul corect pentru fiecare unitate fonematic. Regulile prozodice se aplic att la nivelul
suprasegmental al propoziiilor, realizndu-se un contur prozodic al propoziiei, ct i la nivel
segmental, n interiorul cuvintelor.
Regulile aplicate dau pentru fiecare unitate de sintetizat o anumit corecie la nivelul
parametrilor: frecven fundamental, amplitudine i durat, n funcie de tipul popoziiei
determinat n etapa de procesare lingvistic, de locul cuvntului n propoziie, precum i de
locul silabei sau fonemei n cadrul cuvntului.
Pe lng prozodia lingvistic, care se determin pe baza analizei lingvistice a textului,
n ultimii ani se ine cont tot mai mult i de prozodia emoional, pentru a simula strile
emoionale pe care le poate avea un vorbitor (bucurie, team, linite, etc.).
Dup aceste etape de analiz a textului, urmeaz etapele ncadrate n faza de
sintez. Prima dintre ele este etapa de generare a parmetrilor acustici pentru sintez. Pe
baza simbolurilor fonematice care provin din etapa de transcriere fonetic i a modificrilor

prozodice determinate pe baza regulilor privind intonaia i ritmul, se genereaz secvena de


parametrii corespunztoare textului de sintetizat.

Simboluri fonetice
( a b c ...)

Text
Prozodie

Cunotine

Baza de
date
vocal

Secven de parametrii
( a1 a2 a3 ...)
Figura 3.3.5. Etapa de generare a parmetrilor acustici [Bur97]
n aceast etap se folosesc cunotinele nmagazinate n baza de date vocal, de
unde se regsesc parametrii de baz pentru fiecare unitate fonetic. Parametrii de baz se
vor modifica n urma alterrilor prozodice, i apoi se vor concatena pentru a genera secvena
parametric pentru ntregul context propoziional.
In continuare urmeaz faza de sintez propriu-zis, n care secvenele de
parametrii se transform n forme de und care pot fi redate sonor prin intermediul unui
dispozitiv audio. Constituirea formelor de und din secvena de parametrii se realizeaz pe
baza unor reguli de sintez bine determinate.
Etapele procesuale ale sintezei TTS sunt ilustrate n figura urmtoare:

Text

Preprocesare lingvistic

Text n form normalizat

Analiz sintactic

Text corect gramatical

Determinare uniti
lexicale

Propoziii, cuvinte, foneme

Transcriere fonetic

Determinarea prozodiei

Generare parametrii
acustici

Sinteza

Simboluri fonetice

Parametrii prozodici

Parametrii de sintez

Forme de und

Rostire
Figura 3.3.6. Etapele procesuale ale sintezei TTS [Bur97]

3.4 Metoda de sintez bazat pe silabe


Ca o aplicaie a metodelor de sintez prin concatenare, colectivul nostru a proiectat i
implementat o metod de sintez pornind de la text, metod bazat pe concatenarea
silabelor. Pentru implementarea metodei a fost necesar stabilirea unor reguli lingvistice n
faza de analiz a textului.
Metoda se rezum la urmtorii pai (fig. 1):
- analiza textului, ce cuprinde fazele de: preprocesare, analiz de sintax,
determinare a unitilor lingvistice (silabele), determinare a prozodiei
intrasegmentale (accentele);
- regsirea unitilor acustice din baza de date vocal;
- concatenarea unitilor;
- sinteza propriu-zis.

Preprocesare

Analiza sintaxei

Determinarea
unitilor lingvistice

Determinarea
prozodiei locale

Regsirea unitilor
acustice

Concatenarea
unitilor

Sinteza

Figura 1. Metoda de sintez bazat pe concatenarea silabelor


1. Preprocesarea textului
Preprocesarea textului se refer la transcrierea n form textual a informaiilor din textul
iniial care:
a) nu sunt scrise cu foneme, ci folosind alte caractere: cifre sau simboluri;
b) nu formeaz direct uniti lexicale, ci prescurtri ale acestora (abrevieri).

a) Din prima categorie fac parte numerele, alctuite din cifre, precum i anumite simboluri
scrise cu caractere speciale, cum ar fi :
Simboluri pentru operaiile aritmetice :
+ <-> plus
- <-> minus
x <-> ori <-> nmulit cu
: sau / <-> supra <->mprit la
Simboluri pentru peratorii aritmetici :
< <-> mai mic
> <-> mai mare
<= <-> mai mic sau egal
>= <-> mai mare sau egal
= <-> egal
!= sau <> <-> diferit
b) Abrevierile sunt i ele mprite pe categorii:
Uniti de msur:
m <-> metru
g <-> gram
l <-> litru ,
Hz <-> heri
dB <-> decibeli
Prefixe reprezentnd subuniti de msur:
n <-> nano
m <-> mili
c <-> centi
d <-> deci
da <-> deca
k <-> kilo
M <-> mega
Grade universitare:
asist. <-> asistent
sl. <-> ef lucrri
conf. <-> confereniar
prof. <-> profesor
Grade de armat:
serg. <-> sergent
plut. <-> plutonier
mai. <-> maior
cp. <-> cpitan
col. <-> colonel
gen. <-> general

Alte abrevieri:
loc. <-> localitatea
str. <-> strada
bl. <-> bloc
sc. <-> scara
ap. <-> apartamentul
tel. <-> telefon
Dintre toate aceste categorii de informaii, cele mai importante i cel mai des folosite sunt
numerele. Pentru explicitarea acestora sub form textual, fonematic, au fost concepute
reguli lexicale speciale. Aceste reguli in cont de poziia unei anumite cifre n cadrul numrului
pentru a o denomina printr-o anumit categorie verbal :
Tabelul 1.
Indice
n=0
n=1
n=2
n=3
n=4
n=5
n=6
n=7

Categorie
zeci
sute
mii
zeci de mii
sute de mii
milioane
zeci de milioane
...

2. Analiza sintaxei
Analiza corectitudinii textului din punct de vedere al sintaxei reprezint al doilea pas
preliminar efectuat n vederea realizrii unei sinteze de vorbire de calitate. Orice greeal de
sintax care apare n textul iniial (generat de obicei prin omiterea unei litere din cuvnt sau
de omiterea diacriticelor) va duce la sinteza unui cuvnt eronat, ceea ce va avea ca efect att
o senzaie de not discordant n rostirea global, ct i solicitarea unui efort din partea
auditorului de recreare mental a cuvntului corect. Acest efort induce diminuarea ateniei
fa de cuvintele care urmeaz, i chiar la pierderea sensului ntregii propoziii care conine
aceste cuvinte.
Pentru a nltura aceste dezavantaje i a realiza o sintez de voce de calitate
ridicat, este prin urmare nevoie de un analizor de verificare a corectitudinii sintactice a
textului. Un astfel de analizor se poate proiecta prin dou metode de baz : prin construirea
unui vocabular complet pentru limba respectiv, sau prin folosirea unor reguli gramaticale
sintactice, nsoite de specificarea unor condiii de excepie.
Prima metod este mai complet, dar are dezavantajul unui efort mare de construire
a unui vocabular pentru acea limb (care poate avea mai multe zeci de mii de cuvinte),
vocabular ce trebuie s conin i informaii despre construirea formei flexionate a cuvintelor
(de exemplu rdcin sau morfem, terminaii pentru declinare sau conjugare).
A doua metod necesit generarea unui set de reguli pentru regsirea formei de baz
neflexionate a cuvintelor i verificarea corectitudinii acestora printr-un dicionar. Metoda are
dezavantajul unui anumit grad de necompletitudine, depinznd de numrul de excepii
introduse n analizor.

Pentru limba romn s-au construit cteva variante de vocabulare ([],[]), i un


analizor de sintax integrat n produsul Microsoft Office Word. Toate aceste variante au
necesitat un volum mare de munc din partea unor echipe ntregi de lingviti i programatori.
Autorul a propus n aceast lucrare o metod bazat pe reguli gramaticale, variant
cu un cost de proiectare mult mai redus dect n cazul realizrii de vocabulare. Metoda are ca
punct de plecare generatorul automat de analizoare LEX, alimentat de o gramatic ce
specific regulile sintactice de flexionare a cuvintelor din limba romn. Pe lng aceste
reguli au fost introduse i un numr de excepii care asigur un grad nalt de completitudine n
ceea ce privete acoperirea formelor gramaticale din limba romn.
Metoda este prezentat n figura 1. La intrare se prezint un text cursiv ce conine
cuvinte n limba romn n diferite forme flexionate. Folosind un set de reguli sintactice de
flexionare i un set de excepii, analizorul LEX genereaz forma de baz, neflexionat, a
fiecrui cuvnt de la intrare i o caut ntr-un dicionar. O interfa grafic va pune apoi n
eviden cuvintele care au o sintax greit sau care nu au fost potrivite cu setul de reguli din
LEX.

LEX

TEXT

REGULI
de
flexionare

Forma
flexionat

DICIONAR
Forma de
baz
neflexionat

EXCEPII

Figura 2. Metoda de analiz de sintax propus de autori


Analizorul sintactic ia n considerare urmtoarele categorii sau pri de vorbire din
limba romn:
SUBSTANTIV
VERB
ADJECTIV
ADVERB
PRI DE VORBIRE
ARTICOL
CONJUNCIE
PREPOZIIE
NUMERAL
PRONUME
INTERJECIE
Prile principale de vorbire pot fi flexionate astfel:

SUBSTANTIV

Comun

NOMINATIV / ACUZATIV

Propriu

GENITIV / DATIV

Diminutiv
ADJECTIV
ADVERB
ARTICOL
PRONUME

NOMINATIV / ACUZATIV
GENITIV / DATIV

INFINITIV
VERB

VOCATIV

PREZENT
IMPERFECT
CONJUNCTIV

PARTICIPIU
PERFECT SIMPLU
MAI MULT CA PERFECT
GERUNZIU
VIITOR

Pe lng aceste flexionri, trebuie s se ia n considerare de asemeni i formele de


singular/plural, articulat/nearticulat aplicabile substantivului, adjectivului, articolului i
pronumelui.
Pentru generarea regulilor de flexionare, metoda ia n considerare terminaiile
cuvintelor care pot aprea n diferite forme flexionate. Setul de reguli introdus n LEX este
organizat pe 10 grupe distincte, corespunztoare celor 10 tipuri gramaticale (pri de vorbire)
prezentate anterior. Fiecare grup are un subset de reguli care n funcie de terminaia
cuvntului construiesc forma neflexionat corespunztoare i o transfer modulului de
verificare cu dicionarul.

2.1. Modul de funcionare al analizorului de sintax


Pentru fiecare cuvnt din textul surs se parcurge tot setul de reguli, ncercndu-se
potrivirea cu fiecare clas corespunztoare unei pri de vorbire. Dac se ntlnete
terminaia specificat de o regul, atunci acea regul se activeaz, se nlocuiete terminaia
curent cu forma neflexionat precizat tot de regula respectiv, apoi se declaneaz
aciunea de verificare a existenei formei neflexionate n dicionar. Dac exist, cuvntul se
memoreaz mpreun cu modul de flexionare specificat de acea regul. Modul de flexionare
cuprinde : cazul, genul, articularea, numrul persoanei pentru substantive , iar pentru verbe
tipul de conjugare. Apoi cuvntul se confrunt cu urmtoarele reguli, generndu-se n final o
list cu toate formele gsite posibile de analizor (figura 2) :

Cuvnt neflexionat
Cuvnt flexionat
Tip dicionar
Parte de vorbire
Numr persoane
Gen
Caz
Timp
Articulare

C.nf
C.f.
T.d.
P.v.
N.p.
G.
C.
T.
A.

C.nf
C.f.
T.d.
P.v.
N.p.
G.
C.
T.
A.

Figura 3. Lista generat cu formele flexionate posibile


n lista din figura 2, <Tip dicionar> reprezint categoria sintactic specificat de
dicionar, iar <Parte de vorbire> reprezint categoria specificat de analizor. La modul
esenial cele dou categorii trebuie s coincid, dar exist cazuri n care categoria specificat
de dicionar este o particularizare a unui caz mai general specificat de regulile analizorului.
De exemplu, fie regula :
Ri : Term_flex.=A => Term_nonflex.= ; P.v.=SUBST ; N.p.=SING ;
G.=FEM ; C.=NOM ; A.=HOT
Regula se refer la cuvinte care au terminaia A. n acest caz se asum cuvntul ca
fiind substantiv, de numr singular, gen feminin, caz nominativ, articulat hotrt, avnd
terminaia formei neflexionate . Dac avem dou cuvinte :
1) cuvntul FATA: avem P.v.=SUBST din analizor, iar din dicionar T.d.=
SUBST, dar
2) cuvntul FRUMOASA: avem P.v.=SUBST din analizor, iar din
dicionar T.d.= ADJ.
Pentru a verifica dac formele gsite sunt valide, se face o confruntare pe baz de
compatibilitate a categoriilor specificate de analizor prin reguli i cele gsite din dicionar.
Dac cele dou categorii nu sunt compatibile, atunci acea form se elimin din list. Dac
sunt compatibile, atunci forma flexionat se declar valid.
Compatibilitile dintre categoriile sintactice analizor / dicionar sunt prezentate n
tabelul urmtor:
Tabelul 1.
Categorie sintactic analizor
Substantiv
Articol sau Numeral
Verb

Categorie sintactic dicionar


Substantiv,
Adjectiv,
Pronume
Articol, Numeral, Pronume
Verb

2.2. Regulile specificate n analizorul de sintax

Adverb,

Setul de reguli pentru analiza de sintax este organizat modular, urmrind cele 10
categorii gramaticale prezente n dicionar. Fiecare categorie se mparte n subcategorii (de
ex. pentru substantive avem substantive comune, nume proprii, diminutive), iar pentru fiecare
subcategorie se genereaz reguli pentru toate formele flexionate (declinri la substantive,
conjugri la verbe), grupate dup clase de terminaii comune. La fiecare clas se mai adaug
un set de excepii (figura 3).

REGULI
SINTAX
CATEGORII

Substantiv

SUBCATEGORII

FORME
FLEXIONATE
TERMINAII

Adjectiv

Subst. comun

Nominativ

Subst: ea

Verb

Diminutiv

Dativ

Subst: ia

EXCEPII
Figura 4. Organizarea setului de reguli pentru analiza de sintax

2.3. Desprirea n silabe


Aa cum am vzut anterior, prima etap n analiza textului de sintetizat const n
determinarea unitilor fonetice de baz, i anume: propoziiile, cuvintele i silabele. Dac
extragerea propoziiilor i a cuvintelor nu ridic probleme deosebite, aceasta efectundu-se
pe baza semnelor de punctuaie i a caracterelor de separaie, nu acelai lucru se poate
spune despre stabilirea silabelor componente ale unui cuvnt. Pentru a realiza acest
deziderat a fost necesar proiectarea unui set de reguli fonetice pentru desprirea n silabe.
Principiul folosit la determinarea unitilor fonetice este ilustrat n figura 5.4. Astfel,
analizorul are o structur pe trei nivele, corespunztor cu trei module avnd roluri distincte n
identificarea i tratarea unitilor fonetice. Cele trei module sunt:
-

modulul de analiz lexical;


modulul de analiz sintactic;
modulul de procesare.

Proceduri
de calcul

Shell
Procesare

Reguli
sintactice

Analizor
Sintactic

Procesare
uniti

Propoziii

Cuvinte

Text

Silabe
Analizor
Lexical

Cifre

Reguli
lexicale

Separatori

Text
Figura 5. Analizorul lingvistic pentru desprirea n silabe
Shell-ul program are rolul de master, apelnd modulele de nivel inferior. Astfel, acesta
apeleaz analizorul sintactic pentru a-i returna unitile sintactice. Analizorul sintactic va apela
la rndul lui analizorul
lexical pentru
parcurgereaSeparatori
efectiv a textului
i regsirea Separatori
unitilor
Propoziie
Separatori
Propoziie
Propoziie
lexicale de baz.
Analizorul lexical extrage caracterele din text i le grupeaz n uniti fonetice primare.
Aici intr determinarea caracterelor alfabetice, numerice, a caracterelor speciale i semnelor
de punctuaie. Pe baza unor reguli de producie lexicale, caracterele alfabetice vor fi grupate
n silabe, caracterele numerice
iar caracterele
speciale i? semnele! de
Spaiu n cifre
Tabi numere,Punct
Tab
Virgul
punctuaie vor fi folosite n determinarea cuvintelor i propoziiilor.
Analizorul sintactic preia silabele, respectiv caracterele speciale i cifrele furnizate de
analizorul lexical i le grupeaz n cuvinte i propoziii. i aici a fost necesar stabilirea unui
set de reguli sintactice pentru departajarea unitilor fonetice corespunztoare.
Modulul de procesare preia n final unitile fonetice gsite anterior i, pe baza unor
proceduri de calcul, le clasific i le memoreaz n structuri speciale. De aici vor fi preluate i
Cuvnt
Separatori
Cuvnt
Cuvnt
Separatori
transformate
n forme
de und de ctre
modulul deSeparatori
sintez.

2.3.1. Analizorul sintactic folosit n extragerea propoziiilor i cuvintelor

Spaiu

Tab

Punct
Tab

Virgul

Analizorul sintactic folosete un set de reguli de producie care specific sintaxa


textului de la intrare. Textul iniial este considerat ca o list de propoziii, fiecare propoziie
fiind o list de cuvinte,
fiecare cuvnt fiind compus din mai multe silabe. Propoziiile, respectiv
Numr
cuvintele sunt desprite prin separatori. Astfel, unitile sintactice prezint urmtoarea
structur ierarhic:

ntreg

Silab

Silab

Real

Silab
Tab

Silab

Silab

...

...

...

Figura 6. Structura ierarhic a analizorului sintactic


n figura 6, unitile care apar pe un fond de culoare mai nchis (silabele, respectiv
numerele ntregi sau reale, precum i separatorii) sunt de fapt ieirile analizorului lexical,
adic sunt uniti care au fost determinate prin analiza lexical a textului. Astfel, analizorul
sintactic invoc analizorul lexical pentru a-i fi furnizat la fiecare apel unitatea lexical
urmtoare din text: o silab, un numr sau un separator.
Pe baza acestor uniti lexicale, la acest nivel se formeaz unitile sintactice de tip
cuvnt, propoziie sau text. Analizorul sintactic are posibilitatea ca dup regsirea fiecrui tip
de unitate s apeleze o procedur de calcul pentru procesarea specific a unitii.
n implementarea sistemului, a fost aleas varianta de apel de procedur doar pentru
uniti de tipul silabei i a separatorilor. Aceste uniti se vor memora n interiorul analizorului
lexical care le depisteaz. Memorarea cuvintelor i a propoziiilor se va face n interiorul
modulului de procesare, i nu la nivelul analizorului sintactic.

2.3.2. Analizorul lexical utilizat n determinarea silabelor

Analizorul lexical este apelat de ctre analizorul sintactic pentru regsirea unitilor
fonetice de baz, i anume : silabele, caracterele despritoare i numerele. Analizorul
sintactic va grupa aceste uniti lexicale de baz n cuvinte i propoziii. Analizorul sintactic
este implementat prin program, pe cnd analizorul lexical este rezultat n urma generrii
automate prin intermediul unui generator de parsere de text, numit LEX .
Generatorul automat LEX construiete un analizor lexical pornind de la o gramatic
ce descrie regulile de producie ale analizorului. Gramatica se scrie n limbaj standard BNF
(Backus-Naur Form) i specific secvenele de caractere care trebuie recunoscute din textul
de la intrare, precum i aciunile de efectuat corespunztoare acestor secvene. Secvenele
de caractere de recunoscut in cont de contextul stnga i dreapta n care ele apar.
Analizorul generat preia aadar de la intrare un text pe care l va parcurge secvenial
n scopul regsirii secvenelor specificate n gramatica BNF. In cazul nostru secvenele se
refer la regsirea numerelor, caracterelor speciale i a silabelor. Procesul realizat de ctre
analizorul lexical este ilustrat n figura urmtoare:

Text
CCCCCCCCCCCCC

Cifr

Separator

Alfanumeric

Reguli de
producie

Intreg

Real

Sep. 1

Tratare_numr

Silab
Sep. n

Tratare_separator

Tratare_silab

Figura 7. Analizorul lexical pentru regsirea silabelor


Aa cum se vede din figur, textul de la intrare este interpretat ca un ir de caractere.
La nceput, caracterul curent este clasificat n una din categoriile : cifr, caracter special sau
separator, respectiv caracter alfanumeric. Lund n considerare i contextul anterior precum
i contextul urmtor n care poate s apar, caracterul curent mpreun cu caracterele
anterior parcurse se grupeaz pentru a alctui o unitate lexical : un numr, un separator sau
o silab. Reguli de producie specifice pentru fiecare categorie indic modul n care se
formeaz aceste uniti, realiznd totodat i o subclasificare a lor (de exemplu pentru
numere dac este ntreg sau real, iar pentru separator tipul acestuia).
Odat identificat tipul unitii, caracterele componente sunt memorate i transmise
analizorului sintactic prin intermediul unor proceduri numerice (Tratare_numr,
Tratare_separator, Tratare_silab).

2.3.3. Determinarea accentelor

Schema de principiu a analizorului lingvistic folosit pentru determinarea accentelor


este ilustrat n figura 8.

Reguli
lexicale

Analizor
sintactic

ACCENTE

SN_3
SN_2
F1 F2

...

Fn Sep

CUVNT

Analizor
lexical

SN_1
SN

Figura 8. Analizorul lingvistic pentru determinarea accentelor


Parserul de text sau analizorul sintactic returneaz cuvntul curent din stream-ul de
intrare, cuvnt alctuit dintr-o serie de foneme i terminat cu un separator. Cuvntul este
introdus la intrarea analizorului lexical care, pe baza unor reguli lexicale, va determina silaba
accentuat din cuvnt. n limba romn, silaba accentuat este una din ultimele trei silabe ale
cuvntului (SN = ultima silab, SN_1 = penultima silab, respectiv SN_2, SN_3 = silabele
anterioare). Regulile sunt constituite dintr-o regul de baz, i anume aceea c penultima
silab este cea accentuat (regula general pentru limba romn), respectiv un set consistent
de excepii organizat pe grupuri de cuvinte ce au terminaii comune.
Analizorul lexical pentru determinarea accentelor a fost proiectat tot pe baza
facilitilor oferite de ctre generatorul automat LEX. Astfel regulile analizorului sunt furnizate
generatorului LEX n format BNF, stream-ul de intrare fiind chiar cuvntul curent extras din
text de ctre analizorul sintactic.
2.3.4. Regsirea unitilor acustice i sinteza de voce
n aceast etap se urmrete mai inti regsirea unitilor acustice din baza de date
necesare pentru sintez. Aceasta nseamn potrivirea unitilor lingvistice determinate pe
baza analizei textului de la intrare, cu unitile acustice nregistrate n baza de date. Pot exista
urmtoarele situaii:
a). Silaba dorit s fie regsit identic n baza de date vocal, att din punct de
vedere fonetic, ct i din punct de vedere prozodic. n acest caz silaba se reine ca atare
pentru a fi nglobat n cuvntul de sintetizat.
b). Silaba este regsit fonetic, dar nu i prozodic. Se prefer n acest caz
constituirea acesteia din silabe i foneme mai scurte, care s respecte prozodia cerut (silab
accentuat sau neaccentuat).
c). Silaba nu este regsit fonetic n baza de date. i in acest caz silaba va fi
compus pe baza fonemelor separate extrase din baza de date.
Urmeaz apoi mbinarea unitilor acustice regsite din baza vocal. Unitile se
concateneaz cu pauze corespunztoare pauzei dintre cuvinte, care se va ajusta n funcie
de ritmul cerut vorbirii.
i n fine, ultima faz este cea de sintez propriu-zis, n care formele de und
corespunztoare textului de la intrare sunt redate sonor prin intermediul plcii audio a
calculatorului.

2.3.5. Avantajele metodei

Metoda de sintez bazat pe concatenarea silabelor are urmtoarele avantaje:


- necesit un efort mai mic de construire i ntreinere a bazei de date vocale dect n
cazul metodei bazate pe corpus;
- prezint o calitate mai nalt a sintezei fa de metoda bazat pe foneme sau
difoneme, din cauza unui numr mai redus de puncte de concatenare;
- pstreaz simplitatea metodelor de sintez prin concatenare, n raport cu metodele
parametrice de sintez;
- metoda propus bazat pe reguli are o abordare unitar n toate fazele de
proiectare;
- utilizarea regulilor lingvistice n analiza textului asigur un efort de proiectare mult
mai redus n raport cu alte abordri.
2.3.6.

Implementare

Metoda a fost implementat utiliznd mediul de programare Visual C++ 6.0.


Analizoarele lexicale au fost realizate folosind programul LEX, care permite construirea de
parsere de text avnd la intrare o gramatic cu regulile de parcurgere n format BNF.
Etapele urmrite de noi n proiectarea sistemului de sintez de voce au fost
urmtoarele (figura 9):

1. Construirea unei baze de date vocale, ce cuprinde fazele de nregistrare, normalizare


2.
3.

i segmentare;
Analiza lingvistic a textului de sintetizat ce cuprinde fazele de determinare a
silabelor i accentelor din text.
Potrivirea unittilor acustice i sinteza propriu-zis.

Text

Determinare
silabe

Determinare
accente

mbinarea
unitilor

Sintez

Baza de
date

vocal
nregistrare

Normalizare

Segmentare

Figura 9. Sistemul de sintez n limba romn LIGHTVOX

Prima etap n proiectarea sistemului a fost construirea unei baze de date vocale.
n cazul sistemului LIGHTVOX, baza de date vocal cuprinde formele de und asociate
silabelor limbii romne.

Constituirea bazei de date pentru sintez presupune un proces de nregistrare a


rostirii unui vorbitor uman, rostire care trebuie s includ toate tipurile de uniti fonetice
dorite, n cazul nostru silabele. Nu au fost incluse n baza de date toate silabele limbii
romne, ci doar un subset al acestora, silabele care n-au fost incluse fiind generate pe baza
celor existente.
Procesul de nregistrare a semnalului vocal presupune folosirea unei aparaturi
speciale constituit dintr-un microfon profesional, o plac digitizoare de semnal acustic, i un
program software specializat pentru lucrul cu fiiere audio de tip WAVE. Noi am folosit un
microfon dinamic semiprofesional, o plac audio Creative SoundBlaster, i un program de
digitizare audio Cool Edit Pro versiunea 2.0.
n urma nregistrrii fiierelor audio s-a realizat o faz de normalizare, adic de
aducere a eantioanelor vocale la o form unitar n tot cuprinsul bazei vocale. Normalizarea
presupune prelucrarea digital a semnalului vocal nregistrat, proces care poate fi fcut
manual sau semiautomat, prin intermediul unui program software specializat, sau automat, n
cazul n care se proiecteaz algoritmi speciali de normalizare.
Noi am utilizat pentru normalizare un program de digitizare audio. Baza de date
normalizat are toate nregistrrile de aceeai amplitudine (rostirile prezentnd aceeai trie
sonor), precum i frecven fundamental constant (corespunznd unor rostiri de aceeai
tonalitate, acelai ritm i intonaie constant. Aceste cerine legate de amplitudine i frecven
fundamental se refer n primul rnd la segmentele vocale care prezint aceste caracteristici
cu alte cuvinte la segmentele corespunztoare vocalelor fonetice.
Dup faza de normalizare a urmat etapa de segmentare a bazei de date n scopul
obinerii unitilor acustice cu care lucreaz sistemul. n cazul nostru, nregistrrile au fost
segmentate pentru a obine silabele dorite. Noi am proiectat un algoritm de segmentare
automat n regiuni avnd aceleai caracteristici i un algoritm de potrivire a fonemelor cu
regiunile detectate. Astfel silabele au fost uor de pus n eviden din semnalul iniial i
salvate n baza de date. Procesul de segmentare nu este obligatoriu s urmeze dup
normalizare, cele dou etape fiind interschimbabile n funcie de abordare.
Baza de date vocal cuprinde totalitatea unitilor fonetice utilizate pentru sintez, i
anume un subset al silabelor limbii romne. Baza de date este organizat sub form
arborescent, n care nodurile arborelui reprezint caracteristicile silabelor, iar nodurile frunz
corespund silabelor propriu-zise.
Silabele au fost introduse n baza de date n funcie de urmtoarea clasificare:
dup lungimea silabei: silabe de dou, trei sau patru litere;
- dup poziia din cadrul cuvntului: silabe de segment median sau final;
- dup accentuare: silabe accentuate sau neaccentuate.
Baza de date vocal a fost apoi indexat pentru regsirea uoar a informaiilor.
Dup ce baza de date vocal a fost nregistrat, segmentat i normalizat, a urmat
procesul de analiz lingvistic a textului de sintetizat.
O prim etap de analiz este extragerea unitilor fonetice din textul prezentat la
intrare. La nceput se analizeaz semnele de punctuaie existente n text, n funcie de care
separ propoziiile. Semnele de punctuaie dau un indiciu i despre tipul propoziiei
(afirmativ, interogativ, imperativ), de mare importan pentru determinarea intonaiei i
accenturii elementelor propoziionale.
Fiecare propoziie este apoi mprit n cuvinte, pe baza caracterelor textuale
despritoare. n aceast faz s-a inserat o etap de preprocesare a textului, n care cifrele
existente s fie transcrise sub form literal, iar abrevierile din text s fie expandate n cuvinte
ntregi.
Etapa cea mai important care urmeaz este stabilirea silabelor componente din
cadrul unui cuvnt. Pentru aceast etap a fost necesar o analiz lexical bazat pe
determinarea unui set de reguli de desprire n silabe a cuvintelor, reguli care sunt specifice
pentru limba romn. Regulile cuprind un nucleu de elemente de ordin global, i un set de
excepii ataat acestui nucleu. Rolul acestui set de reguli este de a determina fonemele
componente ale fiecrei silabe din cadrul unui cuvnt.
Analizorul lingvistic pentru desprirea n silabe are o structur alctuit din trei
module: analizorul lexical, analizorul sintactic i modulul de procesare
Analizorul lexical extrage caracterele din text i le grupeaz n uniti fonetice
primare. Aici intr determinarea caracterelor alfabetice, numerice, a caracterelor speciale i

semnelor de punctuaie. Pe baza unor reguli de producie lexicale, caracterele alfabetice vor fi
grupate n silabe, caracterele numerice n cifre i numere, iar caracterele speciale i semnele
de punctuaie vor fi folosite n determinarea cuvintelor i propoziiilor.
Analizorul sintactic preia silabele, respectiv caracterele speciale i cifrele furnizate de
analizorul lexical i le grupeaz n cuvinte i propoziii. i aici a fost necesar stabilirea unui
set de reguli sintactice pentru departajarea unitilor fonetice corespunztoare.
Modulul de procesare preia n final unitile fonetice gsite anterior i, pe baza unor
proceduri de calcul, le clasific i le memoreaz n structuri speciale. De aici vor fi preluate i
transformate n forme de und de ctre modulul de sintez.
Analizorul lexical pentru determinarea silabelor a fost proiectat pe baza facilitilor
oferite de ctre generatorul automat LEX, care genereaz un parser de text pe baza regulilor
de producie furnizate.
Dup etapa de desprire n silabe, urmeaz etapa de determinare a accentelor din
interiorul cuvintelor. Folosind un al doilea analizor lexical, de data aceasta proiectat pentru
determinarea accentelor, au fost stabilite silabele accentuate, respectiv silabele neaccentuate
din cadrul cuvintelor care au fost extrase n etapa anterioar.
Parserul de text sau analizorul sintactic returneaz cuvntul curent din stream-ul de
intrare, cuvnt alctuit dintr-o serie de foneme i terminat cu un separator. Cuvntul este
introdus la intrarea analizorului lexical care, pe baza unor reguli lexicale, va determina silaba
accentuat din cuvnt. n limba romn, silaba accentuat este una din ultimele trei silabe ale
cuvntului (SN = ultima silab, SN_1 = penultima silab, respectiv SN_2, SN_3 = silabele
anterioare).
Regulile de accentuare sunt constituite dintr-o regul de baz, i anume aceea c
penultima silab este cea accentuat (regula general pentru limba romn), respectiv un set
consistent de excepii organizat pe grupuri de cuvinte ce au terminaii comune.
Urmeaz apoi faza de potrivire a unitilor fonetice, determinate pe baza analizei
textului de la intrare, cu unitile acustice nregistrate n baza de date. Aici pot exista
urmtoarele situaii:
a) silaba dorit este regsit identic n baza de date vocal, att din punct de vedere
fonetic, ct i din punct de vedere prozodic. n acest caz silaba se reine ca atare pentru a fi
nglobat n cuvntul de sintetizat.
b) silaba este regsit fonetic, dar nu i prozodic. Se prefer n acest caz constituirea
acesteia din silabe i foneme mai scurte, care s respecte prozodia cerut (silab accentuat
sau neaccentuat).
c) silaba nu este regsit fonetic n baza de date. i in acest caz silaba va fi compus
pe baza fonemelor separate extrase din baza de date.
Urmeaz apoi mbinarea unitilor acustice regsite din baza vocal. Unitile se
concateneaz cu pauze corespunztoare pauzei dintre cuvinte, care se ajusteaz n funcie
de ritmul cerut vorbirii.
i n fine, ultima faz este cea de sintez propriu-zis, n care formele de und
corespunztoare textului de la intrare sunt redate sonor prin intermediul plcii audio a
calculatorului.
Ca i rezultate i observaii experimentale, s-a constatat o audiie satisfctoare a
textului sintetizat, care respect prozodia segmental (accentuarea cuvintelor) din limba
romn. Ceea ce se observ este fluena rostirii i un grad ridicat de naturalee. Ca i
mbuntiri viitoare, este clar c folosirea unor condiii profesioniste de nregistrare a
semnalului vocal i utilizarea unei voci cu caliti acustice superioare pot duce la creterea
semnificativ a calitii rostirii sintetizate.
Tot n aceast faz a proiectrii au fost proiectate baza de date n format electronic
(biblioteca de cri electronice), precum i interfaa de acces vocal la aceast baz de
date. De asemeni a fost realizat i testat prototipul final al aplicaiei.
Biblioteca de cri n format electronic a fost realizat prin conversia n format text
electronic a unor cri din diferite domenii de activitate, rezultnd o minibibiotec electronic
ordonat dup autori. Conversia a fost fcut respectnd standardul ASCII format Windows
Central European, prin preluarea unor documente n regim free de pe Internet, respectiv prin
scanarea unor cri i utilizarea unui program OCR pentru recunoaterea caracterelor.

Interfaa de acces vocal permite utilizatorului alegerea unui autor prin intermediul
tastaturii (n cazul unui nevztor, acesta va folosi o tastatur special ce are aplicate
caractere de tip Braille), apoi citirea automat prin intermediul programului a titlurilor
disponibile, i n final selectarea titlului dorit. Prin intermediul unor comenzi de la tastatur de
tip shortcut, nevztorul poate audia cartea electronic solicitat, poate ntrerupe audierea
sau poate reasculta ultima fraz rostit.
Concluzie:
n aceast ultim faz a proiectrii a fost realizat prototipul unui sistem vocal
interactiv pe baz de sintez de voce, destinat a fi utilizat de ctre persoanele nevztoare. A
fost implementat o metod proprie de sintez vocal bazat pe concatenarea silabelor. A
fost construit o bibliotec de cri electronice i o interfa de acces vocal la aceast
bibliotec ce poate fi accesat de ctre nevztori.
Sistemul a fost testat pe o configuraie local, urmnd implementarea pe o reea de
calculatoare, precum i perfecionarea n funcie de cerinele directe ale persoanelor
nevztoare.

Bibliografie :
[Bur05] Burileanu C., Oancea E., Radu M., Text-to-Speech Synthesis for Romanian
Language: Present and Future Trends, http://www.racai.ro/books/awde/ burileanu. htm
2005
[Bur97] Burileanu C. & al., Text-to-Speech Synthesis for Romanian Language, n Recent
Advances in Romanian LanguageTechnology, Editura Academiei Romne, Bucureti, 1997
[Buz 06] Buza O., Toderean G., Syllable detection for Romanian text-to-speech synthesis,
Sixth International Conference on Communications COMM06 Bucharest, June 2006, pp.
135-138.
[Buz 07] Buza O., Toderean G., A Romanian Syllable-Based Text-To-Speech System, 6th
WSEAS International Conference on Signal Processing, Robotics and Automation (ISPRA
'07), CD-Rom Proceedings, Corfu Island, Greece, February 16-19, 2007
[Feh93] Feher, K., Comunicaii digitale avansate, Editura Tehnic Bucureti, 1993.
[Fur01] Furui, S., Digital Speech Processing. Syntesis and Recognition, Marcel Dekker
Publications, 2001.
[Her90] Hermansky, H., Perceptual linear predictive (pip) analysis for speech, The Journal of
The Acoustical Society of America, vol. 87, pp.1738-1752, apr. 1990.
[Her92] Hermansky, H., Morgan, N., RASTA-PLP Speech Analysis Technique, IEEE Trans.
Speech and Audio, vol. 1, pp. 121-124, 1992.
[His05] History of Speech Recognition and Transcription Software, http://www.dragonmedical-transcription.com/historyspeechrecognition.html, 2005
[Hos00] Hosom J.P., Automatic Time Alignment of Phonemes Using Acoustic-Phonetic
Information, Computer Science and Engineering, Oregon Graduate Institute of Science and
Technology, Beaverton, OR, USA, Published as Technical Report CSE-00-TH-002 May 2000
[Jur00] Juravski D., Speech and language processing : an introduction to natural language
processing, computational linguistics, and speech recognition, 2000
[Kai00] Kaiser, E.C., Book Review: Extended Finite State Models of Langauge, in
Computational Linguistics, vol. 26, num. 2, pp. 282-285, Jun, 2000
[Kai01] Alexander B. Kain, High Resolution Voice Transformation, OGI School of Science &
Engineering at Oregon Health & Science University, 2001
[Kes04] Judith M. Kessens and Helmer Strik, On automatic phonetic transcription quality:
lower word error rates do not guarantee better transcriptions, Computer Speech & Language,
Volume 18, Issue 2, Pages 123-141, 2004
[Kla02] E. Klabbers, J. van Santen and J. Wouters, Prosodic Factors for Predicting Local
Pitch Shape, in IEEE Workshop on Speech Synthesis, Santa Monica, CA, USA, 2002
[Lup04] Lupu E., Pop P., Prelucrarea numeric a semnalului vocal, vol.1, Ed. Risoprint, 2004.
[Mah00] Mahomed, M. and Gader, P., Generalized Hidden Markov Models. IEEE
Transactions on Fuzzy Systems, 2:6793, 2000
[Mob00] Mobius B.,
Corpus-based speech synthesis: methods and challenges. In:
Arbeitspapiere des Instituts fr Maschinelle Sprachverarbeitung (Univ. Stuttgart), AIMS 6 (4),
pp. 87116, 2000

[Mon05] Elizabeth Montalbano, Microsoft Gets Exchange to Speak Up, PC World, August 02,
2005
[Pra04] V. Kamakshi Prasad , T. Nagarajan and Hema A. Murthy, Automatic segmentation of
continuous speech using minimum phase group delay functions, Speech Communication,
Volume 42, Issues 3-4, Pages 429-446, April 2004
[Ram05] Ramon Lopez Cozar Delgado, Masahiro Araki, Spoken, Multilingual and Multimodal
Dialogue Systems: Development and Assessment, ISBN: 0-470-02155-1, Wiley Publisher
House, September 2005
[Ros04] A-V. I. Rosti and M. J. F. Gales, Factor analysed hidden Markov models for speech
recognition, Computer Speech & Language, Volume 18, Issue 2, Pages 181-200, April 2004
[Tat05] Mark Tatham , Katherine Morton, Developments in Speech Synthesis, ISBN: 0-47085538-X, Wiley Publisher House, 2005
[Tod05] G. Toderean, Al. Caruntu, Metode de recunoatere a vorbirii, Editura Risoprint, ClujNapoca, 2005.
[Tro02] Trouvain, J. Tempo control in speech synthesis by prosodic phrasing. Proceedings of
Konvens, Saarbrucken, Germany, 2002
[Tuf01] Tufis, D. and Barbu, A.M., Automatic construction of translation lexicons, Advances in
Automation, Multimedia, Video System and Modern Computer Science, Electrical and
Computer Engineering Series, WSES Press, http://www.worldses.org, pp. 156161, 2001
[Vei04] Veikko Surakka, Marko Illi, Gazing and frowning as a new human--computer
interaction technique, ACM Transactions on Applied Perception (TAP), Volume 1 , Issue 1,
July 2004,Pages: 40 56, ISSN:1544-3558, 2004
[Vla97] Vlaicu A., Dobrot V., Tehnologii Multimedia Sisteme, reele i aplicaii, Editura
UTCN, Cluj-Napoca, 1997
[Wal01] Patricia Walsh, Randy Lundquist, and John A. Gardner, The Audio-Accessible
Graphing Calculator, Proceedings of the 2001 CSUN International Conference on Technology
and Persons with Disabilities, Los Angeles, CA, March 21-24, 2001
[Wou00] Johan Wouters and Michael W. Macon, Unit Fusion for Concatenative Speech
Synthesis, in Proceedings of the International Conference on Spoken Language Processing
(ICSLP), Oct, 2000

Director de proiect,
Prof. Dr. Ing. Gavril Toderean