Vocal Coach

Introducere

Vocal Coach este un dispozitiv embedded care ajuta utilizatorul sa exerseze intonatia vocala. Dispozitivul reda o nota muzicala de referinta folosind un buzzer pasiv, capteaza vocea utilizatorului printr-un microfon analogic cu amplificare, analizeaza semnalul audio folosind algoritmul Goertzel si ofera feedback in timp real: nota cantata este prea joasa (LOW), corecta (OK) sau prea inalta (HIGH).

Ideea a pornit de la nevoia unui instrument simplu si accesibil pentru incepatorii in muzica, care sa permita exersarea intonatiei fara a depinde de un smartphone sau conexiune la internet. Spre deosebire de aplicatiile generale de tuning, acest dispozitiv este construit special pentru antrenament vocal pe un set restrans de note (C4-C5), ceea ce il face fezabil pe hardware cu resurse limitate.

Repository GitHub: https://github.com/ciprianmunteanu1/vocal-coach

Descriere generala

Sistemul este organizat in urmatoarele module:

Module hardware:

  • Intrare audio — microfon MAX4466 capteaza vocea utilizatorului, iesirea analogica conectata la ADC-ul Arduino
  • Iesire audio — buzzer pasiv reda nota de referinta prin PWM
  • Feedback vizual — modul LED semafor (rosu/galben/verde)
  • Afisaj — OLED 128×64 I2C afiseaza starea sistemului, nota tinta si rezultatul
  • Intrare utilizator — 3 butoane (START/NEXT/BACK) si potentiometru pentru selectarea notei tinta

Module software:

  • Masina de stari — IDLE → PLAY_NOTE → LISTEN → ANALYZE → RESULT
  • Esantionare ADC — configurata prin registre pentru ~8kHz
  • Motor Goertzel — calculeaza energia pe 8 frecvente tinta
  • Calibrare zgomot — masurare zgomot ambiental la pornire
  • Logica feedback — compara nota detectata cu nota tinta

Interactiunea modulelor: Utilizatorul selecteaza nota tinta cu butoanele. La apasarea START, Arduino reda nota pe buzzer, apoi deschide o fereastra de ascultare in care ADC-ul esantioneaza microfonul intr-un buffer. Algoritmul Goertzel proceseaza bufferul si identifica frecventa dominanta. Rezultatul este comparat cu nota tinta si afisat pe OLED si prin modulul LED.

Hardware Design

Lista de componente:

Componenta Cantitate Rol
Arduino Nano ATmega328P + CH340 1 Microcontroller principal
Modul microfon MAX4466 ajustabil 1 Intrare audio
Afisaj OLED 128×64 I2C SSD1306 1 Afisare informatii
Buzzer pasiv 5V 1 Redare nota de referinta
Modul LED semafor 3.3-5V 1 Feedback vizual
Buton tactil 6x6x5mm 3 Intrare utilizator
Potentiometru 10K WH148 1 Selectare nota tinta
Rezistor 220 ohm 5 Limitare curent LED-uri
Condensator electrolitic 10uF 2 Filtrare alimentare
Breadboard 830 puncte 1 Platforma de prototipare
Fire Dupont tata-tata / mama-tata 40+40 Interconectare

Software Design

(De completat in etapele urmatoare)

Rezultate Obtinute

(De completat in etapele urmatoare)

Concluzii

(De completat in etapele urmatoare)

Download

(De adaugat in etapele urmatoare)

Jurnal

Data Activitate
Etapa 1 Documentatie initiala, lista componente, schema bloc

Bibliografie/Resurse

Resurse Hardware:

  • ATmega328P Datasheet — Microchip
  • MAX4466 Datasheet — Maxim Integrated
  • SSD1306 Datasheet — Solomon Systech

Resurse Software:

pm/prj2026/andrei.batasev/ciprian.munteanu04.txt · Last modified: 2026/05/04 21:01 by ciprian.munteanu04
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