Sunteți pe pagina 1din 12

2

Pipirigeanu Maria
Rădoi Cătălina Florentina

Proiect Mecatronică

342A3
Pipirigeanu Maria
Rădoi Cătalina Florentina

1
2
Pipirigeanu Maria
Rădoi Cătălina Florentina

Cuprins

1. Temă de curs..........................................................................................................3
2. Detalii de implementare........................................................................................3
2.1 Înregistrarea sunetului......................................................................................7
2.2 Încărcarea interfeței in Matlab.........................................................................8
3. Descrierea aplicației..............................................................................................8
4. Descriere simulare aplicație..................................................................................9
5. Impartirea sarcinilor intre membrii echipei...........................................................9
6.Concluzii…………………………………………………………………………………………………………………………………. 10
7. Bibliografie..........................................................................................................10

2
2
Pipirigeanu Maria
Rădoi Cătălina Florentina

1. Temă de curs
Să se elaboreze un program care să analizeze din punct de vedere spectral frecvențele
unei melodii (MEDII, JOASE, INALTE) dintr-un fișier cu extensia ‘.wav’. Semnalul analizat va
fi stereo și poate fi analizat de pe fiecare canal (stânga-dreapta).
Programul trebuie dezvoltat în mediul software Matlab.
Programul va conține obligatoriu butoane pentru selectarea melodiei de pe suport, de
analiza spectrală a sunetului și un buton de ieșire din interfață.

2. Detalii de implementare
Aplicația de extragere a frecvențelor unei melodii a fost dezvoltată integral folosind
mediul software Matlab Guide . Interfața sa conține 10 butoane în stânga și în dreapta:

Nr. Crt Tip buton Scurta descriere


1. Buton de încărcare fișier Încarcă fișierul .wav din windows
explorer
2. Buton de redare Reda fișierul .wav
3. Buton de pauză Are funcție de pauză asupra redării
4. Buton de repornire Pornește redarea de la momentul în
care s-a apăsat butonul de pauză
5. Buton de oprire completă Oprește complet redarea
6. Buton pentru mărirea vitezei Mărește viteza de redare a fișierului
.wav

3
2
Pipirigeanu Maria
Rădoi Cătălina Florentina

7. Buton pentru micșorarea vitezei Micșorează viteza de redare a


fișierului .wav
8. Fast Fourier Transformation Realizează transformarea pentru
fișierul .wav
9. Spectrograma Realizează spectograma aferentă
pentru fișierul.wav
10. Filtrarea Realizează filtrarea aferentă
fișierului .wav
11. Buton de exit Oprește orice redare și iese din
interfață

Graficele rezultate în momentul în care se încărca melodia arată împărțirea pe frecvențe


medii, joase și înalte a melodiei încărcate. Pentru determinarea frecvențelor melodiei s-a folosit
Transformata Fourier, regăsită în mediul Matlab sub denumirea de FFT ( Fast Fourier
Transform).
 High Frequency
Sunetul de înaltă frecvență este sunetul a cărei frecvența este cuprinsă între 8 și 20 kHz.
Sunetul de înaltă frecvență cu o frecvență de peste 16 kHz este greu de auzit, dar nu este complet
inaudibil. Sunetul de înaltă frecvență poate fi auzite dacă nivelul sunetului este suficient de
ridicat.
În urma apăsării butonului de High Frequency apare următorul grafic. Funcția matlab din
care rezultă acest lucru este următoarea:
plot(handles.axes3,f_Hz(2*ceil(lungime/2)/3:ceil(lungime/2)),
10*log10(x(2*ceil(lungime/2)/3:ceil(lungime/2))), 'k');

4
2
Pipirigeanu Maria
Rădoi Cătălina Florentina

 Medium Frequency
Sunetele de frecvență medie sunt sunete care se situează între 500 și 2000 Hz.Sunetele din
această gamă au adesea o calitate subțire sau sub formă de corn.
În urma apăsării butonului de Medium Frequency apare graficul de mai jos. Funcția matlab
din care rezultă acest lucru este următoarea:

plot(handles.axes3,f_Hz(ceil(lungime/2)/3:2*ceil(lungime/2)/3),
10*log10(x(ceil(lungime/2)/3:2*ceil(lungime/2)/3)), 'm');

 Low Frequency

Infrasunetul, uneori denumit sunet de frecvență joasă, descrie undele sonore cu o


frecvență sub limita inferioară a audibilității (în general, 20 Hz). Auzul devine treptat mai puțin
sensibil pe măsură ce frecvența scade, astfel încât oamenii să perceapă infrasunetele, presiunea
sonoră trebuie să fie suficient de mare.

În urma apăsării butonului de Low Frequency apare următorul grafic. Funcția matlab din care
rezultă acest lucru este următoarea:

plot(handles.axes3,f_Hz(1:ceil(lungime/2)/3), 10*log10(x(1:ceil(lungime/2)/3)), 'c');

5
2
Pipirigeanu Maria
Rădoi Cătălina Florentina

 Aplicarea FFT pe melodie

O transformare Fourier rapidă (FFT) este un algoritm care calculează transformarea


Fourier discreta (DFT) a unei secvențe, sau inversa acesteia (IDFT). Analiza Fourier convertește
un semnal din domeniul său inițial (adesea timpul sau spațiul) într-o reprezentare în domeniul
frecvenței și invers. DFT este obținut prin descompunerea unei secvențe de valori în componente
de frecvențe diferite. Această operație este utilă în multe domenii, dar calcularea ei direct din
definiție este adesea prea lentă pentru a fi practică. Un FFT calculează rapid astfel de
transformări prin factorizarea matricei DFT într-un produs de factori rari (în mare parte zero).

În urma apăsării butonului de High Frequency apare următorul grafic. Funcția matlab din
care rezultă acest lucru este următoarea:

6
2
Pipirigeanu Maria
Rădoi Cătălina Florentina

 Spectogramă

O spectrograma este o reprezentare vizuală a spectrului frecvențelor unui semnal, deoarece


variază în timp. Atunci când sunt aplicate la un semnal audio, spectrogramele sunt uneori numite
sonografii, amprente vocale sau scheme vocale.
În urma apăsării butonului de Spectogram apare următorul grafic. Funcția matlab din care
rezultă acest lucru este următoarea:

7
2
Pipirigeanu Maria
Rădoi Cătălina Florentina

Următoarele funcții au fost definite în implementarea sistemului:


1. pushbutton1_Callback , pushbutton6_Callback deschide fereastra ce permite
utilizatorului alegerea melodiei dorite in varianta redată
2. pushbutton1_CreateFcn deschide fereastra ce permite utilizatorului alegerea
melodiei dorite in varianta înregistrată
3. pushbutton2_Callback, pushbutton7_Callback pornește redarea melodiei
încarcată
4. pushbutton3_Callback, pushbutton8_Callback pune pauză la melodia redată
5. pushbutton4_Callback, pushbutton9_Callback redă melodia dinainte să se
pună pauză
6. pushbutton5_Callback, pushbutton10_Callback oprește redarea melodiei
redate la momentul stabilit de utilizator
7. pushbutton11_Callback, pushbutton21_Callback mărește viteza de redare a
melodiei
8. pushbutton12_Callback, pushbutton22_Callback micșorează viteza de redare
a melodiei

8
2
Pipirigeanu Maria
Rădoi Cătălina Florentina

9. pushbutton13_Callback, pushbutton23_Callback aplică FFT pe melodia


redată
10. pushbutton14_Callback, pushbutton24_Callback redă spectograma melodiei
redate
11. pushbutton28_Callback, pushbutton31_Callback aplică High Frequency pe
melodia redată
12. pushbutton29_Callback, pushbutton32_Callback aplică Medium
Frequency pe melodia redată
13 . pushbutton30_Callback , pushbutton33_Callback aplică Low Frequency
pe melodia redată

2.1 Înregistrarea sunetului

Există multe aplicații prin care un sunet sau o melodie poate fi înregistrată. Cea mai
simpla metodă vine chiar odată cu sistemul de operare, fiecare calculator având pe lângă
microfonul incorporate și un software numit Voice Recorder.

Aplicația se poate găsi foarte ușor căutând în pagina de start numele Voice Recorder.

2.2 Încărcarea interfeței în Matlab


Interfața în Matlab este construită imediat după lansarea în execuție a fișierului cu
extensia .m.(Mectronica.m) Acest fișier se poate lansa în execuție din cadrul programului
Matlab, apăsând butonul verde de PLAY (RUN). Pentru a modifica interfața se face click
dreapta pe fișierul .fig și se apasă pe butonul Open in GUIDE.

9
2
Pipirigeanu Maria
Rădoi Cătălina Florentina

3. Descrierea aplicatiei
Programul realizat în Matlab face analiza spectrală pe frecvențele unei melodii. Se
regăsesc 2 melodii cu extensia .wav : Tyga- Ayy Macarena și KILLA FONIC feat Carlas
Dreams-Bambolina. De asemenea se regăsesc și variantele lor înregistrate folosind Voice
Recorder: Recording- Macarena si Recording-Bambolina
Pentru fiecare melodie se găsesc 10 butoane descrise mai sus și un slider pentru controlul
volumului.
Load Sample 1/2– încarcă melodia WAV în interfața GUI, făcându-se constrângerea să
se poate încărca doar melodiile în format .wav.
Play Sample1/2 – pornește redarea melodiei .wav
Pause Sample1/2 – pune pauza în redarea melodiei
Resume Sample 1/2 – reia melodia din momentul în care s-a pus pauză
Stop Sample 1/2 – oprește redarea melodiei .wav
Play faster Sample 1/2 – mărește viteza de redare a melodiei
Play slower Sample 1/2 – micșorează viteza de redare a melodiei
FFT Sample 1/2 – aplică Fast Fourier Transformation pe melodia redată
Spectogram Sample 1/2 – afișează spectograma melodiei
Filter Sample 1/2 – filtreză melodia redată
Exit – apăsarea lui duce la închiderea aplicației
Butonul pentru volum- permite ajustarea volumului piesei redate

Cele două grafice de sus afișează frecvența selectată joasă, medie sau înaltă,prin apăsarea
butonului corespunzător , iar cele două grafice de jos afișează FFT sau spectograma sau filtrarea.

4. Descriere simulare aplicatie

Demonstrarea funcționalității aplicatiei:


1. Se deschide fisierul Mecatronica.m în mediul Matlab.
2. Se lansează în execuție aplicatia prin RUN
3. Interfata utilizator este afisată

10
2
Pipirigeanu Maria
Rădoi Cătălina Florentina

4. Prin apasarea butonului de Load Sample 1 sau 2, utilizatorul va putea încarca melodia
pe care dorește
5. Utilizatorul poate porni redarea melodiei apasând butonul Play Sample 1 / 2 , poate
opri redarea melodiei prin butonul Stop Sample 1/2 , poate pune pauza din redare apăsând
butonul Pause Sample 1/2 și poate reveni cu butonul de Resume Sample 1/2. De aseamnea
melodia se poate reda mai repede sau mai încep prin butoanele de Play faster Sample 1/2 sau
Play slower Sample 1/2 .
6. Frecventele de High, Medium sau Low se afișează în graficul de sus după ce se apasă
pe butonul dorit varianta dorită. Frecvența de high se va afișa cu negru, cea de Medium cu
magenta și cea de Low cu turcoaz.
7.În graficele de jos se afișează FFT sau spectograma sau filtrarea în functie de butonul
apăsat.

5. Impartirea sarcinilor intre membrii echipei


 Dezvoltare interfața grafică – Pipirigeanu Maria
 Realizare grafice de frecvențe , FFT, spectogramă și filtrare – Rădoi Cătalina
Florentina
 Realizare documentatie – Pipirigeanu Maria, Rădoi Cătalina Florentina

6.Concluzii
Această aplicație este realizată în scopul de a prelucra sunetele și analiza cu ajutorul
mediului de dezvoltare Matlab, aplicația propune diverse funcții pentru redarea și prelucrarea
unor înregistrări audio de tip wav. Pentru fiecare melodie încărcată există 10 butoane printre care
Load, Play,Pause, Resume, Stop, Play faster, Plays slower, realizarea spectogramei, a filtrului și
aplicarea FFT pe poză. De asemenea, există și 3 butoane pentru melodia încărcată : High
Frequncy, Medium Frequency, Low Frequency care realizează graficul frecvenței selectate în
diferite culori. Aplicația dispune și de un slider de Volum pentru modificarea intensității sonore a
melodiei.

7. Bibliografie
 http://www.mathworks.com
 https://www.mathworks.com/help/matlab/creating_guis/about-the-simple-guide-gui-
example.html
 http://www.stackoverflow.com
 „ MATLAB: A Practical Introduction to Pogramming and Problem Solving”- Stormy
Attaway Ph.D. Boston University, publicata in 2018, editura BH

11
2
Pipirigeanu Maria
Rădoi Cătălina Florentina

12

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