Turinys:
- 1 žingsnis: reikalingi dalykai
- 2 žingsnis: alternatyvios dalys
- 3 žingsnis: grandinės plokštės išdėstymas
- 4 žingsnis: prijungimas
- 5 veiksmas: programavimas naudojant „Arduino IDE“
- 6 žingsnis: sintezės bandymas ir naudojimas
- 7 žingsnis: išnašos
Video: „Arduino MIDI Chiptune“sintezatorius: 7 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Pajuskite ankstyvųjų kompiuterinių žaidimų muzikos linksmybes naudodami autentišką 8 bitų sinchronizatorių, kurį galite valdyti naudodami MIDI naudodami bet kokią šiuolaikinę DAW programinę įrangą.
Ši paprasta grandinė naudoja „Arduino“, kad valdytų programuojamą garso generatoriaus lustą AY-3-8910 (arba vieną iš daugelio jo klonų), kad atkurtų tą devintojo dešimtmečio garsą. Skirtingai nuo daugelio dizainų, kuriems muzikai redaguoti reikalinga speciali programinė įranga, tai atrodo kaip standartinis USB MIDI įrenginys. Sintezatorius turi sumanų algoritmą, kuris stengiasi išlaikyti muzikai svarbiausias natas; Daugeliu atvejų jūs galite mesti neredaguotus MIDI failus tiesiai į jį ir melodija pasirodys iškart. Bendra kaina turėtų būti apie 20 svarų.
1 žingsnis: reikalingi dalykai
Visas dalių sąrašas, kaip matote nuotraukose, yra toks:
- „Sparkfun Pro Micro“klonas (5V, 16MHz parinktis). Aš naudoju šį „Amazon“.
- „Yamaha YM2149F“PSG lustas. Aš gavau savo iš „eBay“.
- 2 x 100nF keraminiai kondensatoriai
- 1 iš 75R, 1K ir 100K rezistorių (tinka 1/4 vatų galia).
- 4.7nF keraminių diskų kondensatorius
- 1uF elektrolitinis kondensatorius (įtampa> 5V).
- 40 kontaktų 0,6 "DIP IC lizdas
- 2 x 12 krypčių 0,1 colio antraštės (ši iš MUP)
- Prototipų lenta, maždaug 3 x 2 colių. Aš nusipirkau jų didmeninę pakuotę, vėl „Amazon“.
- PCB tvirtinimo lizdas
- Miniatiūrinė vientiso laido viela (tokia).
Jums taip pat reikės lituoklio, lituoklio, vielos pjaustytuvų, replių ir vielos nuėmiklio.
2 žingsnis: alternatyvios dalys
Alternatyvūs programuojami garso generatoriaus lustai
Mano naudojamas YM2149 yra originalių „General Instruments AY-3-8910 IC“klonas. (Pirmajam prototipui buvo naudojamas „AY-3-8910“, kurį pirkau iš „eBay“, bet paaiškėjo, kad balto triukšmo generatorius neveikia. Liūdnas veidas). Šiam projektui galite naudoti bet kurį iš jų be jokių pakeitimų.
„General Instruments“taip pat pagamino AY-3-8912 ir AY-3-8913 variantus, kurie buvo tas pats silicis mažesnėse pakuotėse, be papildomų įvesties/išvesties kaiščių. Šie smeigtukai nėra reikalingi jokiems garso tikslams, o šis projektas jų nenaudoja. Galite naudoti AY-3-8912 arba -8913, tiesiog vadovaukitės aukščiau nurodytais kontaktais.
Alternatyvūs Arduinos
Naudotas „Pro Micro“yra „Sparkfun“„Pro Micro“plokštės kopija. Jei nesate tikri dėl „Arduino“kodo, geriausia to laikytis; jei mielai pritaikysite dizainą, jums reikės šių specifikacijų
- ATmega 16u4 arba 32u4 įrenginys (reikalingas veikti kaip USB MIDI įrenginys; ATmega 168 arba 328 to padaryti negali).
- 5 V veikimas (AY-3-8910 veikia esant 5 V įtampai) ir 16 MHz taktinis dažnis.
-
Bent 13 skaitmeninių įvesties/išvesties linijų.
Prievado kaištis PB5 turi būti prijungtas (jis naudojamas 1MHz laikrodžio signalui generuoti). „Pro Micro“jis naudojamas kaip D9 įvesties/išvesties kaištis
Tiek „Arduino Leonardo“, tiek „Micro“plokštės tinka, nors aš jų nebandžiau.
Kiti komponentai
Čia naudojami rezistoriai ir kondensatoriai nėra ypač ypatingi. Visos (maždaug) tinkamos vertės dalys turėtų veikti.
3 žingsnis: grandinės plokštės išdėstymas
Norėdami sukurti grandinę, geriausia pradėti nuo lizdų išdėstymo, tada pridėti rezistorius ir kondensatorius. Kitame žingsnyje aptarsime jų sujungimą.
Naudodami aukščiau pateiktą paveikslėlį kaip vadovą, pastatykite 40 kontaktų IC lizdą, apverskite plokštę ir pirmiausia lituokite į du priešingus kampinius kaiščius. Jei kištukinis lizdas nėra plokščias prie plokštės, jį lengva pataisyti iš naujo suvirinus vieną ar kitą kaištį. Kai viskas gerai, lituokite likučius.
Įdėkite du 12 kontaktų lizdus, tada įdėkite į juos „Arduino“, kad litavimo metu jie būtų vertikaliai ir stabiliai. Vėlgi, lituodami du kaiščius kiekviename gale, galėsite patikrinti prieš galutinį litavimą.
Garso išvesties lizdei naudoju nedidelį grąžtą, kad padidinčiau PCB skyles, nes tvirtinimo žymės yra gana didelės.
4 žingsnis: prijungimas
Kai pagrindiniai komponentai yra išdėstyti, jie gali būti prijungti plokštės gale, laikantis aukščiau pateiktos grandinės.
Garso išvesties komponentai (R2, R3, C2, C3) ir atsiejami kondensatoriai (C1, C4) gali būti prijungti kieto gyslo laidu (arba atjungiant komponentų laidus). Dabar galima prijungti įžeminimo ir maitinimo jungtis iš „Arduino“į PSG lustą (raudoni ir juodi laidai, paveikslėlyje).
Įvairūs „Pro Micro“išėjimai prijungti prie AY-3-8910 taip (žr. Prijungimo vadovą, kaip priskirti kaiščius):
Signalas „Arduino AY-3-8910“kaištis
DA0 D2 37 DA1 D3 36 DA2 D4 35 DA3 D5 34 DA4 D6 33 DA5 D7 32 DA6 D8 31 DA7 A0/D18 30 BC1 D10 29 BC2 MOSI/D16 28 BDIR MISO/D14 27 RESET# SCLK/D15 23 CLOCK D9 22 (per R1, 75 omai)
5 veiksmas: programavimas naudojant „Arduino IDE“
Jei dar nesate susipažinę su „Arduino“, primygtinai rekomenduoju išbandyti vieną iš daugelio pamokų apie pagrindus. „Sparkfun“prijungimo vadove pateikiama išsami informacija. Galite patikrinti, ar veikia pagrindinis programavimas, vadovaudamiesi pamoka „Blinkies“. „Arduinos“gali būti šiek tiek sudėtinga įtikinti „įkrovos įkėlimo“režimą (kur galite įkelti naujus eskizus), todėl šiek tiek praktikos su paprastu pavyzdžiu yra naudinga.
Kai būsite laimingi, atsisiųskite prie šio puslapio pridėtą failą chiptunes.ino, sukurkite ir įkelkite. (Radau, kad naudoti „Arduino/Genuino Micro“plokštės tipą tinka šiam eskizui, jei norite praleisti „Sparkfun“plokštės palaikymo diegimą).
Taip pat atkreipkite dėmesį, kad jei naudojate „Mac“, pirmą kartą įkėlus eskizą reikia pakeisti „Port“nustatymą. Su „tuščiu“„Arduino“(arba naudojant „Blinky“eskizą) jis bus rodomas kaip kažkas panašaus į /dev/cu.usbmodemXXXX, kaip parodyta aukščiau esančiame paveikslėlyje. Kai USB MIDI įrenginys yra aktyvus (kaip naudojamas „chiptunes.ino“eskizas), jis bus /dev/cu.usbmodemMID1.
6 žingsnis: sintezės bandymas ir naudojimas
Užprogramavus „Arduino“, jūsų darbo vieta turėtų automatiškai jį atpažinti kaip USB MIDI įrenginį. Jis bus rodomas pavadinimu „Arduino Micro“- tai turėtumėte pamatyti „Windows“įrenginių tvarkytuvėje arba „Mac OS“programoje „Sistemos informacija“.
„Mac“sistemoje galite naudoti „Audio MIDI Setup“programą, kad paleistumėte pagrindinį testą. Paleiskite programą, tada pasirinkite Langas -> Rodyti „MIDI Studio“. Tai atvers „MIDI Studio“langą - visos jūsų MIDI sąsajos bus rodomos šiek tiek atsitiktine tvarka - ir, tikiuosi, bus „Arduino Micro“įrenginys. Jei įrankių juostoje spustelėsite „Test Setup“piktogramą, o tada „Arduino Micro“įrenginyje spustelėsite rodyklę žemyn (žr. Paveikslėlį), programa išsiųs MIDI užrašus į sintezatorių. (Tai nėra ypač melodinga!) Šiuo metu sintezatorius turėtų skleisti atsitiktinius garsus.
Tada galite pridėti „Arduino Micro“kaip išvesties įrenginį prie savo skaitmeninės garso darbo vietos MIDI sąrankos ir pradėti žaisti!
- Sintezatorius reaguoja MIDI kanaluose nuo 1 iki 4. Kiekvienas kanalas turi skirtingą garsą (na, skirtingas garsas).
- Priimtini MIDI užrašai nuo 24 iki 96 (C1-C7); užrašai už šio diapazono ribų ignoruojami.
-
MIDI 10 kanalas leidžia būgno garsus. Atkreipkite dėmesį į skaičius nuo 35 iki 50 (žr
www.midi.org/specifications-old/item/gm-level-1-sound-set) yra priimami.
- AY-3-8910 yra trys balso kanalai. Sintezatoriaus programinė įranga bando paleisti naujausią išsiųstą natą, o aukščiausios ir žemiausios šiuo metu prašomos natos vis dar skamba. Kitos natos (dažniausiai vidurinės akordo natos), jei reikia, nukerpamos.
Ir viskas. Pasilinksmink!
7 žingsnis: išnašos
Apie demo melodiją
Demo melodija - garsioji Mocarto karalienės nakties arija - buvo sukurta gana greitai iš MIDI failo, kurį radau internete (https://www.midiworld.com/mozart.htm). Kažkas kitas padarė visą sunkų darbą!
„Mac“naudoju „Presonus Studio One“, o MIDI failas buvo importuotas į keturis atskirus takelius. Reikėjo nedaug redaguoti, kai akompanimento natos yra aukštesnės už pagrindinę melodiją, ir pašalinti kai kuriuos labiau nemalonius trikdžius tarp natų.
Garsas, kurį girdite klipe, yra tiesiai iš sintezatoriaus, tik prisilietus prie EQ ir sodrumo, kad būtų šiek tiek „arkadinės mašinos“žemo garso jausmas.
Rekomenduojamas:
Vandens sintezatorius su „MakeyMakey“ir įbrėžimais: 6 žingsniai (su nuotraukomis)
Vandens sintezatorius su „MakeyMakey“ir įbrėžimais: „MakeyMakey“naudojimas įvairioms medžiagoms paversti jungikliais ar mygtukais ir taip sukelti judesius ar garsus kompiuteryje yra žavus reikalas. Žmogus sužino, kuri medžiaga skleidžia silpną srovės impulsą, ir gali išrasti bei eksperimentuoti su
Nuostabus analoginis sintezatorius/vargonai naudojant tik atskirus komponentus: 10 žingsnių (su nuotraukomis)
Nuostabus analoginis sintezatorius/organas, kuriame naudojami tik atskiri komponentai: Analoginiai sintezatoriai yra labai šaunūs, tačiau juos taip pat gana sunku pagaminti. Taigi norėjau padaryti tokį paprastą, kokį tik gali gauti, todėl jo veikimas gali būti lengvai suprantamas. Kad jis veiktų, reikia kelių pagrindinių grandinių: paprastas osciliatorius su atsparumu
„Arduino“sintezatorius: 20 žingsnių (su nuotraukomis)
„Arduino“sintezatorius: „Arduino“gali skleisti garsą per sukurtą biblioteką, vadinamą „Tone Library“. Sukūręs sąsają ir programą, galinčią iškviesti tam tikras reikšmes į garso išvestį, „Arduino“sintezatorius yra patikimas įrankis, skirtas
Muzikos sintezatorius, pagrįstas DE0-Nano-SoC: 5 žingsniai (su nuotraukomis)
Muzikos sintezatorius, pagrįstas DE0-Nano-SoC: Muzikos sintezatorius Šis muzikos sintezatorius yra gana paprastas: tereikia pūsti, dainuoti ar net leisti muziką priešais mikrofoną, o garsas bus moduliuojamas ir siunčiamas per garsiakalbį. Jo specifikacija taip pat bus rodoma LCD ekrane
„Micro Midi“sintezatorius: 5 žingsniai (su nuotraukomis)
„Micro Midi“sintezatorius: Ši instrukcija demonstruoja „VLSI VS1053b Audio“ir „Midi DSP“mikroschemų naudojimą realiuoju laiku veikiančiu „Midi“režimu. Šiuo režimu jis veikia kaip 64 balsų polifoninis GM (General Midi) Midi sintezatorius. Savarankiškas „Arduino Uno“mikrovaldiklis valdo OLED ekraną