Sunteți pe pagina 1din 2

Proiect la Software pentru Electronică Aplicată

Tema 3. Convertirea unui număr de până la 4 cifre introdus de la tastatură în semnalul de vorbire
corespunzător

Programul trebuie să permită introducerea unui număr de maximum 4 cifre de la tastatură, iar apoi, ca
răspuns, în dispozitivul conectat la ieşirea corespunzătoare a plăcii de sunet a calculatorului, trebuie să se
audă semnalul de vorbire (vocal) corespunzător numărului introdus.

Pentru a fi posibil acest lucru, în prealabil trebuie înregistrate sub formă de vectori şi salvate într-un
fişier sunetele necesare pentru compunerea semnalului de vorbire cerut. Acestea pot fi:
o (unu), două (doi), trei,..., nouă;
zece, unsprezece,..., nouăsprezece; sau doar spre și un (?)
mie, mii;
sută, sute;
zeci;
şi.
Fişierul cu sunete trebuie încărcat la începutul programului. Apoi, programul trebuie să determine cifrele
numărului introdus de la tastatură, iar în continuare, în funcţie de acestea, trebuie să extragă vectorii
corespunzători cifrelor, care vor fi concatenaţi într-un vector mai mare împreună cu sunetele de legătură
(mii, sute, și, etc.). Acesta din urmă va constitui semnalul de vorbire cerut.

Exemple:
4527: patru mii cinci sute două zeci şi şapte. Trebuie extrase şi concatenate 8 secvenţe (vectori).
1513: o mie cinci sute treisprezece. Trebuie extrase şi concatenate 5 secvenţe (vectori).

Pentru ca programul realizat să aibă o formă cât mai compactă, se recomandă ca unele sunete (de ex. unu,
doi, trei,..., sau zece, unsprezece, doisprezece,..., să fie grupate în matrici, în care fiecare linie să constituie
un sunet. De exemplu, dacă pentru un număr, cifra miilor este 6, se va selecta a 6-a linie a matricii care
conţine cifrele de la 1 la 9. Dacă cifra zecilor este 1, se va selecta o linie din matricea care conţine
numerele de la 10 la 19. Această linie trebuie însă să depindă atât de cifra zecilor dar şi de cea a unităţilor
(adică de ultimele două cifre), de exemplu: pentru 10, prima linie a matricii, pentru 11, a doua linie, şi aşa
mai departe.
Sunetele trebuie să aibe însă aceeaşi lungime ca să poată fi puse ca linii într-o matrice. Se poate adopta
durata de 1 sec. (8000 de eşantioane la o frecvenţă de eşantionare de 8 kHz) sau chiar mai mică (0,5 s).

Algoritmul implementat poate fi testat într-o primă fază şi fără a avea sunetele înregistrate, dacă în
matricele respective se introduc variabile de tip şir de caractere, care să corespundă sunetelor respective.

Exemple:
A(1,:)='Unu '
A(2,:)='Doi '
A(3,:)='Trei'
şi aşa mai departe. Şi în acest caz, liniile trebuie să aibe aceeaşi lungime, adică trebuie completate cu
spaţii.
De exemplu, pentru numărul 347 trebuie să rezulte variabila şir de caractere 'TreiSutePatruZeciSiSapte'.
Pentru conversia din număr în şir de caractere sau invers, se pot folosi funcţiile num2str ( ) sau,
respectiv, str2num ( ).

Alte cerinţe: programul trebuie să determine timpul de rulare, din momentul introducerii numărului de la
tastatură şi până în momentul generării semnalului vocal corespunzător (acest semnal trebuie să
corespundă cu cel al realizatorului proiectului), pentru numere de diferite lungimi; de asemenea
trebuie afişată grafic variaţia în timp a semnalului generat; trebuie evaluată (determinată) mărimea
fişierului cu semnalele achiziţionate în prealabil (aceasta trebuie să fie cât mai mic posibilă), precum și
mărimea fișierului cu programul de generare al programului. Trebuie găsită o metodă prin care se
elimină pauzele dintre sunetele care compun semnalul de vorbire obţinut.

Materialul tipărit, disponibil la ultima şedinţă de proiect, va trebui să conţină o scurtă descriere a
programului din care să rezulte soluţiile adoptate (de exemplu care au fost sunetele înregistrate, cum au
fost ele stocate: matrice și/sau vectori), câteva grafice cu semnalele obţinute pentru diferite numere
introduse de la tastatură, cu prezentarea (marcarea) sunetelor componente (adică de unde până unde este
„patru” apoi „mii”, și așa mai departe), alte observaţii rezultate în urma realizării proiectului (a se vedea
paragraful „Alte cerinţe” de mai sus). Într-o anexă trebuie prezentat atât programul de generare a
semnalului cât şi cel pentru achiziţia sunetelor necesare.

De asemenea trebuie prezentată o organigramă (flowchart) detaliată a programelor realizate, din


care să rezulte principalele ramificații și teste ale acestora.

-un paragraf cu Concluzii rezultate în urma realizării proiectului (care a fost câștigul obținut prin
efectuarea proiectului, care au fost problemele rezolvate dar și ce a rămas nerezolvat).

Prezenţa la şedinţele de proiect este necesară. Până la şedinţa a 7-a (ultima) de proiect fiecare student va
fi notat de 1-2 ori în funcţie de rezultatele preliminare obţinute. Obţinerea de rezultate necorespunzătoare la aceste
notări sau inexistența notelor implică nepromovarea proiectului sau amânarea susţinerii lui. Susținerea se face în
ultimele două ședințe de proiect și implică întrebări orale şi rularea demonstrativă a programelor.
Studenți care susțin în penultima ședință vor avea bonificații.

S-ar putea să vă placă și