Table of Contents

Cristian LUPAȘCU (66989) - Musical Keyboard

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul consta in implementarea unei tastaturi muzicale capabila sa reproduca diferite instrumente. Tastatura va fi polifonica si va permite schimbarea octavei. Se vor putea selecta diferite instrumente. Numarul de butoane va acoperi o singura octava.

Scopul este de a crea un pian cat mai functional, de dimensiuni mici care poate fi carat oriunde.

Descriere generală

Hardware Design

  1. Placa de baza
  2. Push Buttons - x16
  3. DAC - TLV5616CP - x1
  4. Voltage Reference 2.048 V - LM4040C20ILP - x1
  5. Potentiometru 1K - x1
  6. Rezistente (100R x2, 1K x1)
  7. Condensator (100nF x1, 1mF x1)
  8. Audio Jack mama - x1

Software Design

Mediul de dezvoltare

Programmer's notepad

Librarii si surse 3rd-party

None

Algoritmi folositi

  1. Linear Interpolation
  2. Linear Downsampling 2x
  3. 1D Mipmapping
  4. Digital Low Pass Filter

Biblioteci

Surse

spi.c - Setarea spi-ului

pm.c - sursa main

Programul principal este foarte putin modularizat pentru a evita pierderea timpului de executie cu call-ul de functii.

Rezultate Obţinute

Sintetizatorul audio este foarte general si contine un modulator de amplitudine si un filtru trece jos.

Concluzii

Am vrut sa implementez ceva care sa streseze procesorul cat de mult posibil. Timpul de procesor este utilizat la maxim, si folosesc aproape 2K de SRAM.

In plus, performantele obtinute sunt mult mai bune decat ma asteptam de la un procesor de 8 biti la 16MHz.

Download

pm_project_cristian_lupascu.zip

Bibliografie/Resurse

Resurse Hardware

DAC datasheet: tlv5616.pdf

Voltage Reference datasheet: datasheet_vref.pdf

Resurse Software

Digital Low Pass Filter: Low-pass_filter

Downsampling with convolutions: index-en.html