Tartalomjegyzék:
- 1. lépés: Alkatrészlista
- 2. lépés: Építés
- 3. lépés: Szoftver
- 4. lépés: Linkek
- 5. lépés: A Sparkfun tábla használata az Adafruit könyvtárakkal
Videó: Micro Midi szintetizátor: 5 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Ez az utasítás bemutatja a VLSI VS1053b Audio és Midi DSP chip használatát valós idejű Midi módban. Ebben a módban 64 hangú polifónikus GM (General Midi) Midi szintetizátorként működik. Az Arduino Uno önálló mikrovezérlő vezérli az OLED kijelzőt, a három gombot (Funkcióválasztás és Fel vagy Le, és továbbítja a Midi adatfolyamot az audio DSP -hez. A választott zenei tábla az Adafruit VS1053 kodek kioldótábla volt, de egy Sparkfun zenei megszakító tábla Az Adafruit VS1053b könyvtárakat használták a sokkal nagyobb SFEMP3 könyvtár helyett (ezt a Sparkfun ajánlotta, annak ellenére, hogy saját könyvtáruk is van), mert könnyebben megértettem az Adafruit kódot.
Az audio/midi DSP vezérléséhez használt kód nagy része egy Arduino Uno segítségével lett kifejlesztve, amely egy kenyérsütő táblán keresztül csatlakozik az audio/midi megszakító táblához. Miután megállapították, hogy a funkciók kielégítően működnek, az Uno programozója volt egy önálló ATmega 328 programozónak, amelyet ezután egy kis 30x20-as méretű Veroboard-ra helyeztek, a 6N139 opto-leválasztó IC-vel együtt, amely a Midi bemeneti aljzaton (5 tűs DIN) szükséges.. Csatlakoztatva volt egy kicsi (64x48) OLED pajzs, három gomb, egy Midi aktivitás LED és egy +5 voltos hordócsatlakozó a tápellátáshoz és az audio sztereó kimeneti csatlakozó. Az energiaigény nagyon szerény - körülbelül 20 mA 5 voltnál.
1. lépés: Alkatrészlista
ATmega328 Micro 28 tűs DIP + 28 tűs DIP foglalat aljzat erősítőhöz vagy fejhallgatóhoz való csatlakoztatáshoz Ellenállások: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm Kondenzátorok: 0,1uF 50v műanyag, 10uf 25v elektrolitikus, 2 x 27 pF kerámia Kicsi darab Veroboard (30 csík 20 oszlopból és 4 csík) 16 oszloptól), ABS műanyag ház körülbelül 85x55x25 mm, vezetékek és néhány csavar anyák és alátétek.
2. lépés: Építés
A ház fedelén található az OLED kijelző, a három gomb, amely a Veroboard másik kis darabjára van felszerelve, és a hordó tápcsatlakozója. A fő Vero áramköri lap két lyukkal rögzíti a zenetörő táblát az ATmega328 felett. A csatlakoztatás részleteit lásd a Fritzing szalagdiagram diagramján.
A beprogramozott ATmega328 -at (a kódot lásd a következő részben) behelyezzük a foglalatába, majd a 6N139 -et, és minden csatlakoztatva van.
A LED -et Midi aktivitásjelzőként használják, és a ház elülső oldalára szerelték fel. 470 ohmos ellenálláson keresztül csatlakozik az ATmega328 D2 kimenetéhez.
Az OLED kijelző az Adafruit kártya 3,3 voltos kimenetét használja az áramellátáshoz - kevesebb, mint 20 mA.
Próbálja felcserélni a két Midi Din csatlakozást, ha nem hall hangot a szintetizátor első használatakor.
3. lépés: Szoftver
Az ATmega328 -ra feltöltendő vázlat részleteit a MidA.ino tartalmazza. Hét funkció áll rendelkezésre:
P lehetőség: Programváltás - módosítsa a GM Midi hangszert 1 -ről 128 -ra (0 -ról 127 -re használtam), például zongora vagy szintetikus hangot. B lehetőség: Módosítsa a hangszer bankját a Melodic (Bank 0) és az Percussion (Bank 1) között. V opció: Állítsa be a hangerőt 1 -ről 10 -re. C lehetőség: Módosítsa azt a Midi csatornát, amelyre a Synth válaszol. A választható lehetőségek a 0. csatorna, az 1. csatorna, a 9. csatorna (ütőhangszerek), a 0. és a 9. csatorna, valamint az 1. és a 9. csatorna. R lehetőség: a Reverb effektus be- vagy kikapcsolása. S lehetőség: az aktuális paraméterek mentése az Eeprom memóriába (fel) vagy olvassa vissza (le) az Eeprom memóriából. Ennek oka az, hogy a beállítások egyébként nem kerülnek mentésre a kikapcsoláskor.
A nyolcadik opció még nincs megvalósítva - ez megkerüli az ATmega -t Midi szűrőként, és az optoizolátor kimenetét közvetlenül a DSP kártya Rx érintkezőjéhez csatlakoztatja.
Ne feledje, hogy a VS1053b valós idejű Midi módban indul, 1039 bájtos tömörített javítás betöltésével indítás közben - ez is növeli a Midi puffer méretét és kiszűri a rendszer kizárólagos Midi adatbájtjait. A javítás részletei a VLSI weboldalán találhatók.
Az Adafruit Graphics könyvtár kissé módosított változatát használták az OLED kijelző 64x48 képpontos felbontásának kielégítésére - kérjük, olvassa el a végén Mcauser úr hivatkozásait. A szükséges könyvtárak listája a vázlatkódban található.
Fontos, hogy amikor a vázlatot először hajtja végre az ATmega328 készüléken, függetlenül attól, hogy Uno vagy önálló készüléken van -e, a kód betölti az ATmega328 Eeprom paramétereket, amelyek esetleg nem érvényesek. Ebben az esetben vagy írhat be minden nullát az Eeprom -ba az X opció segítségével a le gombbal, vagy megjegyzést fűzhet ahhoz a sorhoz a void setup funkcióban, amely betölti az Eeprom értékeit az első indításkor, beállíthatja a műszereket stb. tetszés szerint, majd mentse el az előre beállított értékeket az S opció Fel gombbal.
A kódot és a könyvtárakat említett személyek és szervezetek elismerésben részesítik.
4. lépés: Linkek
VLSI:
Adafruit:
Github VS1053b:
Github grafika:
Oled:
Sparkfun:
5. lépés: A Sparkfun tábla használata az Adafruit könyvtárakkal
A képen látható táblázat elmagyarázza, hogyan csatlakoztatható az Adafruit vagy a Sparkfun Music Boards egy másik könyvtárhoz.
Ajánlott:
Vizes szintetizátor MakeyMakey és Scratch segítségével: 6 lépés (képekkel)
Vízszintetizátor a MakeyMakey és a Scratch segítségével: A MakeyMakey használata lenyűgöző dolog, ha különböző anyagokat kapcsolókká vagy gombokká alakít, és így mozdulatokat vagy hangokat vált ki a számítógépen. Az ember megtanulja, melyik anyag vezeti a gyengeáramú impulzust, és kitalálhat és kísérletezhet az
Félelmetes analóg szintetizátor/orgona csak diszkrét összetevők használatával: 10 lépés (képekkel)
Félelmetes analóg szintetizátor/orgona, csak diszkrét komponenseket használva: Az analóg szintetizátorok nagyon menőek, de meglehetősen nehéz elkészíteni őket. Ezért szerettem volna olyan egyszerűt készíteni, amennyire csak lehet, így működése könnyen érthető. Ahhoz, hogy működjön, szükség van néhány alapvető aláramkörre: Egy egyszerű oszcillátor rezisztens
Moduláris szintetizátor tápegység: 10 lépés (képekkel)
Moduláris szintetizátor tápegysége: Ha moduláris szintetizátort épít, akkor biztosan szüksége lesz egy tápegységre. A legtöbb moduláris szintetizátor kettős sínrendszert igényel (jellemzően 0V, +12V és -12V), és hasznos lehet egy 5V -os sín is, ha tervezi
Hanghajlító szintetizátor: 14 lépés (képekkel)
Hanghajlító szintetizátor: Korábban építettem néhány hanghajlító gépet (nézze meg az alábbi linkeket az „ibles” -hez). Ezúttal egy reverb és erősítő modult adtam hozzá, amelyek valóban teljesen új hangzási tartományt adnak a játékhoz. Ráadásul a hangrögzítő modul, amelyet a
Arduino MIDI Chiptune szintetizátor: 7 lépés (képekkel)
Arduino MIDI Chiptune szintetizátor: Élje át a korai számítógépes játék zenéjét egy hiteles 8 bites chiptune szintetizátorral, amelyet bármely modern DAW szoftver kényelméből vezérelhet a MIDI felett. Ez az egyszerű áramkör egy Arduino-t használ az AY-3- vezérléséhez 8910 programozható hangnem