Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Fizica


Index » educatie » Fizica
» Recunoasterea sermnalului vocal


Recunoasterea sermnalului vocal


REcunoasterea Sermnalului Vocal

1.Introducere

Recunoasterea semnalului vocal reprezinta un domeniu de cercetare de mare interes, avand implicatii multiple in diverse activitati. Acest lucru este justificat si de faptul ca o mare parte din comunicarea intre persoane are loc prin intermediul limbajului vorbit. Recunoasterea vorbirii este strans corelata cu disponibilitatile robotilor, a sistemelor expert, a calculatoarelor de a "vorbi" si a "vedea".

In ceea ce priveste evolutia tehnologiei contemporane, se pune accentul din ce in ce mai mult pe functiunile pe care trebuie sa le indeplineasca produsele si sistemele tehnice. Structurile prin care se realizeaza functia unui produs sa aiba cel putin un suport material (ele pot avea si un suport informational), cu conditia ca aceste structuri sa fie: economice, compacte si fiabile.



Tendinta catre o tehnologie functionala implica economicitate si compactitudine, dar si realizarea de functiuni noi pe care vechile tehnologii nu le puteau implementa. De asemenea, mai presupune si inventarea de functiuni noi care s-ar putea dovedi de mare utilitate pentru om si societate in contextul in care dinamica sociala s-a diversificat foarte mult.

Una din functiunile cele mai incitante pentru relatia dintre om si sistemele tehnice este aceea a vorbirii. A transfera masinilor, sistemelor informatice si, in general, sistemelor tehnice functiunile recunoasterii si producerii vorbirii, iar in viitor a intelegerii vorbirii va insemna saltul peste o bariera socotita, nu cu multi ani in urma, aproape de neinvins in relatia si in comunicarea dintre om si mediul tehnic inconjurator. Aceasta bariera a inceput sa fie depasita in trepte, dar fiecare treapta concretizata are o mare importanta practica.

Functiunile vorbirii se realizeaza prin mijloacele electronice si informatice, iar ca utilizare ele apartin nu numai robotilor, ci oricaror sisteme care vor putea fi puse in relatie, prin vorbire, cu omul: calculatorul electronic, automobilul, banca de informatii si date, sistemele expert, locuinta etc.   

O directie importanta a tehnologiei contemporane, in particular a informaticii si a electronicii, o reprezinta si functiile vocale care pot insoti sistemele tehnologice.

Pana la aparitia tehnologiei vorbirii era valabila afirmatia lui Aristotel, si anume ca "vocea este un sunet emis de un insufletit ", dar tot el preciza imediat: "vocea este un sunet cu inteles". Astazi, vocea poate fi emisa de un neinsufletit, cum este un procesor electronic care poate s-o recunoasca sau chiar s-o inteleaga.

Recunoasterea, intelegerea si producerea vocii artificiale are sens numai pentru relatia om - masina, om - program informatic, si deci numai in raport cu vocea naturala.

Din nefericire pentru tehnologia vorbirii, semnalul vocii naturale este extrem de complex. Un om nu face numai o analiza acustica a semnalului vorbirii, ci si a contextului lingvistic in care el se desfasoara, mai mult, omul se bazeaza pe un model al lumii, adica pe o cunoastere asupra domeniului despre care se vorbeste.

Functiunile vocale naturale pot fi clasificate in trei tipuri:

auditive (intrare vocala procesare mentala)

de vorbire (procesare mentala iesire vocala)

complete (intrare vocala procesare mentala iesire vocala)

Aceasta clasificare serveste ca punct de plecare si pentru functiunile vocale artificiale. Trebuie subliniat faptul ca se pune accent pe functiile vocale in cadrul tehnologiei vorbirii, fara a lua in consideratie si alte tipuri de manifestari vocale, spre exemplu cele muzicale.

O prima categorie de functii vocale o constituie functiunea auditiva artificiala care poate fi clasificata dupa cum urmeaza:

recunoasterea globala a cuvintelor sau chiar a unor propozitii intregi. O asemenea functiune utilizeaza metode clasice de recunoastere a formelor, care presupun: esantionare, cuantificare, codificare si analiza in vederea extragerii trasaturilor necesare recunoasterii cuvintelor. Iesirea dintr-un asemenea modul se face la nivelul unui cuvant intreg sau, dupa caz, al unei propozitii sau sir de cuvinte inlantuite care este afisat sau utilizat mai departe pentru o comanda sau o alta prelucrare.

