Turinys:

„Arduino MIDI Chiptune“sintezatorius: 7 žingsniai (su nuotraukomis)
„Arduino MIDI Chiptune“sintezatorius: 7 žingsniai (su nuotraukomis)

Video: „Arduino MIDI Chiptune“sintezatorius: 7 žingsniai (su nuotraukomis)

Video: „Arduino MIDI Chiptune“sintezatorius: 7 žingsniai (su nuotraukomis)
Video: Ribbon MIDI Controller - Arduino and Prophet 6 2024, Lapkritis
Anonim
„Arduino MIDI Chiptune“sintezatorius
„Arduino MIDI Chiptune“sintezatorius

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

Dalykai, kurių jums prireiks
Dalykai, kurių jums prireiks
Dalykai, kurių jums prireiks
Dalykai, kurių jums prireiks
Dalykai, kurių jums prireiks
Dalykai, kurių jums prireiks

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

Alternatyvios dalys
Alternatyvios dalys
Alternatyvios dalys
Alternatyvios dalys
Alternatyvios dalys
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

Grandinės plokštės išdėstymas
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

Sujungimas
Sujungimas
Sujungimas
Sujungimas

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“

Programavimas naudojant „Arduino IDE“
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

Sintezės testavimas ir naudojimas
Sintezės testavimas ir naudojimas
Sintezės testavimas ir naudojimas
Sintezės testavimas ir naudojimas
Sintezės testavimas ir naudojimas
Sintezės testavimas 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: