Obsah:

Arduino Soundlab: 3 kroky
Arduino Soundlab: 3 kroky

Video: Arduino Soundlab: 3 kroky

Video: Arduino Soundlab: 3 kroky
Video: Arduino soundlab 2024, Listopad
Anonim
Image
Image
Konstrukce
Konstrukce

Je neuvěřitelné, jakou širokou škálu úžasných zvuků lze generovat pomocí techniky syntézy FM, a to i při použití obyčejného Arduina. V předchozím pokynu to bylo ilustrováno syntezátorem, který měl 12 předprogramovaných zvuků, ale divák navrhl, že by bylo mnohem chladnější mít plnou kontrolu nad zvukovými parametry pomocí potenciometrů, a tak to je!

V této zvukové laboratoři lze tóny ovládat 8 parametry: 4 pro obálku ADSR hlasitosti a 4 pro frekvenční modulaci, která určuje texturu.

Přidání 8 potenciometrů nešlo za cenu počtu klíčů: tři sady 8 klíčů se odečítají několik mikrosekund jedna za druhou, celkem tedy 24 klíčů, což odpovídá dvěma plným oktávám. Ve skutečnosti jsou dva piny Arduino nepoužité a bylo by možné rozšíření na 40 klíčů.

Podívejte se na video, jak vytvářet divoké zvuky, zde je stručný přehled:

* A = útok: čas, kdy tón dosáhne maximální hlasitosti (rozsah 8 ms-2 s)

* D = útlum: čas, kdy tón klesne na stabilní úroveň hlasitosti (rozsah 8 ms-2 s)

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

* R = uvolnění: čas, kdy tón odezní (rozsah 8ms-2s)

* f_m: poměr modulační frekvence k nosné frekvenci (rozsah 0,06-16) hodnoty pod 1 vedou k podtónům, vyšší hodnoty v podtónech

* beta1: amplituda FM modulace na začátku noty (rozsah 0,06-16) malé hodnoty způsobují menší odchylky textury zvuku. velké hodnoty vedou k šíleným zvukům

* beta2: amplituda modulace FM na konci noty (rozsah 0,06-16) Dejte beta2 jinou hodnotu než beta1, aby se textura zvuku vyvíjela v čase.

* tau: rychlost, s jakou se amplituda FM vyvíjí z beta1 na beta 2 (rozsah 8 ms-2 s) Malé hodnoty dávají krátký třesk na začátku noty, velké hodnoty dlouhý a pomalý vývoj.

Krok 1: Stavba

Konstrukce
Konstrukce
Konstrukce
Konstrukce
Konstrukce
Konstrukce

Je zřejmé, že je to stále prototyp, doufám, že jednoho dne já nebo někdo jiný postavím tento velký a silný a krásný s velkými klíči a skutečnými číselníky pro potenciometry v úžasné skříni….

Potřebné komponenty:

1 Arduino Nano (Nebude to fungovat s Uno, které má pouze 6 analogových vstupů)

24 tlačítek

8 potenciometrů, v rozsahu 1 kOhm - 100 kOhm

1 potenciometr 10 kOhm pro ovládání hlasitosti

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

1 3,5mm konektor pro sluchátka

1 čip zesilovače zvuku LM386

2 1000microfarad elektrolitický kondenzátor

1 keramický 1 mikrofaradový kondenzátor

1 mikrospínač

1 8Ohm 2W reproduktor

1 prototypová deska 10x15 cm

Ujistěte se, že rozumíte přiloženým schématům. 24 tlačítek se připojí do 3 skupin po 8, které se načtou na D0-D7 a aktivují se na D8, D10 a D11. Hrnce mají na koncových odbočkách +5V a uzemnění a centrální odbočky jsou přiváděny k analogovým vstupům A0-A7. D9 má zvukový výstup a je spojen se střídavým proudem s potenciometrem 10 kOhm pro ovládání hlasitosti. Zvuk lze přímo poslouchat pomocí sluchátek nebo zesilovat pomocí čipu zesilovače zvuku LM386.

Vše se vejde na desku protoptypu 10x15 cm, ale tlačítka jsou příliš blízko, aby dobře hrála, takže by bylo lepší postavit větší klávesnici.

Obvod lze napájet přes USB připojení na Arduino Nano, nebo externím 5V napájecím zdrojem. Bateriový box 2xAA, po kterém následuje stupňovaný převodník, je dokonalým řešením napájení.

Krok 2: Software

Nahrajte přiložený náčrtek do Arduino Nano a vše by mělo fungovat.

Kód je přímočarý a snadno se upravuje, neexistuje strojový kód ani žádná přerušení, ale existuje několik přímých interakcí s registry, interakce s časovačem, zrychlení načítání tlačítek a ovládání chování ADC pro odečet potenciometru

Krok 3: Budoucí vylepšení

Nápady z komunity jsou vždy vítány!

Nejvíce mi vadí tlačítka: jsou malá a při stisknutí silně cvakají. Bylo by opravdu hezké mít větší tlačítka, která se pohodlněji mačkají. Tlačítka citlivá na sílu nebo rychlost by také umožňovala ovládat hlasitost not. Mohla by fungovat 3cestná tlačítka nebo tlačítka citlivá na dotek?

Další pěknou věcí by bylo uložení nastavení zvuku do EEPROM, Uložení krátkých melodií do EEPROM by také umožnilo dělat mnohem zajímavější hudbu. Konečně by mohly být generovány složitější zvuky, pokud někdo ví, jak generovat perkusní zvuky výpočetně efektivním způsobem, bylo by to úžasné …

Doporučuje: