Table of Contents

MIDI Controler

Introducere

Proiectul implementeaza un MIDI Controler care actioneaza la apasarea butoanelor touch. Este un instrument care poate inregistra sunetele redate si le poate reinterpreta. Instrumentul muzical va putea fi folosit pentru a crea melodii proprii si pentru a dezvolta skill-urile artistice ale utilizatorului. MIDI controlerul dat poate inregistra pana la 15 melodii personale pe SD card. O data cu pornirea inregistrarii, acesta creeaza un fisier si salveaza toate notele folosite pentru a reinterpreta melodia la dorinta utilizatorului.

Descriere generală

Utilizatorul interactioneaza cu butoanele puse la dispozitie pentru a reda diferite sunete. MIDI controler-ul pune la dispozitie inregistrarea de sunete pentru a crea o melodie proprie. O data ce controleru-ul porneste, se aprinde un led rosu, indicand starea neutra a sistemului. In aceasta stare utilizatorul poate face cunostinta cu toate notele puse la dispozitie si poate incerca sa redea diferite sunete. La apasarea butonului de inregistrare, ledul din rosu devine verde si controlerul incepe inregistrarea, iar la a 2 apasare, ledul devine din nou rosu si termina inregistrarea. O data cu finisarea inregistrarii se va crea un fisier cu melodia interpretata. La apasarea butonului 16 de pe sensorul capacitiv, utilizatorul va fi interogat de a alegea una din melodiile inregistrate pe care ar vrea sa o interpreteze. Dupa ce utilizatorul alege fisierul dorit, se aprinde culoarea albastra a ledului si incepe redarea melodiei salvate. Utilizatorul poate inregistra pana la 15 melodii a cate 50 note fiecare.

Hardware Design

Lista Piese Utilizate

Schema Hardware

Module Folosite

Link Video Rezultate Simulare: https://youtu.be/_GzoAbnV8mI?si=Hp-pCNU80KUU_brN

Software Design

Codul este scris in aplicatia Arduino si foloseste bibliotecile SPI, SD, TMRpcm si o biblioteca importata manual pentru Sensorul Capacitiv - TTP229. Din motiv ca functiile existente nu-mi ajungeau, am trebui sa fac cateva mici modificari asupra codului din biblioteca TTP229. Pentru a nu incarca memoria, folosesc variabilele pentru pini ca fiind uint8_t de marime 1 byte. Deoarece placuta arduino nu este in stare sa faca o scriere intr-un modul periferic si o redare de sunet in paralel, cat timp inregistrarea este pornita, informatia se salveaza in 2 array-uri, unul pentru note si altul pentru delay. La final, cand este actionat butonul, array-urile sunt transcrise in fisierele de pe SD card. Fiecarui buton de pe sensorul capacitiv ii este atribuit un sunet anume, iar pentru butonul 16, o functie de redare a unei melodii inregistrate(la alegerea utilizatorului).

Rezultate Obţinute

mod-simplu.jpg

mod-inregistrare.jpg

https://www.youtube.com/watch?v=_GzoAbnV8mI&ab_channel=VladBu%C8%9Bcan

Download

midi-controller-full.zip

Bibliografie/Resurse

Export to PDF