Documente Academic
Documente Profesional
Documente Cultură
INTRODUCERE......................................................................................................10 1. STUDIUL ASUPRA REALIZRILOR N DOMENIUL PROCESRII VORBIRII..........10 1.1. Metode actuale de procesare si analiza a semnalului vocal............................12 1.2. Metode de prelucrare numerica a semnalului vocal.......................................12 1.3. Metode de codare a semnalului vocal..........................................................12 1.4. Metode i standarde de compresie a semnalului vocal .................................15 1.5. Metode de analiza a semnalului vocal...........................................................17 1.6. Analiza in domeniul de timp a semnalului vocal.............................................18 1.7. Analiza in domeniul de frecventa a semnalului vocal.....................................20 1.8. Analiza prin banc de filtre digitale..................................................................20 1.9. Analiza fourier............................................................................................21 1.10. Recunoaterea vorbirii..............................................................................22 1.11. Avantajele recunoaterii vorbirii.................................................................22 1.12. Dificulti ntmpinate n procesul recunoaterii vorbirii................................23 1.13. Clasificarea sistemelor de recunoatere a vorbirii........................................23 1.14. Recunoaterea continu a vorbirii..............................................................24 2. ELABORAREA DISPOZITIVULUI PENTRU DETECTAREA VOCII DIN SUNET.......27 2.1. Realizarea caselor inteligente.......................................................................27 2.2. Analiza vorbirii.............................................................................................27 2.3. Calcularea amprentei digitale.......................................................................28 2.4. LEGATURA HARDWARE/SOFTWARE.........................................................28
2.5. Modelul software/hardware...........................................................................29 2.6. Pragul initial de calcul..................................................................................30 2.7. GENERAREA AMPRENTEI DIGITALE.........................................................30 2.8. IMPLEMENTAREA FILTRELOR...................................................................31 2.9. Algoritmul de recunoastere a vocii................................................................32 2.10. Structurarea intrarii....................................................................................32 2.11. Metoda filtrului trece band........................................................................32 2.12. Compararea amprentelor...........................................................................34 2.13. Rezultatele proiectului................................................................................35 3. PRELUCRAREA SEMNALELOR CU AJUTORUL MICROCONTROLERULUI...........36 3.1. Atmega 32. arhitectura.................................................................................36 3.2. Descrierea pinilor.........................................................................................34 3.3. CONVERTORUL ANALOGIC-DIGITAL (ADC)...............................................47 4. ARGUMENTAREA ECONOMIC........................................................................50 4.1. Descrierea general a proiectului...............................................................50 4.2. Analiza raionalitii proiectului......................................................................51 4.3. Plan calendaristic.........................................................................................52 4.4. Argumentarea economic.............................................................................54 4.5. Managementul resurselor umane........................................................................59
CONCLUZII.........................................................................................................63 BIBLIOGRAFIE.....................................................................................................64
INTRODUCERE Principala caracteristic a unei case inteligente este utilizarea noilor tehnologii. Una din tehnologiile care ar putea facilita traiul intr-o casa este tehnologia de detectare a vocii din sunet.Aceasta tehnologie ar permite controlul asupra tuturor dispozitivelor din cas.Controlul dat se va efectua prin comenzile vocale.In acest mod nu va mai fi nevoie de a apasa un buton care va aprinde,stinge sau conecta sau deconecta vreun dispozitiv. Idea data de a controla dispozitivele din jur doar cu ajutorul vocii este una universal,deoarece tehnologia data poate fi intrebuinata nu numai in case dar si in aproximativ toate locurile unde omul pentru a primi un rezultat se foloseste de dispozitive comandate prin butoane. Tehnologia de detectare a vocii este un pas spre dezvoltare.Sa luam spre exemplu utilizarea tehnologii date in controlul masinilor. Comenzile ca stinga,dreapta,inainte,inapoi,stop,porneste ar uura condusul autovehicolului si ar oferi un alt grad de confort pentru conducator. Insa revenind la ideea initiala de implementarea a tehnologii date in casele moderne trebuie de mentionat faptul ca dispozitivul dat va controla peste 90% de procente din toata tehnica din casa.Asa deci,tehnologia de detectare a vocii va functiona dupa un principiu foarte usor. Astfel, pentru controlul aparatelor sunt nevoie aproximativ comenzile: start, stop, aprinde, stinge, mai tare si mai incet.In acest fel pentru comenzile date care reprezint desigur niste cuvinte care vor fi rostite la timpul lor in dispozitivul dat de detectare a vocii vor fi create modele.Modelele date vor fi inregistrate in memoria programului cu care va functiona tehnologia data pentru a le putea compara programul cu cuvintele sau comenzile care vor fi rostite de diferite persoane. Odata identificate cuvintele, programul in dependent de comanda pronuntata va efectua sarcina propriu zis. In continuare se va analiza procesul de receptionare,identificare si indeplinire a comenzilor de dispozitivul de detectare a vocii. Principalele sale functii la care se va face referinta vor fi de comand si control.
10
11
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 . 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 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 sau metode bazate pe corpus, care folosesc cantiti mari de date achiziionate in urma rostirii naturale a unui text .
1.1.
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.
12
Tehnica cea mai utilizat n codarea semnalului vocal este tehnica modulrii impulsurilor n cod (PCM Pulse Code Modulation ) . 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 : 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
Coala Mod Coala Nr. document Semnt . Data
13
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 . 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 1.1.
x(n)
i(n)
xp(n)
ep(n)
Figura 1.1 Schema canonic a codorului DPCM (PCM diferenial)[4] n figura 1.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 ) ,
k =1
(1.1)
La fiecare pas, eroarea de predicie e cuantizat ntr-o valoare ep(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 ep(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,
14
precum energia, frecvena sau valorile spectrale . 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 1.2 :
b(n) = 1
G
Predictor
xp(n)
Informaia de adaptare
Figura 1.2 Schema bloc a codorului delta adaptiv[8] 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 ) 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)] , (1.3) (1.4)
x p ( n) = x p (n 1) + Gn b(n) .
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 1.3 :
Zgomot de suprapant
Zgomot granular
15
Figura 1.3 Tipuri de zgomot n modulaia delta[10] 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 1.2, n care ctigul amplificatorului are forma :
Gn = Gn 1 + f (bn 1 , bn 2 , bn 3 ) ,
Modulaia delta cu adaptare instantanee are ctigul :
(1.5)
unde funcia f() ia valorile 1 sau 0 dup cum bn-1, bn-2 , bn-3 sunt sau nu toate de acelai semn.
G n = G n 1 M (bn 1 , bn 2 ) ,
pentru predicia de suprapant, i subunitar pentru predicia de granularitate.
(1.6)
unde M ia una din dou valori dup cum bn-1, bn-2 sunt sau nu de acelai semn : M va fi supraunitar 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.
16
Componentele din vectorul V se cuantizeaz independent i se transmit pe canal. La receptor, vectorului Vc obinut din cuantizarea lui V i se aplic o transformare invers B pentru a recompune aproximarea vectorului iniial U, care este Ur.
Tr A
Tr B
Figura 1.4 Algoritmul de compresie prin transformri[6] 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
Coala Mod Coala Nr. document Semnt . Data
17
opera la viteze de 2,4 kbps. Din cauza aproximaiilor n codare, calitatea este mai slab dect n cazul metodelor bazate pe CELP.
Figura 1.6 Funcie fereastr utilizat n ponderare[2] x 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.
18
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: M ( n) = unde: 1 N
m=
| x(m) | w(n m)
(1.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 E ( n) = 1 N
m =
(1.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:
N 1 n=0
NTZ =
(1.9)
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.
19
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: Rn ( k ) = unde
N k 1 m=0
(1.11)
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. A. Metoda funciei diferen de amplitudine medie Metoda se bazeaz pe calculul funciei diferen de amplitudine medie, care are expresia: D (n) = 1 N
N 1 k =0
| s
sk n |
, cu 0 n N 1
(1.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. B. 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) = x ( n) P, x ( n ) < 0 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. (1.13)
n varianta metodei cu limitare infinit, valorile pozitive se nlocuiesc cu o valoare maxim, iar
20
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: analiza prin banc de filtre, analiza Fourier, analiza LPC, analiza cepstral i analiza perceptual.
x1(n)
FTB 2
Transformare neliniar
x2(n)
x(n) . . . . . .
Transformare neliniar
xN(n)
FTB N
Figura1.7 Schema bloc a analizorului cu banc de filtre[1] Semnalul iniial x(n) este descompus n N benzi de frecven prin intermediul filtrelor treceband FTB1...FTBN. Fiecare band este supus apoi unei transformri neliniare pentru deplasarea spectrului ctre domeniul frecvenelor joase. Vectorii rezultai xk(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.
1.9.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
Coala Mod Coala Nr. document Semnt . Data
21
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 n =0
X (k ) = x(n)e j 2nk / N
unde:
, k = 1,2,...,N ,
(1.14)
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:
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(N2). Pentru rapidizare sunt disponibili diveri algoritmi, dintre care cei mai cunoscui sunt algoritmii FFT (Fast Fourier Transform- Transformata 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 .
22
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.
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
Coala Mod Coala Nr. document Semnt . Data
23
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.
24
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.
25
Figura 1.8 Structura unui sistem de recunoatere a vorbirii[4] Procesul de recunoatere poate fi modelat ca i un sistem de comunicaie mprit n patru etape (Figura 1.8): 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 de cuvinte W , cu ajutorul decodorului lingvistic. Se poate scrie c
W = arg max P(W | Y ) .
w
(1.14)
(1.15)
Cum P(Y) este independent de W regula de decodare bazat pe o estimare de tip maximum
(1.16)
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.
26
27
28
y2(n)=b21x2+ b22x2(n-1)+ b23x2(n-2)- a21y2(n-1)- a22y2(n-2) yout(n)=gy2(n) Unde coeficientii a si b au fost obinui in programului Matlab cu ajutorul comenzilor: [B,A] = cheby2(2,40,[Freq1, Freq2]); Cind 2 defineste filtrul de ordinul 4,40 defineste banda de taiere a decibelilor iar Fregv.1 si Fregv.2 reprezinta fregventele de normalizare a taierii. [sos2, g2] = tf2sos (B2, A2,'up','inf');
(2.1)
Unde P este amprenta din dictionar si Q este o amprenta a unui cuvint simplu iar pi si qi sunt datele necesare creerii amprentelor mentionate anterior.Pentru a vedea daca doua cuvinte sunt asemanatoare utilizam distanta Euclidian pentru ambele cuvinte si dac ele au o distant minima intre ele atunci ele sunt identice.Formula dat cere ptratul diferenei dintre doua puncte dar deoarece utilizm puncte fixe aritmetice am observat ca ptratul distanei produce numere prea largi ceea ce duce la incarcarea variabilelor peste masura.Astfel am implementat un altfel de calcul al distanei Euclidiene ce const prin scoaterea sumei de sub radacina patrat astfel reducind formula de calcul la:
D=
(2.2)
29
Fig.2.1 Schema electrica a microfonului[4] Amplificatorul LMC 385 are o vitez de crestere a tensiunii la iesire mai bun si ofera un raspuns mai bun la semnalul de intrare, astfel amplificatorul dat l-am folosit in circuitul dat. Procesarea semnalului de vorbire necesit o multime de calcule ceea ce inseamn ca este nevoie de un procesor rapid , ins este nevoie sa operm cu un processor de 16MHz. In scopul de a reduce la minim numarul de cicluri am folosit filtrarea semnalului audio ceea ce a dus la scrierea majoritar a codului in assembler.Toate cele 10 filtre digitale au fost scrise in codul assembler marind astfel eficacitatea si performanta in raport cu implementarea codului C.
Fig.2.2 Schema bloc a dispozitivului de recunoastere a vocii[5] Algoritmul de baz al codului este de a verifica intrarea ADC-ului la o rata de 4Khz. n cazul n care valoarea la ADC este mai mare dect valoarea de prag este interpretat de program ca nceputul unui cuvnt de o jumtate de secund. Cuvntul prob trece prin 8 filtre trece band i este transformat ntr-o amprent digital.
Coala Mod Coala Nr. document Semnt . Data
30
Cuvinte pentru a fi potrivite sunt stocate ca amprentele digitale ntr-un dicionar, astfel c amprentele digitale prelevate sa poata fi comparate mpotriva lor mai trziu. Odat ce o amprenta digitala este generata de un simplu cuvnt ,ea este comparat cu amprentele digitale din dictionar i folosind modificarea calculului distanei euclidiene se gsete amprenta n dicionar, care este cea mai apropiata. Bazat pe cuvntul care corespunde cel mai bine programul trimite un semnal PWM catre masina pentru a efectua operaiuni de baz ca stnga, dreapta, dute, opreste, sau invers.
31
Fig.2.3 Schema bloc de utilizarea filtrelor[6] Am ales filtrul Chebyshev de ord.4 cu o banda de stop de 40 dB de cand am obtinut tranziii foarte rapide dupa frecvena de taiere. Am proiectat 10 filtre - unul trece-jos cu o frecvena de taiere 1,8KHz, unul trece-sus cu o frecvena de taiere 200Hz, si 8 filtre trece-band cu o band de trecere de 200Hz, si distribuite ficare de la 200Hz la 1,8Khz(200-400,400-600..1,6-1,8). Am proiectat filtrele in asa mod deoarece se tie ca cele mai importante frecvene in vorbire se afla in primii 2KHz, deoarece aici se gasesc primul si al doilea formatori ai vorbirii(frecvenele de rezonan). aceasta ne permite s prelucram(procesam) semnalul la o frecvena de 4KHz si ne da indeajuns timp sa implimentm 10 filtre. Pentru implimentarea filtrelor Chebyshev de ord.4, am legat in cascada doua filtre IIR de ord.2 pentru a obine un filtru de ord.4 am folosit un cod assembler pentru filtre IIR de ord.2. Am generat coeficienii filtrului IIR de ord.4 utilizand Matlab cum este descris in seciunea matematic de mai sus. Coeficienii sus numii sunt numere in virgul mobila i pentru ai transforma in virgula fixa inmultim aceste numere cu 256 si le rotungim la cel mai apropiat intreg folosind macro-ul float2fix. Virgula fixa a fost folosita in locul virgulei mobile deoarece calculele MEGA32 in virgula mobila sunt foarte lente iar noi avem nevoi de putere mare de procesare pentru fintrele IIR. MEGA32 are doar 2KB de memorie RAM si un cuvant prelucrat la frecventa de 4KHz va ocupa in memorie exact 2KB. In particular pentru a crea o amprenta a unui cuvant trebuie ca iesirea ADC-ului sa fie prelucrata cu toate filterle mai rapid ca pasul de discretizare a ADC-ului de 250us. De altfel, am modificat filtrele putin, prin alternarea coeficientului de amplificare, pentru a avea amplificarea filtrului de 20 in loc de 1. Sa facut asta pentru a proteja iesirea filtrului de la subnivel la cadera la zero cand este ridicat la patrat. Iesirea filtrului a fost ridicata la patrat in special pentru a stoca intensitatea sunetului nu doar a amplitudinii. Pentru a reduce timpul de ridicare la patrat a iesirii filtrului sa luat si sa combinat cu funcia filtrului si inca cu acumularea patratului filtrului precedent au fost la fel puse in assembler pentru a reduce ciclurile de procesare. Cu toate astea, reducerea ciclului de procesare nu a fost indeajuns pentru
32
a implimenta toate cele 10 filtre, asa ca am incetat sa mai chemam filtrul trece-sus. Mai tarziu filtrul trece jos a fost eliminat deoarece zgomotul de frecventa joasa parea sa interfereze cu iesirea filtrului.
33
matlab>> [B3,A3] = cheby2(2,20,[0.25 0.45]); % bandpass from 1kHz to 1.7kHz matlab>> [B4,A4] = cheby2(2,20,[0.45 0.65]); % bandpass from 1.7kHz to 2.5kHz matlab>> [B5,A5] = cheby2(4,20,0.47,'high'); % highpass with cutoff below 2.5kHz matlab>> [sos1,g1] = tf2sos(B1,A1,'up','inf'); % create second-order filter sections... matlab>> [sos2,g2] = tf2sos(B2,A2,'up','inf'); matlab>> [sos3,g3] = tf2sos(B3,A3,'up','inf'); matlab>> [sos4,g4] = tf2sos(B4,A4,'up','inf'); matlab>> [sos5,g5] = tf2sos(B5,A5,'up','inf'); Pentru a vedea functia de transfer a filtrului se poate utiliza: matlab>> freqz(B1,A1,1000,8000); Matricile "sosN" si valorile "gN" sunt ceea ce ne trebuie. Iata sintaxa: sosx =[ b01 b11 b21 1 a11 a21 b02 b12 b22 1 a12 a22 ] pentru fiecare din aceste perechi sosN/gN scrim codul ANSI C in felul urmator: float filterN( float x ) { static float d01 = 0.0; static float d11 = 0.0; static float d02 = 0.0; static float d12 = 0.0; float y1, y2, t0, t1; /* first 2nd-order filter stage */ t0 = x - a11*d01 - a21*d11; y1 = b01*t0 + b11*d01 + b21*d11; d11 = d01; d01 = t0; /* second 2nd-order filter stage */ t1 = y1 - a12*d02 - a22*d12; y2 = b02*t1 + b12*d02 + b22*d12; d12 = d02; d02 = t1; return g*y2; // g is "gN" from tf2sos }
34
Pentru fiacare mostra luata din codul C chemi filterN(), ridici la patrat rezultatul, apoi il adaugi intr-un acumulator: y1 = filter1(x); s1 += y1*y1; Trebuie sa faci asta pentru, undeva 500 de mostre, mai apoi unim sau mai bine spus concatenam valorile s1..s5 in vectorul amprentei, si resetam s1..s5 la zero.(De fapt, empiric, este mai bine sa aplicam logaritmul magnitudelor la s1..s5 inainte de a depozita in amprenta. Aceasta mica modificare ridica precizia recunoasterii de la 60% la 100%). Repetand aceasta de 16 ori obtinem o amprenta de 80 din elmente.
35
36
37
Dispune de un set de 131 instruciuni i 32 de registre de uz general. Cele 32 de registre sunt direct adresabile de Unitatea Logic Aritmetic (ALU), permind accesarea a dou registre independente ntr-o singur instruciune. Se obine astfel o eficien sporit n execuie (de pan la zece ori mai rapide dect microcontrorelerele conveionale CISC). Atmega32 este un microcontroler RISC pe 8 bii realizat de firma Atmel. Caracteristicile principale ale acestuia sunt: - 16KB de memorie Flash reinscriptibil pentru stocarea programelor - 1KB de memorie RAM
38
Memoria flash (On-chip) permite s fie reprogramat printr-o interfa serial SPI, de ctre un programator de memorie nonvolatil convenional, sau de ctre un program de boot On-chip ce ruleaz pe baza AVR. Programul de boot poate folosi orice interfa s ncarce programul aplicaie n memoria Flash de aplicaie. Combinand un CPU RISC de 8 bii cu un Flash In-system auto programabil pe un chip monolitic, ATmega 32 este un microcontroler puternic ce ofer o soluie extrem de flexibil i cu un cost redus n comparaie cu multe altele de pe pia. ATmega 32 AVR este susinut de o serie complet de instrumente de program i de dezvoltare a sistemului, care include: compilatoare C, macroasambloare, programe debug/simulare etc.
39
40
Fig.3.2 Structura microcontrolerului[4] Atmega32 conine 32 de registre de uz general i 64 de registre speciale pentru modulele I/O. Aceste registre sunt mapate la adrese din memoria RAM cuprinse ntre 0000h si 005Fh.
41
Fig.3.4 Capsula de model SMD[4] VCC Sursa de curent GND Masa RESET: Un nivel sczut la acest pin mai mare ca durat dect o valoare prestabilit, va genera o iniializare. XTAL 1: Intrare pentru amplificatorul inversor al Oscilatorului; XTAL 2: Ieire pentru amplificatorul inversor al Oscilatorului. AVCC: este pinul de alimentare pentru Port-ul A si Convertorului A/D. Trebuie conectat extern la Vcc, chiar dac ADC nu este folosit. Dac ADC este folosit, ar trebui conectat la Vcc printr-un filtru trece -jos. AREF: este pinul de referin analogic pentru Convertorul A/D 3.1.1. Porturile I/O. Atmega32 dispune de 32 de linii de I/O grupate n patru porturi de 8 bii. Porturile sunt denumite cu literele A, B, C si D. Fiecare pin al oricrui port se poate seta individual ca intrare sau iesire fr s afecteze ceilali pini. In plus, anumii pini se pot utiliza pentru funcii speciale ale microcontrolerului. In figur este reprezentat structura general a unui pin. Toi cei 32 de pini au fiecare cte o rezisten pull-up care poate fi activat sau dezactivat.
42
Fig.3.5 Structura general a unui pin[4] Operaiile cu porturile se fac prin intermediul unui set de 3 registre alocate fiecrui port: PORTx, PINx si DDRx; x poate fi A, B, C sau D. Acesti registri fac parte din categoria registri de intrare/iesire de aceea instruciunile care pot lucra direct cu ei sunt CBI, SBI, IN si OUT. Registrii DDRx stabilesc dac un pin este intrare sau iesire. Astfel, un bit cu valoarea 1 n registrul DDRx face ca pinul corespunztor s fie considerat iesire; altfel pinul va fi intrare. Toate porturile AVR au functia Citete Modific Scrie atunci cnd sunt folosite ca porturi I/O digitale generale. Asta nseamna ca directia unui pin port poate fi schimbata fara a schimba n mod intentionat directia oricarui alt pin cu comenzile SBI si CBI. Aceeasi regula se aplica cand se schimba valoarea drive-ului(daca este configurat ca output) sau a activarii/dezactivarii rezistorilor (dac sunt configurati ca input). Fiecare buffer de input are caracteristici similare de drive atat cu capacitatea sursei cat si cu sincronizarea. Driver-ul pinului este indeajuns de puternic ca sa activeze displayul LED direct. Toi pinii port au rezistori care pot fi selectai individual cu o surs suplimentar de tensiune cu rezisten invariabil. Toi regsitrii i referinele de bit din aceasta seciune sunt scrii n forma general. Un x mic reprezint litera care denumete portul i un nmic reprezint numrul bitului. Cand se utilizeaza registrul sau biii ntr-un program , trebuie sa fie folosita forma exacta. Adica, PORTB3 pentru bitul numarul 3 n Portul B, prezentat general ca PORTxn. Trei locatii de adrese de memorie I/O sunt alocate pentru fiecare port; - una pentru fiecare registru de date - PORTx, - Registrul directiei datelor DDRx, - port de intrare PINx. Locatia pinilor port intrare este read only, in timp ce Registru de Date si DDR sunt read si write. In plus, bitul PUD (dezactivare pull-up) din SFIOR dezactiveaza functia pull-up pentru toti pinii din toate porturile cand este setat. Majoritatea pinilor au functii alternative pentru caracteristicile periferice ale dispozitivului.
43
Port A (PA7 .. PA0) Port-ul A servete drept port de intrri analogice pentru Convertorul A/D. Port-ul A servete de asemenea i ca un port bidirecional I/O de 8 bii, n cazul n care Convertorul A/D nu este folosit. Pinii de port pot fi conectai opional la VCC prin rezistori interni, (selecati pentru fiecare bit). Buffer-ele de ieire ale Portului A au caracteristici de amplificare . Port B (PB7.. PB0) Portul B este un port I/O de 8 bii bidirecional cu rezistori interni (opionali). Buffer-ele de ieire ale Port-ului B au caracteristici de amplificare. Port-ul B ndeplinete de asemenea funcii speciale ale microcontrolerului ATmega 16. Port C (PC7PC0) Portul C este un port I/O de 8 bii bidirecional cu rezistori interni (opionali). Buffer-ele de ieire ale Port-ului C au caracteristici de amplificare. Dac interfaa JTAG (de depanare) este activat , rezistorii pinilor PC5(TDI), PC3(TMS) i PC2(TCK) vor fi activai, chiar dac are loc o resetare. Port-ul C indeplinete de asemenea funcii ale interfeei JTAG i alte funcii speciale ale ATmega 16. Port D (PD7PD0) Portul D este un port I/O de 8 bii bidirecional cu rezistori interni conectai opional la VCC (selecati pentru fiecare bit). Buffer-ele de output ale Port-ului D au caracteristici de amplificare. Port-ul D indeplineste de asemenea funcii speciale ale ATmega 16. Pe lng funcia de intrare ieire portul PD poate avea funcii alternative. Pentru interfaa serie UART pinii PD.0 i PD.1 au funcia de recepie (RX) i respectiv de transmisie (TX). Dac aceste funcii sunt activate atunci setrile generate de ele sunt prioritare fa de setrile din regitrii PORTD i respectiv DDRD. Chiar daca pinul PD.1 este setat ca intrare el se va comporta ca ieire atunci cnd este setat bitul TXEN din registrul UCR. Pe pinii PD.2 i PD.3 se pot aplica semnalele de ntrerupere extern INT0 i INT1, iar semnalele aplicate pe pinii PD.4, PD.5 i PD.6 servesc ca semnale externe de intrare pentru numrtoarele T0, T1 i intrare pentru captura ICP. 3.1.2. Organizarea memoriei. ATmega 16 AVR are dou spaii de memorie principal, spaiul pentru Memoria de Date i pentru Memoria de Program. n plus, ATmega16 are i o memorie nevolatil EEPROM pentru memorarea datelor. Toate cele trei tipuri de memorie sunt cu adresare liniar. Memoria Flash suport cel puin 10000 de cicluri de scriere/ tergere. Counter-ul programului de la ATmega 16 (PC) are o lungime de 13 bii, ceea ce permite adresarea unei memorii de 8*1024 locai de 16 bii. Memoria de date SDRAM
Coala Mod Coala Nr. document Semnt . Data
44
Figura de mai jos arat cum este organizat memoria SDRAM ATmega 32. Primele 96 de locaii se refer la Fiierul de Registre, i urmtoarele 1024 de locaii sunt dedicate datelor interne SDRAM. Registrele generale 26, 27, 28, 29, 30, 31 pot fi utilizate cu denumiri specifice: R26: X octet inferior R28: Y octet inferior R30: Z octet inferior R27: X octet superior R29: Y octet superior R31: Z octet superior
Fig.3.6 Organizarea memoriei SDRAM[4] Memoria de date EEPROM ATmega 32 conine 512 octei de memorie de date EEPROM. Este organizat ca spaiu separat de date, n care pot fi citii i scrii bii individuali. EEPROM-ul are o durat de via de cel puin 10,000 de cicluri scriere/tergere. Accesul citire/scriere EEPROM Regitrii de acces EEPROM sunt n spatiul I/O. Cnd se citete EEPROM, CPU este oprit timp de patru perioade de ceas nainte ca urmatoarea comand s fie executat. Cnd se scrie EEPROM, CPU este oprit timp de dou perioade de ceas nainte ca urmatoarea comand s fie executat. Registrele de adresa EEPROM EEARH si EEARL
45
Biii 9 15 sunt bii rezervai n Atmega 16 i vor lua ntotdeauna valoarea 0. Biii 0 - 8 sunt bii de adres (total 9 bii, deci se adreseaz 0.5 KB) Regitrii de adres de mai sus, EEARH si EEARL specific adresa EEPROM pentru cele 512 locaii ale spaiului EEPROM. Locaiile de memorie se adreseaz liniar de la 0 la 511. Pentru operaia de scriere a EEPROM, registrul EEDR conine date care sa fie scrise n EEPROM la adresa dat de registrul EEAR. Pentru operatia de citire a EEPROM, EEDR conine date citite de pe EEPROM la adresa dat de EEAR. Registrul de date EEPROM EEDR
Biti 7..4 - aceti bii sunt bii rezervai la ATmega 16 i au valoarea zero. Bit 3 - EERIE: Activarea EEPROM Ready Interrupt Scrierea n EERIE a unui 1 logic, activeaz funcia lui EEPROM Ready Interrupt (pregtit de ntrerupere). Scrierea n EERIE a unui 0 logic dezactiveaz intreruperea. Funcia EEPROM Ready Interrupt genereaz o ntrerupere constant cnd EEWE este ters. Bit 2 EEMWE: EEPROM Master Write Enable (activarea funciei principale de scriere EEPROM) Bitul EEMWE determin dac setarea lui EEWE la unu genereaz scrierea lui EEPROM. Cnd este setat EEMWE, setarea lui EEWE va produce scriere date n EEPROM la adresa selectat. Dac EEMWE este zero, atunci setarea lui EEWE nu va avea nici un efect. Bitul 1 EEWE: EEPROM Write Enable (activarea scrierii EEPROM)
46
Semnalul de activare a scrierii EEPROM EEWE este semnalul de scriere a EEPROM. Cnd adresa i datele sunt setate corect , bitul EEWE trebuie s fie scris la unu pentru ca valoarea s fie scris pe EEPROM. Bitul EEMWE trebuie s fie scris la unu nainte ca unu logic s fie scris pe EEWE , altfel nu va avea loc nici o scriere a EEPROM. Urmatoarea procedur trebuie urmat cnd se scrie EEPROM: 1) Ateptai pn cnd EEWE devine zero 2) Ateptai pn cnd SPMEN din SPMCR devine zero 3) Scriei noua adres EEPROM pe/la EEAR (opional) 4) Scriei noile date EEPROM pe/ la EEDR(opional) 5) Scriei unul logic pe/la bitul EEMWE n timp ce se scrie EEWE n EECR 6) n patru cicluri de ceas dupa ce s-a setat EEMWE , scriei unul logic pe /la EEWE. EEPROM nu poate fi programat n timp ce CPU scrie memoria flash. Software-ul trebuie sa verifice dac programarea memoriei flash este complet nainte de a iniia o nou scriere a EEPROM. Pasul doi este relevant doar n cazul n care programul software conine un Boot Loader (activator de boot) care permite CPU s programeze memoria flash. Dac memoria flash nu este niciodat updatat de catre CPU, atunci pasul doi poate fi omis. Atentie: o ntrerupere ntre paii 5 i 6 va anula ciclul de scriere, cci activarea Master a EEPROM va fi anulat. Dac o rutin de accesare a EEPROM ntrerupe o alt accesare EEPROM, atunci regitri EEAR si EEDR vor fi modificai, astfel cauznd anularea accesului ntrerupt al EEPROM. Bit 0 EERE: Activarea citirii EEPROM Cnd se seteaz adresa corect a registrului EEAR, bitul EERE trebuie s fie scris pe unu logic ca s declaneze citirea EEPROM. Accesul la citirea EEPROM se face cu o comand i datele cerute sunt disponibile imediat. Cnd EEPROM este citit, CPU este oprit timp de patru cicluri nainte ca urmatoarea comand s fie executat. 3.1.3. Numrtoarele. Microcontrolerul Atmega32 are implementat n structura interna dou numrtoare de 8 i unul 16 bii. Numrtorul 0 de 8 bii genereaz intrerupere la depire, iar numrtorul 1 de 16 bii genereaz intrerupere la depire, pentru comparare i captur. Ambele numrtoare au cite un circuit de prescalare (divizare i multiplexare) prin care se alege sursa semnalului de intrare in numrtor. Circuitul de prescalare realizeaz divizarea ceasului sistemului cu 8, 64, 256 i 1024. Pentru fiecare numrtor se pot alege urmtoarele surse ca semnal de intrare: intrarea conectata la zero, semnalul de ceas, cele patru ieiri ale blocului de prescalare sau un semnal extern (front cresctor sau descresctor).
47
48
La intrare avem un multiplexor analog-digital, care este utilizat la selectarea ntre opt intrri analogice diferite. Aceasta nseamn c este posibil conversia a opt semnale (bineneles c nu n acelai timp). La ieire, valoarea convertit este nscris n regitrii ADCL i ADCH, deoarece regitrii AVR au lime de 8 bii este nevoie de o pereche p-u a stoca o valoare pe 10 bii. n modelele ATmega16x, ATmega32x, ATmega64x, ATmega128x pinii ADC-ului pot fi unii n perechi pentru a obine n total pn la 13 canale cu intrare diferenial. Dou canale n aa caz au posibiliatatea de amplificare preventiv de 20 i 200 ori a semnalului de intrare. n cazul coeficienilor de amplificare 1x i 20x rezoluia efectiv a conversiei este de 8 bii, pe cnd la coeficientul 200x 7 bii. n calitate de tensiune de referin pentru ADC poate fi utilizat att tensiunea microcontrollerului ct i sursa intern sau extern de tensiune de referin. ADC-ul poate funciona n dou regime: regimul conversiei unice, cnd startul fiecrei conversii este iniializat de utilizator. regimul conversiei continue, cnd startul conversiei are loc continuu dup anumite intervale de timp. Tensiunea analogic la intrare trebuie s fie mai mare dect 0V, i mai mic dect tensiunea de referin a convertorului AREF. Tensiunea de referin este o tensiune extern care trebuie aplicat la pinul Aref a microcontrollerului. Valoarea convertit poate fi calculat folosind urmtorea formul: ADCH:L= ((Vin/Vref)*1023) Deoarece convertorul are o rezoluie de 10 bii, avem 1024 valori posibile, adic dac tensiunea de intrare Vin este egal cu 0, atunci valoarea convertit v-a fi zero, dac Vin este egal cu Vref atunci valoarea convertit v-a fi 1023, iar dac Vin este din Vref atunci valoarea ADCH:L este 512. Acest proces de conversie se mai numete cuantificare, bineneles ce produce o eroare, numit eroare de cuantificare. 2.8.1.Regimurile de operare a convertorului analog-digital (CAD).Convertorul Analog-Digital are dou regimuri fundamentale de funcionare: Conversie Unar (singular) i Conversie Continu. n regim de conversie unar, este necesar de a iniializa fiecare conversie, cnd este gata rezultatul este plasat n perechea de regitri ADCH:L, i nu se pornete o alt conversie. n regim continuu, este necesar de a porni doar o dat conversia i CAD v-a porni automat urmtoarea conversie n dat ce este finisat cea actual. Conversia analog-digital nu este infptuit instantaneu, este necesar de un anumit interval de timp, care depinde de frecvena de clock folosit de CAD i este proporional cu frecvena de clock i poate fi ntre 50-200 kHz. Dac este de ajuns o rezoluie de conversie mai mic de 10 bii, frecvena CAD poate fi mrit prin ajustarea unui prescaler prezent n CAD, care divide frecvena de clock la un anumit coeficient, setat prin intermediul biilor ADPS2:0 descrii mai jos.
49
Pentru a afla intervalul de timp necesar unei conversii se divide numrul de cicluri necesari unei conversii la frecvena DAC. Normal, o conversie este ndeplinit n 13 cicluri CAD, dar prima conversie (deodat dup pornirea CAD) se ndeplinete n 25 cicluri de clock, i mai este numit Conversie Extins. De exemplu dac folosim un CAD la frecvena de 200kHz, o conversie normal va fi ndeplinit n 65 s, iar una extins n 125 s.
4. ARGUMENTAREA ECONOMIC 4.1. Descrierea general a proiectului. Studii asupra realizrilor n domeniul procesrii vorbirii
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
Coala Mod Coala Nr. document Semnt . Data
50
a semnalului vocal, acum accentul se pune pe integrarea acestor metode performante n sisteme dedicate unor categorii diverse de utilizatori . 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. 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 . 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. Pentru a mari acurateea recunoaterii, sunt create baze de date numite profile de vorbitor, care stocheaz modelul de vorbire al fiecrui utilizator.
51
Puncte Forte 1) Crearea softului poate fi efectuata cu cheltuieli minime, am folosit un microcontroler si piese care pe piata sunt ieftine; 2) Softul poate fi folosit la infinit ; 3) Este un sistem nou n R.M., dat fiind faptul c asemenea lui nu exist n ar; 4) Acest sistem va ajuta la optimizarea concepiei produselor din punct de vedere funcional i al tehnologiei de fabricaie;
Riscuri Numrul potenialilor clieni poate fi Insolvabilitatea clientului din cauza crizei Fiabilitatea componentelor folosite.
ceea ce garanteaz cumprtorul i exclude formarea stocurilor. 2. 3. 4. Lips pe pia a dispozitivelor de acest gen. Dezvoltarea
n acest context, putem enuna msurile ce ar permite diminuarea i/sau lichidarea punctelor slabe prezentate anterior: 1) 2) Pentru reducerea influenei factorilor externi asupra exactitii recunoaterii vocii este Mrirea calitii i posibilitii de recunoatere a vocii ar putea fi fcut prin folosirea nevoie de asigurarea unor condiii mai optime, cum ar lipsa zgomotelor mari. componentelor mai avansate i mai performante, ceea ce ar duce la investiii suplimentare de unde ar rezulta i creterea costului de producie a dispozitivului.
52
Obiectivul principal este elaborarea unui dispozitiv de recunoastere a vocii din sunet. Acest dispozitiv va fi n stare s identifice i s recunoasc cuvintele prin intermediul softului elaborat pentru calculator, i s indeplineasc funciile cuvenite. Proiectul va fi realizat n 3 etape, realizarea dispozitivului i unitilor aferente lui, elaborarea softului pentru calculator care este menit s uureze lucrul cu dispozitivul i s dea posibilitatea utilizatorului n timp real s monitorizeze i s gestioneze calculatorul i n sfrit elaborarea interfeei ctre calculator pentru a putea fi folosit de ctre utilizator. 2) Evaluarea volumului de lucru
Pentru elaborarea acestui proiect trebuie studiat documentaia din domeniu. n primul rnd trebuie cercetai parametrii utili pentru dispozitiv i de decis ce parametri trebuie calculai. Apoi urmeaz s se determine metoda optim pentru studierea caracteristicilor. La adoua etap se realizeaz schema principial, alegndu-se componentele i instrumentele necesare pentru realizarea ei. Se elaboreaz un program de test cu ajutorul cruia se testeaz fiabilitatea tuturor prilor componente ale sistemului i se elaboreaz softul pentru calculator, care va permite identificarea vocii direct la calculator. ntr-un fel se simuleaz sistemul n timp real. Dup efectuarea testelor se fac ajustrile necesare, se modific programul, apoi se introduc modificrile n softul pentru calculator. Dup care urmeaz nc o testare , se analizeaz fiabilitatea componentelor, bug-urile n program, se ajusteaz softul cu hardware-ul i se elaboreaz varianta final a dispozitivului. 3) Timpul destinat realizrii lucrului
Pentru documentare, elaborarea schemei principiale i schemele bloc a programelor sunt necesare 20 de zile. Pentru a fabrica dispozitivul i de a lipi toate elementele electronice necesare pe el sunt de ajuns 3 zile, ns aici pot aprea unele probleme n cazul n care ar lipsi unele componente, deoarece livrarea comenzii dureaz mult sau nu se gsesc pe piaa autohton; n acest caz ele trebuie substituite cu altele. Astfel aceast aciune poate s dureze mai mult timp. Pentru elaborarea softului pentru calculator se rezerv cte 5 zile. Testarea i evidenierea neajunsurilor dureaz n jur de 14 zile chiar poate i mai mult, n acest timp se mai fac i corectri n schema principal a dispozitivului, spre sfrit pentru elaborarea schemei principale finale se aloc maxim 2 zile, pentru realizarea ei n practic sunt necesare alte 2 zile. La realizarea versiunilor finale a programelor pentru calculator se rezerv 10 zile. Testarea final a dispozitivului se presupune c va dura 7 zile. 4) Planul calendaristic este prezentat n tabelul 4.2 Tabelul 4.2 Planul calendaristic.
Coala Mod Coala Nr. document Semnt . Data
53
DURATA NR. 1 2 3 4 5 6 7 8 Testarea dispozitivului i evidenierea 9 neajunsurilor, dup care se perfecioneaz schema i codul programului. Se testeaz i se perfecioneaz schema i 10 programele pn cnd se va obine rezultatul dorit Se elaboreaz schema principal final a 11 dispozitivului Continuarea tabelului 4.2 Se elaboreaz versiunile finale ale programelor i softului pentru calculator, se ntocmesc i schemele bloc pentru ele Se realizeaz i se testeaz dispozitivul final. 13 14 Se ntocmete documentaia tehnic. TOTAL: 7 5 70 3 5 20 DENUMIREA ACIUNII Definirea obiectivelor principale Studierea surselor de informare necesare Elaborarea schemei principiale Elaborarea schemei bloc a programului i pentru calculator Simularea schemei principiale Fabricarea schemei Elaborarea programului microprocesorului i programarea lui Elaborarea programului pentru calculator ACIUNII (ZILE) 1 5 2 1 4 1 5 5
RESURSELE NECESARE Calculator, internet, literatur Calculator, rechizite de birou Calculator, rechizite de birou Calculator Componentele electronice Calculator, programator Calculator Calculator Calculator, rechizite de birou
Calculator
12
Calculator
54
Tabelul 4.4 Materiale i active pe termen lung 1. 2. 3. Calculator Imprimant Windows XP Professional 10000 2500 2100 1 1 1 10000 2500 2100 10000 2500 2100
55
4.
520 3050
1 1
520 3050
520 3050
5.
18 170
ntreg volumul de lucru este distribuit unei persoane: Inginerul electronist cu urmtoarele competene: a) pentru elaborarea proiectului dat trebuie s posede cunotine aprofundate n electronic, b) cunotine avansate n microprocesoare, c) cunotine n limbajele de programare assembler C#, C++, Java, d) Limba englez tehnic. Consultarea cu conductorul proiectului de diploma. Sarcina: Elaborarea unui dispozitiv de telecomand prin gesturi. Tabelul 4.5 Retribuirea muncii. Lucrtor(funcia) I 1. 2. 3. II Inginer electronist Programator Consultant TOTAL Frm Fondul de retribuire a muncii. FS suma contribuiilor n Fondul Social Cfs cota contribuiilor de asigurri sociale de stat obligatorii (23%) AM suma contribuiilor pentru Asigurare Medical Cam cota prim de asigurare obligatorie de asisten medical (3,5%) (4.1) (4.2) Cheltuielile privind retribuirea muncii Total = 8 500+1 955+297.5=10 752.5(lei) Volumul de lucru(zile) III 40 20 10 Preul individual pe unitate (zi) IV 150 150 100 Suma, lei V 6000 1500 1000 8500
56
3) Cheltuieli indirecte (altele) Calculul amortizrii echipamentelor: - Uzura calculatorului se calculeaz dup urmtoarea relaie: ; (4.3) Unde: Pinit preul iniial al calculatorului; T_ex termenul de funcionare util a activului; T_p durata proiectului.
(4.5) Pentru celelalte active se calculeaz amortizare, dup aceiai formul ns pe o perioad de 3 ani.
(4.6)
(4.7) 4) Consumuri directe Consumului energiei electrice pentru dispozitivele ce s-au folosit la elaborarea proiectului se calculeaz pentru fiecare dispozitiv n parte. De exemplu energia electric consumat de calculator va fi egal cu produsul dintre puterea consumat pe or i numrul total de ore la care s-a lucrat la acest calculator. Astfel se calculeaz consumul energiei pentru fiecare echipament ce consum energie electric. Dup ce s-a calculat consumul pentru fiecare dispozitiv se face suma lor, iar apoi se calculeaz cheltuielile pentru energia electric nmulind suma dat la tariful pentru energie electric, care la momentul de fa este 1.60 lei. Pentru calculul energiei electrice consumate utilizm formula:
unde:
57
58
Tabelul 4.7 Cheltuieli indirecte (pentru energie) Echipamentul Puterea consumat W/h 400 25 50 150 Total Timpul de lucru a echipamentului Ore 560 16 88 24 Energia consumat KW/h 224 0,4 4,4 3,6 232,4
(4.12)
Preul brut al dispozitivului elaborat va fi egal cu suma dintre preul de cost i profitul care l planificm s-l avem de la fiecare produs vndut. Pre brut = Pre de cost + Profit planificat; Profitul planificat reprezint 10% din suma total care s-a cheltuit la realizarea proiectului; de aici rezult c Profitul planificat = 29804* 0,1 = 2980,4 lei. Preul brut al dispozitivului elaborat va fi:
59
Pre brut = 29804+ 2980,4= 32784,4 lei; Preul de realizare a produsului va fi egal cu suma dintre preului brut i TVA-ul stabilit de lege, de obicei TVA-ul reprezint 20% din preul brut al produsului. Pre de realizare = Pre brut + TVA. Pre de realizare = 32784,4 + 32784,4 * 0,2 = 39341,28 lei.
60
2) Obiectivele managementului resurselor umane - principalul obiectiv al managementului resurselor umane este cel de furnizare a priceperii i experienei n acest domeniu astfel nct s se obin performane optime i sigure prin folosirea celor mai adecvate modele. Activitatea de personal dintr-o ntreprindere are dou categorii de obiective, i anume: obiective strategice, pe termen lung; obiective operaionale, de natur tactic i administrativ.
Obiectivele strategice au n vedere organizarea i planificarea resurselor umane ale ntreprinderii, n timp ce obiectivele operaionale au n vedere activitile viznd conducerea zilnic a grupurilor de munc. n ntreprinderile romneti managerii nu acord suficient interes obiectivelor strategice fie din lips de interes, fie din cauza limitelor individuale generate de inexistena unui minimum de cunotine n acest domeniu 3) Politica ntreprinderii n raport cu resursele umane are la baz un ansamblu de reguli de baz i atitudini fa de resursele umane pe baza crora se adopt deciziile precizate de la nivelul conducerii de vrf. O politic de personal corect formulat este elementul esenial n obinerea unor rezultate performante. Cerinele unei astfel de politici eficiente poate fi sintetizat astfel: integrarea managementului resurselor umane n managementul ntreprinderii; obinerea adeziunii ntregului personal; acionarea la toate nivelurile; asigurarea unui climat de angajare i de valorificare a potenialului fiecrui angajat; recunoaterea i motivarea personalului care obine rezultate performante; stimularea la fiecare angajat a dorinei de mbuntire continu a propriei antrenarea n procesul decizional a celor ce dovedesc competen profesional.
activiti;
4) Responsabilitile managementului resurselor umane - este necesar ca activitilor privind managementul resurselor umane s li se acorde o importan deosebit pentru obinerea de rezultate notabile. Responsabilitatea funcional pentru rezultatele activitii de management a resurselor umane se stabilete de ctre managerul general, n aceeai manier n care sunt definite i celelalte activiti importante ale ntreprinderii. Principalele responsabiliti ale departamentului de resurse umane ar fi: recrutarea i angajarea personalului pe baz de competen;
61
ntreprinderii;
elaborarea programelor de calificare i de perfecionare adecvate obiectivelor elaborarea planurilor de stimulare prin salarizare, destinate s ncurajeze realizri elaborarea sistemelor de stimulare nefinanciar, destinate s stimuleze interesul i integrarea rapid a noilor angajai; elaborarea programelor de carier pentru toi
eficiente, la costuri sczute; entuziasmul ntregului personal pentru propria activitate; managerii ntreprinderii. Pentru ndeplinirea acestor responsabiliti, managerii de vrf trebuie s stabileasc cu eful departamentului de resurse umane principiile i orientrile care vor sta la baza activitii, preciznd relaiile cu celelalte departamente. Concluzie Ca rezultat, pentru proiectarea dispozitivului de recunoastere a vocii din sunet s-au cheltuit 29804 (lei). Preul final de realizare a dispozitivului s-a stabilit c este 39341,28 (lei). Cum am menionat n primele pagini dispozitivul dat este abia doar la etapa de dezvoltare i nu este destinat pentru producie n serie. n general el poate fi elaborat i dat n vnzare doar acelor persoane care sunt n pas cu tehnologiile i acelora care dispun de finane destule pentru a-i procura un astfel de dispozitiv.
62
CONCLUZIE
La inceputul proiectului, ne-am pus obiectivul sa recunoastem cinci cuvinte, la sfarsitul proiectului am reusit sa recunoastem cinci cuvinte. Totusi cinci cuvinte ale noastre trebuie sa fie ortogonale unul fata de altul deoarece filtrele noastre nu ne dadeau o rezolutie indeajuns de inalta si inprecizia in calcularea amprentei prin utilizarea aritmeticii in virgula fixa face ca functia lookup() sa fie predispusa la erori. Ca rezultat, am luat diferite cuvinte care suna variat. Daca am mai face iarasi asta, in loc de formula distantei Euclideane pentru compararea amprentelor am utiliza corelatia a noua amprente. O corelatie este mai putin senzitiva la diferentele amplitudinii si este o cale mai buna de identificare a paternelor dintre doua obiecte. Daca am utiliza un procesor mai rapid, am putea modifica algoritmul nostru prin aducerea mai multor filtre, implimentand transformarea Fourier, sau utilizand aritmetica in virgula mobila pentru a imbunatati rezultatele.
63
BIBLIOGRAFIE 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 1. Burileanu C. & al., Text-to-Speech Synthesis for Romanian Language, n Recent Advances in Romanian LanguageTechnology, Editura Academiei Romne, Bucureti, 1997 2. Buza O., Toderean G., Syllable detection for Romanian text-to-speech synthesis, Sixth International Conference on Communications COMM06 Bucharest, June 2006, pp. 135-138. 3. 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 4. Feher, K., Comunicaii digitale avansate, Editura Tehnic Bucureti, 1993. 5. Furui, S., Digital Speech Processing. Syntesis and Recognition, Marcel Dekker Publications, 2001. 6. Hermansky, H., Perceptual linear predictive (pip) analysis for speech, The Journal of The Acoustical Society of America, vol. 87, pp.1738-1752, apr. 1990. 7. Hermansky, H., Morgan, N., RASTA-PLP Speech Analysis Technique, IEEE Trans. Speech and Audio, vol. 1, pp. 121-124, 1992. History of Speech Recognition and Transcription Software, http://www.dragon-medicaltranscription.com/historyspeechrecognition.html, 2005 8. 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 9. Juravski D., Speech and language processing : an introduction to natural language processing, computational linguistics, and speech recognition, 2000 10. Kaiser, E.C., Book Review: Extended Finite State Models of Langauge, in Computational Linguistics, vol. 26, num. 2, pp. 282-285, Jun, 2000 11. Alexander B. Kain, High Resolution Voice Transformation, OGI School of Science & Engineering at Oregon Health & Science University, 2001 12. 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 13. 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
64
14. Lupu E., Pop P., Prelucrarea numeric a semnalului vocal, vol.1, Ed. Risoprint, 2004. 15. Mahomed, M. and Gader, P., Generalized Hidden Markov Models. IEEE Transactions on Fuzzy Systems, 2:6793, 2000 16. Mobius B., Corpus-based speech synthesis: methods and challenges. In: Arbeitspapiere des Instituts fr Maschinelle Sprachverarbeitung (Univ. Stuttgart), AIMS 6 (4), pp. 87116, 2000 17. Elizabeth Montalbano, Microsoft Gets Exchange to Speak Up, PC World, August 02, 2005 18. 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 19. 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 20. 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 21. Mark Tatham , Katherine Morton, Developments in Speech Synthesis, ISBN: 0-470-85538-X, Wiley Publisher House, 2005 22. G. Toderean, Al. Caruntu, Metode de recunoatere a vorbirii, Editura Risoprint, Cluj-Napoca, 2005. 23. Trouvain, J. Tempo control in speech synthesis by prosodic phrasing. Proceedings of Konvens, Saarbrucken, Germany, 2002 24. 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 25. 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 26. Vlaicu A., Dobrot V., Tehnologii Multimedia Sisteme, reele i aplicaii, Editura UTCN, Cluj-Napoca, 1997 27. 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 28. 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
65
22