recunoasterea analitica situatie in care iesirea este la nivel de fonem sau alte segmente fonetice. In acest caz, se impune utilizarea unui sistem expert acustico-fonetic, ceea ce presupune o cunoastere adancita a foneticii semnalului vocal. Dar nici cu sistemul expert acustico-fonetic nu se poate asigura, in cazul vorbirii fluente, o despartire sigura in cuvinte si nici chiar toate fonemele nu vor fi interpretate corect.

In ambele cazuri, pentru a obtine un procent mare privind recunoasterea cuvintelor, este nevoie de un sistem expert lingvistic (sintactic si semantic) pentru domeniul de activitate la care se refera utilizarea modulului auditiv artificial.

Recunoasterea globala nu permite un vocabular care sa depaseasca cateva sute de cuvinte, iar rezultate bune s-au obtinut pentru mai putin de 200 de cuvinte Recunoasterea analitica fara sisteme expert permite recunoasterea cuvant cu cuvant, prin analiza la nivel de fonem, pentru vocabulare in jur de 1000 de cuvinte

2.ASPECTE GENERALE PRIVIND

SEMNALUL VOCAL

2.1. Comunicarea prin cuvinte vorbite

Vorbirea reprezinta o modalitate de comunicare a gandurilor printr-un sistem de sunete articulate, fiind modul de comunicare privilegiat intre oameni care sunt singurele vietuitoare capabile sa utilizeze un astfel de sistem structurat.

Mesajul vocal se caracterizeaza printr-o foarte mare redundanta, conditie necesara pentru a rezista la perturbatiile mediului ambiant. Redundanta este prezenta si la nivel semantic, ceea ce faciliteaza intelegerea mesajului de catre creier.

2.2. Mecanismul vorbirii

Vorbirea este rezultatul actiunii voluntare si coordonate a aparatului respirator si a celui masticator. Aparatul respirator furnizeaza energia necesara, astfel incat aerul este expirat prin trahee. In varful acesteia se afla laringele, unde presiunea aerului este modulata inainte de a fi aplicata conductului vocal care se intinde de la faringe pana la buze.

Fig. 2.1. Mecanismul producerii sunetelor vorbite

Laringele este un ansamblu de muschi si de cartilagii mobile care imprejmuiesc o cavitate aflata in partea superioara a traheei. Corzile vocale sunt, de fapt, doua buze simetrice plasate transversal fata de laringe. Aceste buze pot inchide complet laringele, iar cand se departeaza determina o deschidere triunghiulara numita glota.

Conductul vocal (figura 2.1) este un ansamblu de cavitati situate intre glota si buze: cavitatea faringiana, cavitatea bucala si, in paralel, cavitatea nazala. In concluzie, el poate fi considerat ca o succesiune de tuburi sau de cavitati acustice de sectiuni diverse. Sunetele sonore rezulta din excitarea conductului vocal prin impulsuri periodice de presiune generate de oscilatiile corzilor vocale.

Vocalele i, e, u, sunt emise fara interventia cavitatii nazale, care este izolata prin inchiderea valului palatin, in schimb vocalele nazale si consoanele nazale fac sa intervina cavitatea nazala.

Legatura intre glota si conductul vocal este slaba , astfel ca deformarea acestuia influenteaza putin unda de presiune degajata prin deschiderea glotei. Intensitatea sunetului emis este legata de presiunea aerului din amonte de laringe, inaltimea sa fiind data de frecventa de vibratie a corzilor vocale, numita frecventa fundamentala. Frecventa fundamentala poate varia intre urmatoarele valori:

80 - 200 Hz pentru voce masculina;

150 - 450 Hz pentru voce feminina;

200 - 600 Hz pentru voce de copil

2.3. Importanta sistemelor de recunoastere

automata a semnalului vocal

O data cu raspandirea spectaculoasa a calculatoarelor numerice a aparut, din ce in ce mai necesara, posibilitatea de a comunica cu masinile intr-un mod cat mai natural, adica mai apropiat de modul de comunicare al oamenilor. Asa se explica faptul ca, in ultimii ani, au avut loc cercetari de anvergura intreprinse in vederea recunoasterii automate a vocii omenesti de catre computer si, eventual, sinteza raspunsului acestuia din urma tot prin voce.

Problemele de recunoastere a semnalului vocal de catre calculator si mai ales de intelegere a vorbirii sunt insa mult mai complicate si colectivele de cercetatori din acest domeniu din intreaga lume nu si-au spus inca ultimul cuvant. O evolutie mai semnificativa a avut loc in ceea ce priveste recunoasterea cuvintelor izolate pentru vocabulare a caror marime variaza in functie de mai multi factori.

O dificultate esentiala in recunoastere este aceea legata de vorbirea continua, unde o problema o reprezinta si detectarea sfarsitului unui cuvant si inceputul urmatorului cuvant. Tiparele continand caracteristicile acustice ale cuvintelor trebuie sa aiba o mare flexibilitate, depinzand foarte mult de context. Sistemele pentru recunoasterea cuvintelor izolate nu au aceste probleme, deoarece cuvintele sunt separate prin pauze.

O a doua problema care afecteaza complexitatea sistemului de recunoastere este marimea vocabularului. Pe masura ce marimea sau "gradul de confundabilitate" a vocabularului creste, metodele simple de reprezentare si potrivire devin scumpe si uneori incomode. In acest context, se urmaresc din ce in ce mai mult tehnicile de reprezentare cat mai compacta a tiparelor acustice ale cuvintelor, pe de o parte, iar pe de alta parte tehnicile de cautare eficienta prin constrangeri impuse posibilelor cuvinte care pot fi considerate la un moment dat.

In ceea ce priveste vorbitorul, problemele care se ridica sunt dintre cele mai diverse. Se pot concepe sisteme de recunoastere dependente sau independente de vorbitor. Un vorbitor antrenat presupune o vorbire clara, dar naturala, cu obisnuinta de a repeta sau de a silabisi anumite portiuni din fraza.

O problema importanta la realizarea sistemelor de analiza si sinteza automata a semnalului vocal o constituie considerarea factorilor care afecteaza fezabilitatea si performantele acestor sisteme.

O ultima problema care trebuie analizata este aceea a avantajelor si dezavantajelor comunicarii cu sistemele tehnice prin voce. Se vor prezenta principalele avantaje in opozitie cu eventualele dezavantaje:

comunicarea prin voce reprezinta modalitatea de comunicare cea mai naturala, convenabila si spontana. Acesta pare a fi avantajul cel mai important. Omul este inclinat, in diverse situatii (mai ales in cele limita), sa "discute" cu un calculator prin voce si nu prin tiparirea unor mesaje sau prin orice alt mijloc. Un dezavantaj important legat de acest aspect si care se reflecta asupra complexitatii sistemului este acela ca un vorbitor poate pronunta fraze natural, dar care uneori nu pot fi recunoscute in totalitate;

nu necesita antrenarea utilizatorului, cu exceptia faptului cand vorbitorul va fi instruit in legatura cu cuvintele sau propozitiile pe care masina le recunoaste sau le intelege. Acest din urma aspect constituie una dintre dificultatile potentiale de utilizare a acestor masini. De obicei, un operator, odata ce poate sa se adreseze unui calculator prin cuvinte, este tentat sa o faca intr-un limbaj cat mai liber, uitand de constrangerile impuse. De notat ca instruirea vorbitorului poate avea si reversul sau. Vorbitorul este indemnat sa vorbeasca natural si nu clar sau cu grija: orice articulari sau intonatii neuzuale ale cuvintelor pot incurca masina mai mult decat sa o ajute;

viteza mare de comunicare, deoarece vorbirea este, in general, de aproximativ patru ori mai rapida decat introducerea manuala, "clasica" a unui text continuu. Dezavantajul care rezida aici este legat de aparitia pauzelor sau a unor cuvinte nefamiliare si fara semnificatie. Relativ la viteza mare de transmisie, sa amintim si capacitatea de comunicare prin mai multe moduri, ceea ce inseamna ca discutia prin voce cu masina permite simultan si alte modalitati de introducere a datelor;

