Obsah:

Arduino Soundlab: 3 kroky
Arduino Soundlab: 3 kroky

Video: Arduino Soundlab: 3 kroky

Video: Arduino Soundlab: 3 kroky
Video: Arduino soundlab 2024, November
Anonim
Image
Image
Konštrukcia
Konštrukcia

Je neuveriteľné, akú širokú škálu úžasných zvukov je možné vytvoriť pomocou techniky syntézy FM, dokonca aj pomocou obyčajného Arduina. V predchádzajúcom návode to bolo ilustrované syntetizátorom, ktorý mal 12 predprogramovaných zvukov, ale divák naznačil, že by bolo oveľa lepšie mať plnú kontrolu nad zvukovými parametrami pomocou potenciometrov, a tak je to!

V tomto zvukovom laboratóriu je možné tóny ovládať 8 parametrami: 4 pre obálku ADSR hlasitosti a 4 pre frekvenčnú moduláciu, ktorá určuje textúru.

Pridanie 8 potenciometrov nešlo na úkor počtu kľúčov: tri sady 8 kľúčov sa odčítavajú niekoľko mikrosekúnd jednu za druhou, celkom 24 kľúčov, čo zodpovedá dvom úplným oktávam. V skutočnosti sú dva piny Arduino nepoužité a bolo by možné rozšírenie na 40 kľúčov.

Pozrite sa na video, ako vytvárať divoké zvuky, a tu je stručný prehľad:

* A = útok: čas, počas ktorého tón dosiahne maximálnu hlasitosť (rozsah 8 ms-2 s)

* D = úpadok: čas, kým tón klesne na stabilnú úroveň hlasitosti (rozsah 8 ms-2 s)

* S = sustain: stabilná úroveň hlasitosti (rozsah 0-100%)

* R = uvoľnenie: čas na vymiznutie tónu (rozsah 8 ms-2 s)

* f_m: pomer hodnôt modulačnej frekvencie k nosnej frekvencii (rozsah 0,06-16) pod 1 má za následok podtóny, vyššie hodnoty v podtónoch

* beta1: amplitúda modulácie FM na začiatku noty (rozsah 0,06-16), malé hodnoty majú za následok menšie odchýlky v textúre zvuku. veľké hodnoty majú za následok šialené zvuky

* beta2: amplitúda modulácie FM na konci noty (rozsah 0,06-16) Dajte beta2 inú hodnotu ako beta1, aby sa textúra zvuku vyvíjala v čase.

* tau: rýchlosť, ktorou sa amplitúda FM vyvíja z beta1 na beta 2 (rozsah 8 ms-2 s) Malé hodnoty spôsobujú krátky tresk na začiatku noty, veľké hodnoty dlhý a pomalý vývoj.

Krok 1: Konštrukcia

Konštrukcia
Konštrukcia
Konštrukcia
Konštrukcia
Konštrukcia
Konštrukcia

Je zrejmé, že je to stále prototyp, dúfam, že jedného dňa ja alebo niekto iný postavím tento veľký a silný a krásny s veľkými klávesmi a skutočnými číselníkmi pre potenciometre v úžasnom kryte ….

Potrebné komponenty:

1 Arduino Nano (Nebude to fungovať s Uno, ktoré má iba 6 analógových vstupov)

24 tlačidiel

8 potenciometrov v rozsahu 1 kOhm - 100 kOhm

1 potenciometer 10 kOhm na ovládanie hlasitosti

1 kondenzátor - 10 mikrofaradových elektrolitických

1 3,5 mm konektor pre slúchadlá

1 čip zosilňovača zvuku LM386

2 elektrolitický kondenzátor 1 000 mikrofarad

1 keramický 1mikrofaradový kondenzátor

1 mikrospínač

1 8Ohm 2W reproduktor

1 prototypová doska 10 x 15 cm

Uistite sa, že rozumiete priloženým schémam. 24 tlačidiel sa zapojí do 3 skupín po 8, ktoré sa majú načítať na D0-D7 a aktivovať na D8, D10 a D11. Hrnce majú na koncových odbočkách +5 V a uzemnenie a centrálne odbočky sú napájané na analógové vstupy A0-A7. D9 má zvukový výstup a je napájaný striedavým prúdom s potenciometrom 10 kOhm na ovládanie hlasitosti. Zvuk je možné priamo počúvať pomocou slúchadiel alebo je zosilnený čipom zosilňovača zvuku LM386.

Všetko sa zmestí na dosku protoptypu 10 x 15 cm, ale tlačidlá sú príliš blízko na to, aby sa dalo dobre hrať, takže by bolo lepšie postaviť väčšiu klávesnicu.

Obvod je možné napájať pomocou USB pripojenia na Arduino Nano alebo externým 5V zdrojom. Box na batérie 2xAA, za ktorým nasleduje zosilnený prevodník, je dokonalým riešením napájania.

Krok 2: Softvér

Nahrajte priložený náčrt do Arduino Nano a všetko by malo fungovať.

Kód je priamy a ľahko sa upravuje, neexistuje strojový kód ani žiadne prerušenia, ale existuje niekoľko priamych interakcií s registrami, ktoré môžu interagovať s časovačom, zrýchliť načítanie tlačidiel a ovládať správanie ADC. na odčítanie potenciometra

Krok 3: Budúce zlepšenia

Nápady z komunity sú vždy vítané!

Najviac mi prekážajú tlačidlá: sú drobné a pri stlačení silno cvakajú. Bolo by naozaj pekné mať väčšie tlačidlá, ktoré by bolo pohodlnejšie stlačiť. Tlačidlá citlivé na silu alebo rýchlosť by tiež umožnili ovládať hlasitosť tónov. Môžu fungovať trojsmerné tlačidlá alebo tlačidlá citlivé na dotyk?

Ďalšou príjemnou vecou by bolo uložiť nastavenia zvuku do EEPROM. Uloženie krátkych melódií do EEPROM by tiež umožnilo vytvoriť oveľa zaujímavejšiu hudbu. Nakoniec by sa dali generovať zložitejšie zvuky, ak niekto vie, ako generovať perkusné zvuky výpočtovo efektívnym spôsobom, bolo by to úžasné …

Odporúča: