This shows you the differences between two versions of the page.
pm:prj2023:alexau:sound_efect_board [2023/05/07 16:41] philip.popescu [Introducere] |
pm:prj2023:alexau:sound_efect_board [2023/05/28 23:43] (current) philip.popescu [Concluzii] |
||
---|---|---|---|
Line 9: | Line 9: | ||
In cadrul acestui proiect voi dezvolta o placa de efecte audio cu capabilitati de inregistrare audio. Acest proiect a fost inspirat de modul de predare al domnului profesor de la seria CB si vocea dansului **JOASA** si **INCEATA**. De aceea am decis sa ii creez o interfata pentru a-i //imbunatatii// metoda de livrare a cursului, cat si volumul (<del>sau mai bine spus lipsa acestuia</del>). | In cadrul acestui proiect voi dezvolta o placa de efecte audio cu capabilitati de inregistrare audio. Acest proiect a fost inspirat de modul de predare al domnului profesor de la seria CB si vocea dansului **JOASA** si **INCEATA**. De aceea am decis sa ii creez o interfata pentru a-i //imbunatatii// metoda de livrare a cursului, cat si volumul (<del>sau mai bine spus lipsa acestuia</del>). | ||
==== Utilitate ==== | ==== Utilitate ==== | ||
- | Acest proiect este baza aplicatiilor audio, in special captura si alterarea sunetului real time. De asemenea implementarea poate fi folosita si ca placa de efecte pentru instrumente muzicale (eg: chitara). | + | Acest proiect este baza aplicatiilor audio, in special captura si alterarea sunetului in timp real. De asemenea implementarea poate fi folosita si ca placa de efecte pentru instrumente muzicale (eg: chitara). |
==== Aspect ==== | ==== Aspect ==== | ||
Proiectul va venii sub forma unei cutii cu o intrare de micropfon, o iesire de 3.5mm, display, potentiometru de reglare, butoane de selectie si switch de activare/dezactivare al potentiometrului. | Proiectul va venii sub forma unei cutii cu o intrare de micropfon, o iesire de 3.5mm, display, potentiometru de reglare, butoane de selectie si switch de activare/dezactivare al potentiometrului. | ||
===== Descriere Generala ===== | ===== Descriere Generala ===== | ||
+ | |||
+ | Proiectul va acoperii urmaoarele functionalitati: | ||
+ | - Inregistrare a maximum 10 secunde de sunet | ||
+ | - Redarea inregistrarii peste care se aplica efecte | ||
+ | - Schimbarea peach-ului real time | ||
+ | - Sound delay | ||
+ | - Efecte Voce Robotica | ||
+ | - Distors | ||
+ | |||
+ | Pentru realizarea acestor functionalitati este necesara incorporarea unui shield ce contine: ADC, DAC si SRAM (pentru inregistrare). | ||
+ | De asemenea este nevoie de un potentiometru pentru reglarea efectelor individuale si un switch pentru activarea/dezactivarea acestuia, un display cu butoane pentru ciclarea intre functionalitati si activarea/dezactivarea acestora. | ||
+ | |||
+ | ==== Schema Bloc ==== | ||
+ | |||
+ | |||
+ | {{ :pm:prj2023:alexau:diagrama_-_page_1.png?nolink&500 |}} | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 25: | Line 41: | ||
| Switch | 1 | | | Switch | 1 | | ||
| Buton | 3 | | | Buton | 3 | | ||
+ | | Rezistente 10k | 5 | | ||
Schema generala: | Schema generala: | ||
Line 36: | Line 53: | ||
{{ :pm:prj2023:alexau:audio-hacker-board_v1.png?nolink&400 |}} | {{ :pm:prj2023:alexau:audio-hacker-board_v1.png?nolink&400 |}} | ||
+ | ===== Hardware Demo ===== | ||
+ | |||
+ | Sper sa se auda in regula 😅. | ||
+ | |||
+ | [[https://www.youtube.com/watch?v=NVu1_7cfZ4Y|Link YouTube video]] | ||
+ | |||
+ | {{ :pm:prj2023:alexau:whatsapp_image_2023-05-28_at_23.29.08.jpeg?nolink&700 |}} | ||
+ | |||
+ | <html> | ||
+ | <iframe width="420" height="315" | ||
+ | src="https://www.youtube.com/watch?v=NVu1_7cfZ4Y"> | ||
+ | </iframe> | ||
+ | </html> | ||
+ | ===== Software ===== | ||
+ | [[https://github.com/philip-popescu/Proiect_PM_Sound_Efect_Board/tree/main|GitHub repo]] | ||
+ | |||
+ | Librarii necesare: | ||
+ | * [[https://github.com/nootropicdesign/audio-hacker|Audio Hacker Lib]] | ||
+ | * [[https://arduinogetstarted.com/tutorials/arduino-lcd-i2c|LiquidCrystal_I2C]] | ||
+ | |||
+ | === Detalii === | ||
+ | |||
+ | Esantionarea si prelucrarea datelor audio se face in cadr-ul unei intreruperi pe **//"Timer1"//** setata la o frecventa de 22khz. | ||
+ | |||
+ | {{ :pm:prj2023:alexau:timer_code.png?nolink&600 |}} | ||
+ | |||
+ | In Cadrul functiei **//"setup()"//** se activeaza inputurile , se activeaza clasele si se calculeaza timpul pentru generarea intreruperii. | ||
+ | |||
+ | {{ :pm:prj2023:alexau:setap_audio_thingy.png?nolink&600 |}} | ||
+ | |||
+ | Functia **//"loop()"//** este folosita pentru debug, citirea dispozitivelor de intrare (butoane/potentiometre) si afisarea de mesaje la LCD. | ||
+ | |||
+ | {{ :pm:prj2023:alexau:loop_audio_thingy.png?nolink&600 |}} | ||
+ | |||
+ | ===== Concluzii ===== | ||
+ | |||
+ | In urma implementarii rezulta ca arduino NU este o platforma buna pentru aplicatii audio, frecventa mica de procesor nu permite analiza furie real time a sunetului, prin urmare trebuie folosite "hack-uri" pentru a modela sunetul. | ||
+ | |||
+ | **O IMPARTIRE IA MAI MULT DECAT E PERIOADA DE ESANTIONARE (22KHZ)!** | ||
+ | |||
+ | Aplicarea mai multor efecte pe un esantion s-a dovedit prea costisitoare asa ca produsul rezultat poate aplica un singur efect la orice moment de timp. (Efectele pot fi aplicate atat real-time cat si pe datele tip playback). | ||
+ | |||
+ | ====== Bibliografie/Resurse ====== | ||
+ | - [[https://nootropicdesign.com/audio-hacker/|AudioHacker]] | ||
+ | - [[https://en.wikipedia.org/wiki/Granular_synthesis|Granular Synthesis]] | ||
+ | - [[https://projecthub.arduino.cc/electrosmash/arduino-uno-guitar-pedal-749787|Arduino Guitar Pedla]] | ||
+ | |||
+ | |||
+ | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||