This is an old revision of the document!


Detector de note muzicale

Lepădatu Darius - 332CB

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:
    1. 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:

  • Testare si finalizare cod
  • Adaugare concluzii in documentatie
  • Testare buzzer

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

pm/prj2024/ccontasel/darius.lepadatu.1716283959.txt.gz · Last modified: 2024/05/21 12:32 by darius.lepadatu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0