Turinys:
- 1 žingsnis: !! Atsargumo pastaba - atsisakymas
- 2 žingsnis: Aparatūros kūrimas
- 3 žingsnis: komponentų sąrašas
- 4 žingsnis: jungtys/schemos
- 5 žingsnis: programinė įranga
- 6 veiksmas: trikčių šalinimas
- 7 žingsnis: naudingos nuorodos
Video: Kitas MIDI į CV dėžutė: 7 žingsniai (su paveikslėliais)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Kitas „MIDI to CV“dėžutė yra projektas, kurį sukūriau, kai „Korg MS10“pasibeldė į mano duris ir įvyko mano studijoje. Kadangi mano sąranka labai susijusi su MIDI, kad būtų galima automatizuoti ir sinchronizuoti visus instrumentus, kai nusipirkau MS10, pirmoji problema, su kuria teko susidurti, buvo tai, kaip tokią kontrolę įgyvendinti.
„Korg MS20/10“nėra patys lengviausi sintezatoriai, norintys įdiegti MIDI: pirmiausia jie remiasi Hz/V valdymu (tiesinė koreliacija tarp valdymo įtampos ir natų dažnio), o ne okt/V (1 V oktavai); antra, norėdami suaktyvinti užrašą, turite nusiųsti neigiamą vartų signalą ir trumpai įvesti įžeminimą (S-Trig), o ne +5 V signalą (V-trig).
Šiais laikais yra įvairių komercinių sprendimų, kaip valdyti tokius instrumentus (t. Y. „Arturia Beatstep Pro“, „Korg SQ-1“, „Kenton Solo“), bet aš esu pigus niekšas ir net 100 eurų yra per daug „neskambančiam“įrenginiui:).
Štai mes tada: leiskite man parodyti, kaip sukurti mažo biudžeto MIDI į CV dėžutę, kad būtų galima valdyti/automatizuoti išankstinio MIDI sintezės žingsnį, vartus, greitį ir išjungimo dažnį naudojant išorinį MIDI valdiklį (klaviatūrą, DAW, seką ar bet ką).
- O kaip su naujuoju MS20 mini?
Kaip beveik visi žino, naujasis MS20 iš tikrųjų yra paruoštas MIDI: IN su 5 polių MIDI jungtimi ir IN/OUT su USB jungtimi.
"Taigi, jei turiu MS20 mini, tai nieko nereiškia!"
Gerai ne. MS20 mini atpažįsta tik pastabų įjungimo/išjungimo pranešimus, o klaviatūra nėra jautri greičiui. Neįmanoma to įveikti naudojant senovinę ar mini klaviatūrą MS10/20, tačiau su midi dėžute ir greičiui jautria klaviatūra esate auksinis. Be to, naudodami MIDI dėžutę galite automatizuoti filtro išjungimą (arba bet kurį kitą įtampos valdomą parametrą) arba modifikuoti jį pagal gaunamą MIDI užrašą apie greitį. Vėlgi, vienintelis MIDI kanalas MS20 mini reaguoja į 1 kanalą. Naudodami šį langelį taip pat galite įveikti šią ribą.
„O kas, jei turiu„ Oct/V “sintezatorių?
Jokiu problemu! Mano parašytas kodas suderinamas su „Oct/V“sintezatoriais (neišbandytas, bet esu įsitikinęs, kad tai veiks iš karto;)).
1 žingsnis: !! Atsargumo pastaba - atsisakymas
Jūsų įranga yra labai vertinga ir neturėtų būti naudojama bandymams atlikti.
Žaisdami su elektra galite labai sugadinti įrangą arba pakenkti sau.
Aš negaliu būti atsakingas už žalą, padarytą jūsų įrangai/techninei įrangai ar net sau, atsiradusiai dėl bet kokios programinės įrangos ar schemų, informacijos ar nuorodų, apie kurias pranešiau šioje instrukcijoje.
Tu buvai ispetaS!
2 žingsnis: Aparatūros kūrimas
„Arduino“yra naudingas sprendžiant tokius projektus. Didelė Bendrija ir labai geros bibliotekos, apimančios beveik visas bendras užduotis, yra teisingas pasirinkimas. Čia plokštė bus užprogramuota taip, kad ji nuskaitytų gaunamus MIDI duomenis ir tada siunčia atitinkamą įtampą vairuoti:
- Pitch, paverčiant pwm išėjimą į analoginę įtampą, kad VCO būtų valdomas per skaitmeninį į analoginį keitiklį (DAC)
- Greitis, filtruojant pwm išvestį, kad būtų galima valdyti VCA naudojant paprastą RC filtrą
- Filtro išjungimo dažnis, filtruojant pwm išvestį, kad būtų galima valdyti VCF naudojant paprastą RC filtrą
- Vartai, tiesiogiai iš skaitmeninės išvesties, esant V-trigui (įjunkite 1Kohm su išėjimu, kad sumažintumėte srovės nutekėjimą) arba paprastu pnp tranzistoriaus jungikliu iš skaitmeninės išvesties (žr. Schemą, pridėtą prie schemos žingsnio).
„Arduino“negali tiesiogiai perduoti pastovios įtampos, bet 0/+5 V impulsų su skirtingais periodais (PWM). Mums reikia skaitmeninio analoginio keitiklio (DAC), skirto liejimui. RC filtrai yra lengviausias DAC, kokį tik galiu įsivaizduoti. RC filtras yra pakankamas įtampos valdomam stiprintuvui ir filtrui (VCA ir VCF). RC filtrai yra pritaikyti taip, kad ribinis dažnis būtų <20Hz (žemiausias girdimas dažnis).
Aš padariau tam tikrą bandymą su mažos talpos nepoliarizuotais kondensatoriais ir baigiau 0,1 uF talpos verte, kad geriausiai tiktų. Patikrinta gerai su MS20 MKII.
Deja, mes negalime pasikliauti RC filtru, kad valdytume įtampos valdomą osciliatorių (VCO), nes jis būtų nepakankamai tikslus (Hz/V skalėje, apatiniame gale du adiacendiniai pustoniai skiriasi mažiau nei 0,02 V; V /spalio du prigludę pustoniai skiriasi 0,083 V); tam naudosime IC DAC (MPC4725).
Žinomos ribos
Apribojant pavaros įtampą iki 5 V („Arduino“išėjimo įtampa), greitis apima visą 0–5 V diapazoną; riba yra pusiau uždengta (nuo -5V iki +5V); VCO diapazonas yra iš dalies apimtas, nes Hz/V įtampa reikalauja 8 V, kad pasiektų 440 Hz A4. Esant 5 V išėjimo ribai, mes galime pakelti osciliatorių iki D4 dažnio Hz/V.
3 žingsnis: komponentų sąrašas
Jums reikia:
1X „Arduino UNO“(arba nano)
1X MPC4725 DAC plokštė
4X 1/8 "arba 1/4" monofoninės jungtys
1X MIDI jungtis
1X 6N138 optronas
1X 1N4148 diodas
1X 220 omų 1/4 W rezistorius
1X 470 omų 1/4 W rezistorius
1X 10K omų 1/4 W rezistorius
4X 1K omo 1/4 W rezistorius
2X 0,1 uF kondensatorius
1X BC547 pnp tranzistorius (S-trig atveju)
1X ABS dėžutė (ne mažiau kaip 55 x 70 x 100 mm)
… ir, žinoma, duonos lentos arba perforatoriaus plokštės, lituokliai, lydmetalio viela ir kabeliai (turėtų pakakti 2 metrų 28 AWG).
Atkreipkite dėmesį, kad nuotraukose, esančiose aukščiau mano prototipo, yra sumontuoti 100 uF elektrolitiniai dangteliai, tačiau jie yra per lėti dėl talpos įkrovimo laiko. 0,1uF talpa yra teisingas pasirinkimas.
Aš naudoju papildomą jungtį, kad galėčiau tiekti energiją savo arduino; nebūtina, kad mikrokontrolerio sulčių būtų galima išspausti tiesiai per įmontuotą mini USB jungtį.
4 žingsnis: jungtys/schemos
MIDI IN
MIDI IN grandinė yra paprasta ir gerai aprašyta internete. Paimkite, pavyzdžiui, šią puikią pamoką MIDI ir Arduino by Amanda Gassaei. Šiaip aš padariau n -ąją schemą šiuo klausimu.
Atkreipkite dėmesį, kad aš pridėjau jungiklį MIDI IN schemoje (1 jungiklis): tai būtina įkeliant naują eskizą į „Arduino“, nes opto trukdo RX linijai net ir be gaunamų midi pranešimų. Prieš įkeldami eskizą, turite atidaryti jungiklį, kitaip IDE nepavyks įkelti naujo eskizo.
Galų gale galite pakeisti eskizą, kad būtų naudojamas serijinis programinės įrangos ryšys.
DAC, RC filtras, sintezatorius
DAC, RC filtrų ir „Synth“jungtis (žingsnis, vartai ir greitis) parodyta diagramoje viršuje. Aš paėmiau nuorodą į „Korg MS20“pleistro skydelį, bet viską išbandžiau ir MS10. Tiesioginis greičio CV prijungimas prie VCA „pradinio stiprinimo“pataisos taško neturi jokios įtakos (turiu šį dalyką iškasti toliau), bet jei prijungsite jį prie „Total“pataisos taško ir padidinsite visus išorinius puodus (MG/T. EXT)), išgirsite gražius tonų variantus, atsižvelgiant į natos greitį.
Mano schemos (ir mano prototipas) nenaudoja srovės ribojančio rezistoriaus DAC išėjime, tačiau visada gera idėja jį įdėti, kad būtų užtikrintas ilgas jūsų grandinių tarnavimo laikas. Pakaks 220 omų rezistoriaus.
Atkreipkite dėmesį, kad schemose nurodoma virš 100 uF elektrolitinių dangtelių, tačiau jie yra per lėti dėl talpos įkrovimo laiko. Ne poliarizuoti, 0.1uF dangteliai yra tinkamas pasirinkimas.
Vartai
Jei ketinate sekti sintezatorių, suderinamą su „V-Trig“(įtampos paleidimo) signalais, pakaks 1k omų serijos rezistoriaus srovės nutekėjimui sumažinti; „S-Trig“(jungiklio paleidimo) sintezės atveju galite naudoti paprastą PNP jungiklio grandinę (žr. pridedamą schemą).
5 žingsnis: programinė įranga
Stengiausi, kad eskizas būtų kuo aiškesnis ir „skaitomas“.
Dirbau prie paprasto skaičiavimo lapo, kurį radau ČIA, kad išvestume įtampos Vs pastabos# kreivę ir tiesiogiai naudočiau mikrovaldiklio lygtį. Lygtis parodyta diagramoje viršuje. Aš naudoju C2 kaip informacinę pastabą, kad gaučiau Arp/Korg suderinamą įtampos V užrašų santykį (C0 - 0,25 V, C1 - 0,5 V, C2 - 1 V, C3 - 2 V, C4 - 4 V, C5 - 8 V ir pan.).
Turėjau apibrėžti žaislo kintamąjį, kad galėčiau gerai sureguliuoti … neskubėkite rasti tinkamų verčių. Tuneris yra būtinas.
Mes ketiname padidinti laikmačio/skaitiklio pwm dažnį, kad sumažintume išėjimo įtampą (taip paprasta, kaip kodo eilutė).
Kad kodas reaguotų į gaunamus baitus, kodas labai priklauso nuo funkcijų skambučių.
Jums reikia sudaryti „Sparkfun“„Adafruit_MCP4725.h“ir keturiasdešimt septynių efektų/Francois Best „MIDI.h“bibliotekų! (Didelis ačiū šiems asmenims: be jų pastangų šis projektas niekada nebūtų įgyvendintas!).
Manau, kad jūsų kompiuteryje yra paruoštas „Arduino IDE“ir žinote, kaip įkelti eskizą į „Arduino“plokštę.
Realiame gyvenime nesu koduotoja, todėl labai tikėtina, kad eskizas galėtų būti parašytas geriau. Esu atviras pasiūlymams (aš visada ką nors išmokstu žiūrėdamas į kodavimo kodą;))
Papildomos pastabos parašytos žemiau esančiame kode. Įdiekite dvi bibliotekas, atidarykite pridėtą kodą savo IDE, prijunkite plokštę, pasirinkite plokštės tipą ir įkelkite.
6 veiksmas: trikčių šalinimas
Net jei projektas yra žemo lygio, yra daugybė dalykų, kurie gali suklysti. Jei bandydami sukurti savo MIDI į CV dėžutę susiduriate su problemomis, atlikite šiuos veiksmus:
1. Įsitikinkite, kad „Arduino“teisingai gauna MIDI pranešimus
Patikrinkite išvesties kanalą, į kurį jūsų klaviatūra, DAW arba sekvencininkas siunčia MIDI pranešimus. „Arduino“pagal numatytuosius nustatymus klausosi 1 kanalo. Įkelkite „TEST_MIDI_IN.ino“, kad perskaitytumėte gaunamą „NoteON“pranešimą.
2. Dar kartą patikrinkite laidus
… arba dar geriau: tris kartus patikrinkite juos! Skirkite tam laiko.
3. Patikrinkite DAC adresą ir išvestį
DAC gali būti nustatytas priimti duomenis kitu adresu, nei aš nustatiau eskize. Patikrinkite adresą paleisdami „I2C_scanner.ino“. Jei įvyksta klaida „nerastas įrenginys“, patikrinkite DAC laidus (skirtingose „Arduino“plokštėse SDA ir SCL įvestys skiriasi!). Jei turite oscilokopą (net ir tų 15 eurų skaitmeninių osciloskopų užtenka … ir smagu su jais žaisti!), Galite patikrinti savo DAC išvestį įkeldami trikampių bangų generatoriaus pavyzdį, įtrauktą į DAC bibliotekos diegimą.
Atminkite, kad prijungus optroną prie jūsų arduino plokštės RX įvesties, negalėsite įkelti naujo eskizo !! Prieš RX kaištį uždėkite jungiklį (tai gali būti paprastas trumpiklis).
Dauguma šių bandymų eskizų nėra mano arba bent jau pagrįsti esama internetine medžiaga.
Man tai skamba nesąmoningai !?
Tai nėra tikra problema: Hz/V valdymo lygtis yra „ideali“. Kai kurie nukrypimai nuo idealaus elgesio gali pakilti nuo tiekiamo +5 V, o ne 5 000 V, iš DAC ir paties prietaiso. Norėdami išspręsti problemą, turite veikti pagal savo sintezės/smulkių melodijų potenciometrą ir „voilà“- puikiai suderintą MIDI valdiklį;)
7 žingsnis: naudingos nuorodos
en.wikipedia.org/wiki/CV/gate
www.instructables.com/id/Send-and-Recept-…
www.songstuff.com/recording/article/midi_me…
pages.mtu.edu/~suits/NoteFreqCalcs.html
espace-lab.org/activites/projets/en-arduin…
learn.sparkfun.com/tutorials/midi-shield-h…
provideyourown.com/2011/analogwrite-conver…
www.midi.org/specifications/item/table-3-c…
arduino-info.wikispaces.com/Arduino-PWM-Fr…
sim.okawa-denshi.jp/en/PWMtool.php
Rekomenduojamas:
Kitas dažniausiai 3D spausdintas sukamasis jungiklis: 7 žingsniai (su nuotraukomis)
Kitas daugiausiai 3D spausdintas sukamasis jungiklis: prieš kurį laiką sukūriau daugiausiai 3D spausdintą sukamąjį jungiklį specialiai savo „Minivac 601 Replica“projektui. Mano naujam „Think-a-Tron 2020“projektui man reikia dar vieno rotacinio jungiklio. Ieškau SP5T skydo tvirtinimo jungiklio. Priedas
YADPF (DET kitas skaitmeninis nuotraukų rėmelis): 7 žingsniai (su paveikslėliais)
YADPF (DET Kitas skaitmeninis paveikslų rėmas): Žinau, kad tai nėra naujiena, žinau, mačiau kai kuriuos iš šių projektų čia, bet visada norėjau sukurti savo skaitmeninį paveikslų rėmelį. Visi paveikslų rėmeliai, kuriuos mačiau, yra gražūs, bet aš ieškojau kažko kito, ieškau tikrai gražaus
HV izoliatoriaus pakabinamos lempos ir kitas unikalus akcentinis apšvietimas: 8 žingsniai (su nuotraukomis)
HV izoliatoriaus pakabinami šviestuvai ir kitas unikalus akcentinis apšvietimas: vieną dieną išjungiau liestinę ir pradėjau gaminti skirtingas lempas. Aš 3D spausdinau kai kurias dalis, o didžiąją likusią dalį gavau iš Loweso ir dolerių parduotuvės. Geriausias atradimas buvo tada, kai tvarto išpardavime pamačiau kibirą elektros stulpų izoliatorių. Jie kainavo po 3 USD. Tada
„Barbie“dėžutė: užmaskuotas dėklas/ strėlės dėžutė jūsų MP3 grotuvui: 4 žingsniai (su nuotraukomis)
„Barbie Box“: užmaskuotas dėklas/ strėlės dėžutė jūsų MP3 grotuvui: Tai yra paminkštintas apsauginis dėklas jūsų mp3 grotuvui, kuris taip pat konvertuoja ausinių lizdą į ketvirtadalio colį, gali veikti kaip strėlės dėžutė perjungus jungiklį ir užmaskuoja jūsų mp3 grotuvą kaip dešimtojo dešimtmečio pradžios magnetofoną ar panašias mažas vagystes
Kitas nešiojamojo kompiuterio stovas (otro Soporte Para Notebook): 4 žingsniai (su paveikslėliais)
Kitas nešiojamojo kompiuterio stovas (antroji nešiojamojo kompiuterio stovas): Por favor, vea una mejora en https://www.instructables.com/id/Mejoras-al-Soporte-para-laptop-laptop-stand-enhan/ Mi notebook tiene un problemita : la pantalla parpadea a ratos (arreglado a fines de setiembre 2010, era un contacto flojo). Parodyk man h