Analiza asupra aplicatiei WaveIO trebuie sa înceapa de la studierea scopului aplicatiei. Schitat în câteva cuvinte acesta este: oferirea utilizatorului unui set complex de unelte parametrizabile de prelucrare a semnalului vocal precum si a unor unelte fiabile de recunoastere a cuvintelor respectiv recunoastere a vorbitorului.
În momentul punerii bazelor aplicatiei am pornit prin a studia parerea unor persoane avizate în domeniu, cu privire la ce ar fi util sa faca o aplicatie ce îsi pune în vedere prelucrari elementare ale semnalului vocal si eventual oferirea unor unelte mai complexe cum ar fi cele de recunoastere a cuvintelor sau chiar a vorbitorului. O parere comuna a fost necesitatea unei aplicatii în care utilizatorul sa-si defineasca o serie de operatii parametrizabile, ce sa le poata folosi ulterior în orice ordine în vederea obtinerii unor prelucrari complexe care prin faptul ca sunt parametrizabile se pot aplica asupra unei game mai largi de semnale. Pentru ca de fapt asta este una din problemele aplicatiilor existente pe piata si anume resrângerea domeniului de aplicabilitate prin faptul ca nu permit nici o interventie din partea utilizatorului, care trebuie sa le ia ca atare.
Ca structura, aplicatia WaveIO este formata din 4 parti componente:
1. Interfata audio si video între utilizator si semnalul audio. În ce priveste interfata audio oferita utilizatorului acesta poate, prin intermediu acestei aplicatii sa îsi înregistreze propriul semnal sonor si de asemenea sa redea un semnal încarcat. Pentru aceasta programul ofera utilizatorului posibilitatea de a stabili calitatea semnalui ce este înregistrat, respectiv conditiile în care acesta este redat. În mod evident utilizatorul poate alege si sa încarce unui fisier audio existent pe un suport, sigura restrictie fiind ca acesta sa fie codat într-o forma cunoscuta.
Pe langa interfata audio oferita utilizatorului programul ofera si o interfata vizuala cu semnalul audio înainte si respectiv dupa aplicarea setului de operatii definit. Astfel se pot vizualiza forma semnalului audio, sau alte caracteristici ale acestuuia cum ar fi numarul de treceri prin zero al semnalului, energia si spectrul de frecvente. Toate aceste caracteristici pot fi vizualizate comparativ între cele doua semnale: originalul si cel prelucrat. Orice combinatie între aceste caracteristici poate fi afisata. Mai multe despre aceasta componenta se pot gasi în capitolul de Impelmentare al lucrarii.
2. Uneltele elementare de prelucrare pe care care aplicatia WaveIO le pune la dispozitia utilizatorului reprezinta urmatoarea parte componenta. Aceste unelte sunt predefinite dar sunt parametrizabile, asfel incât utilizatorul le poate utiliza în forma cea mai potrivita pentru semnalul prelucrat. Operatiile care se pot efectua cu aceste unelte se pot împartii în urmatoarele categorii: ferestruire, eliminare DC, localizare vorbire, netezire semnal, filtrare, calculare coeficienti LPC, calculare coeficient cepstrali, determinarea spectrului de frecventa.
Punctul forte al prezentei aplicatii este posibilitatea înlatuirii operatiilor. Adica utilizatorul are posibilitatea formarii unui lant de operatii care apoi vor fi aplicate serial asupra semnalului. Aceasta este posibil datorita reprezentarii interne a semnalului audio, dupa cum se va vedea în partea de implementare.
Lista de operatii o data creata, poate fi salvata într-un fisier si apoi restaurata ulterior.
Rezultatele obtinute din aplicarea acestor operatii pot fi folosite ca elemente de input pentru urmatoarea componenta.
3. Unelete comparative. Folosind coeficientii LPC si cepstrali, respectiv spectrele de frecventa determinate anterior cu Uneltele elementare de prelucrare, folosind uneltele comparative se pot face comparatii între doua astfel de seturi de date.
Daca ne referim la compararea a doua seturi de coeficienti LPC respectiv cepstrali, diferenta între ele va semnifica asemanarea celor doua semnale vocale, informatie ce poate fi folosita la recunoasterea cuvintelor. Si în acest caz, utilizatorul poate sa-si aleaga între mai multi algoritmi. În mod asemnanator se pune problema si în cazul studierii asemanarii a doua spectre de frecvente, desi în acest caz finalitatea este recunoasterea vorbitorului. Transmiterea datelor de la uneltele elementare de prelucrare la uneltele comparative se face prin intermediul unor fisiere cu format special.
4. Unelte utilizator. Dupa cum se va vedea si din expunerea implementarii un avantaj al aplicatiei este usurinta cu care poate fi extinsa, usurându-se mult sarcina utilizatorului când acesta vrea sa-si adauge propriile unelte. Pentru a exemplifica acest aspect exista o unealta deja implementata drept demonstratie. Aceasta va este folosita pentru a izola vorbirea folosind un algoritm bazat pe spectrul de frecventa.
În fine ultima componenta, desi poate fi privita doar ca o anexa a sistemului este Debugger -ul – Depanatorul. Scopul sau este de a marca mersul programului, atât într-o fereastra cât si într-un fisier oferind utilizatorului posibilitatea de a patrunde mai adânc în executia programului, dar mai ales de a-l ajuta pe acesta în cazul în care doreste sa adauge noi unelte aplicatiei oferindu-i suportul de depanare.
Iata în continuare schitata diagrama cazurilor de utilizare ale aplicatiei. precum si o reprezentare intuitiva a elementelor componente.

Fig. 4.1 Diagrama cazurilor de utilizare a aplicatiei WaveIO
