This is an old revision of the document!
Detector de note muzicale
Introducere
Detectarea notelor muzicale este o sarcină dificilă, din cauza memoriei și puterii de procesare limitate, dar si a compentelor hardware necesare. Proiectul presupune implementarea unui detector de note muzicale precis si eficient. Scopul acestuia este de a prelucra orice sunet melodios de la un instrument pe care il va transforma intr-o nota, fiind afisata ulterior pe ecran. Prin apasarea unui buton poate fi redata aceasta nota prin buzzer. Acest proiect este util pentru muzicienii si artistii care vor sa se asigure ca melodiile lor respecta anumite tonalitati si note.
Descriere generală
Proiectul presupune captarea unui semnal audio care este transmis ca intrare către un senzor de sunet. Acest semnal este ulterior procesat și transformat într-o frecvență specifică. Frecvența înregistrată este apoi comparată cu frecvențele asociate notelor muzicale cunoscute, cum ar fi DO, RE, MI, FA, SOL, LA, SI. În cazul în care nota muzicală este recunoscută de către program, aceasta este afișată pe ecranul LCD. În caz contrar, se afișează mesajul “UNKNOWN NOTE”. Afisarea se face conform standardului universal ce utilizează denumirile C, D, E, F, G, A, B pentru notele muzicale. Acest proces permite utilizatorilor să identifice și să interpreteze corect notele muzicale. Totodata, prin apasarea unui buton se poate reda ultima nota inregistrata de microfon.
Schemă electrică
Hardware Design
Componente:
1 X Arduino Uno
1 x Senzor sunet
1 x I2C Display
1 x Buzzer
1 x Buton
1 X Breadboard
Fire de legătură
Software Design
Descrierea codului aplicaţiei (firmware):
mediu de dezvoltare: Arduino IDE
librării şi surse 3rd-party: Easy FFT, LiquidCrystal_I2C.h, Wire.h
realizarea schemei bloc: Draw.io
realizarea schemei electrice: Circuit.io
surse şi funcţii implementate:
functia printToLCD: sterge toate caracterele existente pe ecran si afiseaza noul text
Rezultate Obţinute
Eu am dezvoltat si testat codul lucrand cu o aplicatie virtuala care reda notele unui pian, de aceea, pentru acest instrument algoritmul este foarte precis (mai ales pentru sunete in intervalul 200-500 Hz), in timp ce alte pentru alte instrumente are o precizie mai mica.
Concluzii
Download
Jurnal
17.04.2024: Alegere tema proiect
28.04.2024: Cumparare componente
02.05.2024: Scriere documentatie
10.05.2024: Creare repo github
16.05.2024: Dezvoltare demo functional al codului in Arduino
TODO:
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.