Table of Contents

Procesor de efecte pentru chitara

Introducere

Scopul proiectului este realizarea unui procesor de efecte pentru chitara. Microcontroller-ul va lua sunetul de la intrare (chitara) dupa care acesta va fi modificat in functie de setare, ca apoi sa fie trimis la iesire (amplificator). Ideea proiectului a venit mai mult din necesitate, un procesor de efecte fiind destul de util in crearea de noi sunete si astfel se pot evita multe cheltuieli pentru procesoarele de pe piata.

Efecte implementate:

  1. Distortion
  2. Echo
  3. Delay/Flanger
  4. Tremolo

Descriere generala

Hardware Design

Piese:

Schema Electrica

Descriere Circuit

Input: Se conecteaza chitara in jack-ul de 6.3mm mama. Pentru a elimina zgomotul produs de masurarea semnalului am conectat GND jack-ului la GND placii de baza. Filtrul trece sus are rolul de a elimina frecventele ce merg sub 60Hz, datorita faptului ca aceasta este frecventa cele mai joase note produse de chitara. Filtrul e format din 2 rezistente paralele de 1 MOhm si un condensator de 4.7nF.

Output: Se pot conecta fie casti, fie amplificatorul la celalalt jack de 6.3mm. Semnalul este transmis de pe ADC-ul placii la DAC-ul extern, acesta fiind conectat la un filtru trece-jos format dintr-un condensator de 4.7nF si 2 rezistente in serie de 1 kOhm fiecare pentru a exclude frecventele ce trec de 16Hz. De asemenea am adaugat un potentiometru de 10 kOhm intre GND si OUT-ul placutei de DAC pentru a putea regla volumul output-ului. Comunicatia TWI dintre ADC si DAC se face Master-Slave unde DAC-ul ia rolul de Slave; bitrate este setat de SCL iar datele sunt transmise in SDA.

Software Design

Butoane - acestea vor selecta efectul dorit prin setarea unei variable <active_effect> intr-una din starile: 0 - clean 1 - distortion 2 - tremolo 3 - flanger 4 - echo Cand se determina ca unul din butoane este apasat, se va seta variabila corespunzator si se va aprinde led-ul de pe placa de baza pentru a semnala selectarea unui efect.

ADC este setat in mod diferential cu gain 10x, tensiune interna de referinta 2.56V. Frecventa de masurare este de 250 kHz datorita prescalerului setat la 64. ADC-ul este setat pe auto-trigger pentru a porni conversii imediat dupa cea precedenta.

Functiile folosite de DAC sunt in twi.h / twi.c. Functia out_DAC foloseste celelalte functii pentru a transmite datele catre DAC folosind protocolul din datasheet.

Procesarea audio: Am implementat functiile specifice fiecarui efect, denumite corespunzator efectului; functiile pentru flanger si au nevoie de un istoric al semnalelor anterioare pentru realizarea delay-ului necesar efectului - acesta este stocat intr-un buffer global. Distortion - modifica semnalul. Tremolo - combina semnalul generat de chitara cu un semnal oscilator ~~~~~~ foloseste timer 1 in CTC Flanger - efectiv adauga un delay la semnal, variaza in timp indexul semnalului anterior. - foloseste o extindere a timer 0 pentru un timer x16 Echo - combina semnalul curent cu un semnal anterior, generand efectul de ecou.

Rezultate Obtinute

Concluzii

Proiectul aproape functioneaza cum ar trebui.

Se poate extinde mai departe prin adaugarea unui LCD cu un meniu din care se alege efectul dorit, asta oferind posibilitatea adaugarii unui numar mult mai mare de efecte posibile, nefiind limitati de numarul de pini.

Jurnal

Download

Archive download

Bibliografie/Resurse