comunicare simultana cu oameni si masini

posibilitatea identificarii vorbitorului, pe baza caracteristicilor vocii sale. Aici se poate aminti, ca dezavantaj, sensibilitatea la dialecte, diferente in pronuntare etc.;

nu necesita display-uri, butoane, panouri sau alte aparate complexe, singurul traductor necesar este microfonul. Posibilitatea de a elimina un lant lung de traductoare si piese mecanice in miscare mareste foarte mult si fiabilitatea totala a sistemului;

comunicarea este posibila la distanta si cu diverse orientari fata de masina cu care se comunica

permite utilizarea simultana a mainilor si a ochilor pentru alte sarcini. Operatorul se poate misca aproape liber in timpul conversatiei;

permite telefonului sa fie utilizat ca terminal de computer

6. ABORDARI UTILIZATE

LA RECUNOASTEREA SEMNALULUI VOCAL

Printre cele mai cunoscute abordari in ceea ce priveste recunoasterea semnalului vocal se regasesc urmatoarele:

utilizarea modelelor Markov ascunse;

modelarea autoregresiva a semnalului vocal, in ipoteza unei cvasistationaritati pe intervalele de timp de ordinul a 5-25 ms;

analiza spectrala a semnalului vocal.

In cele ce urmeaza, se vor descrie pe scurt metodele enuntate mai sus. O prezentare in detaliu a metodelor nu corespunde obiectivelor acestei lucrari si ar necesita un spatiu editorial mult mai mare.

6.1. Recunoasterea semnalului vocal utilizand

modele Markov ascunse

Modelul Markov a fost introdus in 1870 de Vladimir Vasilyevich Markovnikov si reprezinta, de fapt, procese stohastice. Utilizarea modelelor Marcov ascunse necesita un procesor de calcul performant, capabil sa execute minimum 10 MIPS (mega instructiuni pe secunda).

De regula, acest procedeu de recunoastere a semnalului vocal presupune: extragerea de trasaturi luand in considerare ipoteze privind cuvintele utilizate si ipoteze referitoare la topica frazelor. In acest mod se poate realiza o aplicatie dedicata unui anumit scop bine definit ca, de exemplu, formarea apelurilor telefonice sau comanda vocala a robinetelor.

Extragerea trasaturilor presupune reducerea semnalului vorbit la o serie de inregistrari a cate 20 ms fiecare, iar acestea sunt reduse la un numar finit de trasaturi numit set de trasaturi generalizat.

Ipotezele privind cuvintele si frazele au in vederea lungimea acestora si ordinea cuvintelor in fraze, toate acestea contribuind la acuratetea recunoasterii semnalului vocal.

Modelarea autoregresiva a semnalului vocal

Pentru estimarea parametrilor se considera semnalul x produs de un sistem autoregresiv. Excitatia sistemului este inaccesibila, deci estimarea parametrilor modelului se bazeaza exclusiv pe identificarea semnalului. In acest context se defineste predictia fiecarui esantion x(n), utilizand cele p esantioane precedente:

. (6.1)

Eroarea de predictie este:

. (6.2)

Estimarea coeficientilor a(i) se face pornind de la conditia de minimizare a erorilor de predictie

,unde .

Printre cele mai intalnite metode de analiza a semnalului vocal se regasesc urmatoarele:

estimarea perioadei fundamentalei utilizand: analiza de corelatie, metoda functiei diferenta de amplitudine medie, metoda algoritmului de urmarire cu filtru invers simplificat;

estimarea traiectoriei formantilor bazata pe analiza de predictie liniara;

algoritmi de rezolutie pentru determinarea coeficientilor a(i). Printre cele mai intalnite metode se regaseste metoda Levinson-Durbin si, respectiv, metoda bazata pe algoritmul lui Schur.

6.3. Recunoasterea semnalului vocal utilizand

analiza spectrala

Functia densitate spectrala de putere reprezinta distributia spectrala a unui semnal in raport cu frecventa. Puterea intr-un interval infinitezimal impartita la valoarea intervalului reprezinta densitatea spectrala, numita si densitate autospectrala.

Functia de densitate spectrala se poate determina prin trei metode diferite care sunt asimptotic echivalente. Acestea sunt:

metoda functiei de corelatie BLAKMAN-TUKEY;

metoda transformatei Fourier;

metoda filtrului trece - banda.

Densitatea spectrala de putere a unui proces aleator stationar reprezinta de fapt transformata Fourier a functiei de corelatie a secventei x(n)

.

O problema generala la toate metodele enumerate mai sus este modul de observare a datelor, efectul constand in deformarea datelor spectrale de putere. Datele care se analizeaza provin de la o observare de durata finita a unei realizari a semnalului x(t). Aceasta inseamna ca semnalul x(t) s-a inmultit cu o functie fereastra up/2(t), definita prin relatia (6.11).

(6.11)

Inmultirea in domeniul timp este echivalenta cu produsul de convolutie in domeniul frecventelor

, (6.12)

unde X(f) si Up/2(f) reprezinta transformata Fourier a lui x(t) si up/2(t), iar '*' reprezinta operatorul corespunzator produsului de convolutie. Transformata Fourier a ferestrei de timp dreptunghiulare din relatia (6.12) este:

(6.13)

Efectul trunchierii seriei x(i) il constituie netezirea spectrului acesteia prin fereastra spectrala , fereastra care, datorita amortizarii reduse a lobilor laterali, are ca efect, in urma produsului de convolutie, o suprapunere a benzilor de frecventa adiacente (scapari sau pierderi).

Pentru reducerea acestui fenomen se utilizeaza ferestre speciale in domeniul timp sau frecventa.

In cele se urmeaza, se prezinta cele mai utilizate ferestre de timp si transformata Fourier a acestora.

Fereastra Hamming

Aceasta fereastra este definita de relatia (6.17):

, (6.17)

iar transformata Fourier este:

. (6.18)

In cele ce urmeaza, se prezinta procedeul de calcul a densitatii spectrale de putere, utilizand transformata Fourier rapida pentru o secventa de lungime egala cu 1001 de elemente.

% Se genereaza valorile ferestrei Hann

w = hamming(256)';

% Se calculeaza densitatea spectrala de putere

Sxx =(|TFR(w.*xn( 1:256))|2 + |TFR (w.*xn(129:384))|2 +

|TFR (w.*xn(257:512))|2 + |TFR (w.*xn(385:640))|2 +

|TFR (w.*xn(513:768)))|2 + |TFR (w.*xn(641:896))|2 ).

Observatie: Prin |TFR (w.*xn(r:q))|2 se intelege transformata Fourier a semnalului xn(r:q) dupa aplicarea ferestrei de timp Hann.

Prin suprapunerea secventelor de date utilizate la calculul transformatei Fourier rapide, rezulta o deviere minima a densitatii spectrale de putere fata de valorile reale.

Prezentarea programului dedicat recunoasterii semnalului vocal

Realizarea unui program complet privind recunoasterea semnalului vocal presupune o structurare riguroasa a datelor si a programului scris in limbajul de asamblare al procesorului de semnal TMS320C32. In cele ce urmeaza, se prezinta un program utilizat la recunoasterea a zece cuvinte fiecare cuvant apartinand unei clase.

Lotul martor contine cate o forma pentru fiecare cuvant, iar fiecare forma reprezinta vectorul densitatii spectrale de putere avand cate 128 de elemente. Semnalul vocal se obtine de la un microfon si se achizitioneaza cu o frecventa de esantionare de 11.2 KHz, prin intermediul circuitului specializat CS4218 (codec audio stereo) aflat pe placa de dezvoltare.

Cuvant

Clasa

Cod

START

1

OOOX

STOP

2

OOXO

INAINTE

3

OOXX

INAPOI

OXOO

SUS

5

OXOX

JOS

6

OXXO

STANGA

7

OXXX

DREAPTA

8

XOOO

DESCHIDE

9

XOOX

INCHIDE

10

XOXO

In figura urmatoare sunt prezentate evolutia in timp si spectrul de frecventa pentru cuvantul "DESCHIDE".

=INAINTE=

=INAPOI=

Modul in care se formeaza lotul de date este ilustrat in figura urmatoare:

Modul in care se face recunoasterea semnalului vocal este ilustrat in figura urmatoare:

Dreaspta - Scurt

Dreapta

Dreaspta - Lung





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate