Obsah:

Mikro midi syntetizátor: 5 krokov (s obrázkami)
Mikro midi syntetizátor: 5 krokov (s obrázkami)

Video: Mikro midi syntetizátor: 5 krokov (s obrázkami)

Video: Mikro midi syntetizátor: 5 krokov (s obrázkami)
Video: 2 Unlimited - No Limit #flstudio #musicproducer #novation #producer #flkey37 #wearenovation 2024, November
Anonim
Mikro midi syntetizátor
Mikro midi syntetizátor
Mikro midi syntetizátor
Mikro midi syntetizátor
Mikro midi syntetizátor
Mikro midi syntetizátor

Tento návod ukazuje použitie čipu VLSI VS1053b Audio a Midi DSP v režime Midi v reálnom čase. V tomto režime funguje ako 64 -hlasový polyfónny syntetizátor GM (General Midi) Midi. Samostatné mikro Arduino Uno ovláda OLED displej, tri tlačidlá (výber funkcií a hore alebo dole, a prenáša dátový tok Midi do zvukového DSP. Vybraná hudobná doska bola oddeľovacia doska kodeku Adafruit VS1053, ale hudobná oddeľovacia doska Sparkfun bol tiež úspešne testovaný. Namiesto oveľa väčšej knižnice SFEMP3 boli použité knižnice Adafruit VS1053b (odporúča ich Sparkfun, aj keď majú aj svoju vlastnú knižnicu), pretože som zistil, že kód Adafruit je zrozumiteľnejší.

Väčšina kódu používaného na ovládanie zvukového/midi DSP bola vyvinutá pomocou Arduino Uno pripojeného k oddeľovacej doske zvuku/midi pomocou nepájivej dosky. Potom, čo sa ukázalo, že funkcie fungujú uspokojivo, bol Uno použitý ako programátor pre samostatný ATmega 328, ktorý bol potom nasadený na malý Veroboard s veľkosťou 30 x 20 spolu s integrovaným obvodom optoizolátora 6N139 požadovaným na vstupnej zásuvke Midi (5-kolíkový DIN). Pripojený bol tiež malý (64 x 48) OLED štít, tri tlačidlá, LED dióda Midi a +5 voltový sudový konektor pre napájanie a bol pridaný stereofónny výstupný konektor. Požiadavky na výkon sú veľmi skromné - asi 20 mA pri 5 voltoch.

Krok 1: Zoznam dielov

ATmega328 Micro 28 pin DIP + 28 pin DIP socket 6N138 or 6N139 optoisolator + 4 pin DIP socket Wemos 64x48 I2C OLED Display or similarAdafruit VS1053b Codec breakout board 3 miniature buttons, 5 pin DIN Midi socket PCB mount preferable Small LED any colorSoft zásuvka na pripojenie k zosilňovaču alebo slúchadlám Rezistory: 7 x 10 k, 2 x 470 ohm, 2 x 220 ohm Kondenzátory: 0,1uF 50v plast, 10uf 25v elektrolytický, 2 x 27 pF keramika Malé kúsky Veroboard (30 pásikov po 20 stĺpcoch a 4 prúžky o 16 stĺpcov), plastový kryt ABS asi 85 x 55 x 25 mm, vedenie a niekoľko skrutiek, matíc a podložiek.

Krok 2: Konštrukcia

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

Veko krytu obsahuje displej OLED, tri tlačidlá namontované na inom malom kúsku Veroboard a konektor hlavne. Hlavná doska plošných spojov Vero má dva otvory na pripevnenie dosky Breakout Music nad ATmega328. Podrobnosti o pripojení nájdete v schéme dosky Fritzing strip.

Naprogramovaný ATmega328 (kód nájdete v nasledujúcej časti) sa potom vloží do zásuvky, za ktorou nasleduje 6N139, a všetko sa zapojí.

LED dióda sa používa ako indikátor aktivity Midi a bola namontovaná na prednej strane krytu. Je pripojený k výstupu D2 ATmega328 cez odpor 470 ohmov.

OLED displej používa na napájanie 3,3 voltový výstup z dosky Adafruit - vyžaduje menej ako 20 mA.

Ak pri prvom použití syntetizátora nepočujete žiadny zvuk, skúste vymeniť dve pripojenia Midi Din.

Krok 3: Softvér

Podrobnosti o náčrte, ktorý by mal byť nahraný do ATmega328, sú uvedené v MidA.ino. K dispozícii je sedem funkcií:

Možnosť P: Zmeniť program - zmeňte nástroj GM Midi z 1 na 128 (používal som 0 až 127), napríklad zvuk klavíra alebo syntezátora. Možnosť B: Zmeňte banku nástrojov medzi melodickým (banka 0) a perkusie (banka 1). Možnosť V: Upravte hlasitosť od 1 do 10. Možnosť C: Zmeňte kanál Midi, na ktorý bude syntetizátor reagovať. Možnosti sú kanál 0, kanál 1, kanál 9 (perkusie), kanál 0 a 9 a kanál 1 a 9. Možnosť R: Zapnutie alebo vypnutie efektu Reverb. Možnosť S: Uloženie aktuálnych parametrov do pamäte Eeprom (hore) alebo ho prečítajte (nadol) späť z pamäte Eeprom. Dôvodom je, že inak sa nastavenia pri vypnutí neukladajú. Možnosť X: Odoslať správu o všetkých poznámkach (Midi Reset).

Ôsma možnosť ešte nie je implementovaná - to obíde ATmega ako filter Midi a pripojí výstup optoizolátora priamo na kolík Rx dosky DSP.

Všimnite si toho, že VS1053b sa spúšťa v režime Midi v reálnom čase načítaním 1039 bajtov komprimovanej opravy počas zavádzania - to tiež zvyšuje veľkosť medzipamäte Midi a filtruje systém exkluzívne dátových bajtov Midi. Podrobnosti o tejto záplate nájdete na webovej stránke VLSI.

Mierne upravená verzia knižnice Adafruit Graphics bola použitá na zaistenie rozlíšenia 64 x 48 pixelov OLED displeja - pozrite sa na odkazy uvedené na konci pre pána Mcausera. Zoznam požadovaných knižníc je uvedený v kóde náčrtu.

Dôležité je, že keď sa skica spustí prvýkrát na ATmega328, či už je na Uno alebo samostatnom, kód načíta predvoľby parametrov z ATmega328 Eeprom, ktoré nemusia byť platné. V takom prípade môžete buď zapísať všetky nuly na Eeprom pomocou možnosti X pomocou tlačidla nadol, alebo komentovať riadok vo funkcii neplatného nastavenia, ktorá načíta hodnoty z Eepromu pri prvom spustení, prispôsobiť svoje nástroje atď. páči sa mi to, a potom svoje predvoľby uložte pomocou tlačidla S hore.

Poďakovanie sa udeľuje všetkým uvedeným osobám a subjektom za ich kód a knižnice.

Krok 4: Odkazy

VLSI:

Adafruit:

Github VS1053b:

Grafika Github:

Oled:

Sparkfun:

Krok 5: Používanie dosky Sparkfun s knižnicami Adafruit

Použitie dosky Sparkfun s knižnicami Adafruit
Použitie dosky Sparkfun s knižnicami Adafruit

Tabuľka na obrázku vysvetľuje, ako prepojiť hudobnú dosku Adafruit alebo Sparkfun a použiť inú knižnicu.

Odporúča: