Sisällysluettelo:
- Vaihe 1: !! Huomio - vastuuvapauslauseke
- Vaihe 2: Laitteiston suunnittelu
- Vaihe 3: Komponenttiluettelo
- Vaihe 4: Yhteydet/Kaaviot
- Vaihe 5: Ohjelmisto
- Vaihe 6: Vianetsintä
- Vaihe 7: Hyödyllisiä linkkejä
Video: Toinen MIDI -CV -laatikko: 7 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Toinen MIDI -CV -laatikko on projekti, jonka kehitin, kun Korg MS10 koputti oveeni ja tapahtui studiossani. Koska asennukseni liittyy vahvasti MIDI: hen kaikkien instrumenttien automatisoimiseksi ja synkronoimiseksi, MS10: n ostamisen yhteydessä ensimmäinen ongelma, jonka jouduin kohtaamaan, oli tällaisen ohjauksen toteuttaminen.
Korg MS20/10 ei ole helpoin syntetisaattori MIDI: n toteuttamiseen: ensinnäkin ne tukeutuvat Hz/V -ohjaukseen (lineaarinen korrelaatio ohjausjännitteen ja nuotin taajuuden välillä) okt/V (1V oktaavia kohti) sijasta; toiseksi, muistiinpanon laukaisemiseksi sinun on lähetettävä negatiivinen porttisignaali ja oikosulettava tulo maahan (S-Trig), ei +5 V: n signaali (V-trig).
Nykyään on olemassa erilaisia kaupallisia ratkaisuja tällaisten instrumenttien hallintaan (esim. Arturia Beatstep Pro, Korg SQ-1, Kenton Solo), mutta olen halpa paskiainen ja jopa 100 euroa on liikaa "ei kuulostavalle" laitteelle:).
Tässä me sitten olemme: näytän sinulle, kuinka rakentaa pienen budjetin MIDI CV -laatikkoon hallita/automatisoida MIDI-esisynteesin nousu, portti, nopeus ja rajataajuus ulkoisella MIDI-ohjaimella (näppäimistö, DAW, sekvensseri tai mikä tahansa).
"Entä uusi MS20 mini?"
Kuten lähes kaikki tietävät, uusi MS20 on itse asiassa MIDI -valmis: IN 5 -napaisella MIDI -liittimellä ja IN/OUT USB -liittimellä.
"Joten jos minulla on MS20 mini, tämä asia on hyödytön!"
No ei. MS20 mini tunnistaa vain muistiinpanon päälle/pois -viestit, ja näppäimistö ei ole nopeusherkkä. Tätä ei voi voittaa MS10/20 -vintage- tai mininäppäimistöllä, mutta midi -laatikon ja nopeusherkän näppäimistön avulla olet kultainen. Lisäksi MIDI -laatikon avulla voit automatisoida suodattimen katkaisun (tai minkä tahansa muun jännitteellä säädettävän parametrin) tai antaa sen moduloida saapuvan nopeuden MIDI -muistiinpanon avulla. Jälleen ainoa MIDI -kanava MS20 mini vastaa kanavaan 1. Tällä ruudulla voit ylittää myös tämän rajan.
"Entä jos minulla on Oct/V -syntetisaattori?"
Ei ongelmaa! Kirjoittamani koodi on yhteensopiva Oct/V-syntetisaattoreiden kanssa (testaamaton, mutta olen varma, että se toimii heti valmiina;)).
Vaihe 1: !! Huomio - vastuuvapauslauseke
Laitteesi ovat erittäin arvokkaita, eikä niitä tule käyttää testien suorittamiseen.
Sähköllä leikkiminen voi vahingoittaa vakavasti laitteitasi tai vahingoittaa itseäsi.
En ole vastuussa laitteistosi/laitteistosi tai jopa itsesi vahingoittumisesta, joka johtuu ohjelmistosta tai järjestelmistä tai tiedoista tai linkeistä, joista olen ilmoittanut tässä ohjeessa.
Sinua on varoitettu!
Vaihe 2: Laitteiston suunnittelu
Arduino on kätevä käsiteltäessä tällaisia projekteja. Suuren yhteisön olemassaolo ja erittäin hyvät kirjastot, jotka kattavat melkein kaikki yhteiset tehtävät, tekevät siitä oikean valinnan. Tässä piirilevy ohjelmoidaan siten, että se lukee saapuvat MIDI -tiedot ja lähettää sitten tarvittavat jännitteet ajaa varten:
- Pitch, muuntamalla pwm -lähtö analogiseksi jännitteeksi VCO: n käyttämiseksi digitaalisesta analogiamuuntimeen (DAC)
- Nopeus, suodattamalla pwm -lähtö VCA: n ajamiseen yksinkertaisella RC -suodattimella
- Suodattimen rajataajuus suodattamalla pwm -lähtö VCF: n ajamiseen yksinkertaisella RC -suodattimella
- Portti, suoraan digitaalilähdöstä V-trig: n tapauksessa (laita 1Kohm sarjaan lähtöliitännällä virrankulutuksen vähentämiseksi) tai yksinkertaisella pnp-transistorikytkimellä ulos digitaalilähdöstä (katso kaavio, joka on liitetty kaavion vaiheeseen).
Arduino ei pysty lähettämään suoraan tasaisia jännitteitä, mutta 0/+5 V pulsseja eri jaksoilla (PWM). Tarvitsemme kaatopaikalle digitaalisia analogisia muuntimia (DAC). RC -suodattimet ovat helpoin DAC, jonka voin ajatella. RC -suodatin on hyvä jänniteohjatulle vahvistimelle ja suodattimelle (VCA ja VCF). RC -suodattimet on räätälöity siten, että niiden rajataajuus on <20 Hz (alin äänitaajuus).
Tein jonkin testin pienikapasiteettisilla ei -polarisoituneilla kondensaattoreilla ja päädyin kapasiteettiarvoon 0,1uF ollakseni paras. Testattu hyvin MS20 MKII: lla.
Valitettavasti emme voi luottaa RC -suodattimeen jänniteohjatun oskillaattorin (VCO) käyttämiseksi, koska se ei olisi tarpeeksi tarkka (Hz/V -asteikolla, alapäässä kaksi adiacend -puolisävelaskua eroavat alle 0,02 V; in V /loka kaksi vierekkäistä puolisäveä eroaa 0,083 V: n virrasta); aiomme käyttää tähän IC DAC: ia (MPC4725).
Tunnetut rajat
Rajoittaa taajuusmuuttajan jännitteen 5 V: iin (Arduino -lähtöjännite), koko 0 - 5 V: n alue kattaa nopeuden; raja-arvo on puoliksi peitetty (-5V- +5V); VCO -alue on osittain katettu, koska Hz/V: ssa tarvitaan 8 V: n jännite 440 Hz A4: n saavuttamiseksi. 5 V: n lähtörajalla voimme nostaa oskillaattorin D4 -taajuuteen asti Hz/V.
Vaihe 3: Komponenttiluettelo
Tarvitset:
1X Arduino UNO (tai nano)
1X MPC4725 DAC -kortti
4X 1/8 "tai 1/4" monoliitännät
1X MIDI -liitin
1X 6N138 optinen liitin
1X 1N4148 diodi
1X 220 ohmin 1/4 W vastus
1X 470 ohmin 1/4 W vastus
1X 10K ohmin 1/4 W vastus
4X 1K ohmin 1/4 W vastus
2X 0,1 uF kondensaattori
1X BC547 pnp-transistori (S-trig)
1X ABS -laatikko (vähintään 55 x 70 x 100 mm)
… Ja ilmeisesti leipälauta tai parkettilauta, juotosrauta, juotoslanka ja kaapelit (2 metriä 28 AWG: tä riittää).
Huomaa, että prototyyppini yllä olevissa kuvissa on 100 uF: n elektroliittikorkki, mutta ne ovat liian hitaita kapasiteetin latausajan vuoksi. 0.1uF: n kapasitanssi on oikea valinta.
Käytin lisäliitintä virran syöttämiseen arduinooni; Mikro -ohjaimen mehustaminen ei ole välttämätöntä suoraan sisäisen mini -USB -liitännän kautta.
Vaihe 4: Yhteydet/Kaaviot
MIDI IN
MIDI IN -piiri on yksinkertainen ja hyvin kuvattu verkossa. Ota esimerkiksi tämä Amanda Gassaein MIDI- ja Arduino -opetusohjelma. Tein joka tapauksessa n: nnen kaavion asiasta.
Huomaa, että lisäsin kytkimen MIDI IN -järjestelmään (kytkin 1): tämä on välttämätöntä, kun ladataan uusi luonnos Arduinolle, koska opto häiritsee RX -linjaa jopa ilman saapuvia midi -viestejä. Sinun on avattava kytkin ennen luonnoksen lataamista, tai IDE ei pysty lähettämään uutta luonnosta.
Voit lopulta muokata luonnosta sarjaohjelmistoviestinnän käyttämiseksi.
DAC, RC -suodatin, syntetisaattori
DAC-, RC -suodattimien ja Synth -liitännät (nousu, portti ja nopeus) on esitetty kaaviossa. Otin viitteeksi Korg MS20 -laastaripaneelin, mutta testasin kaiken myös MS10: llä. Nopeuden CV: n suora yhdistäminen VCA: n "alkuperäisen vahvistuksen" patch -pisteeseen ei vaikuta (minun täytyy kaivaa tämä asia pidemmälle), mutta jos liität sen "Total" -laastaripisteeseen ja nostat ulkoisia potteja yhteensä (MG/T. EXT), kuulet mukavia äänivaihtoehtoja nuotin nopeuden funktiona.
Omat kaaviot (ja myös prototyyppini) eivät käytä virtaa rajoittavaa vastusta DAC -ulostulossa, mutta se on aina hyvä sijoittaa yksi, jotta piirisi kestävät pitkään. 220 ohmin vastus riittää.
Huomaa, että yllä olevissa kaavioissa on ilmoitettu 100 uF: n elektroliittikorkki, mutta ne ovat liian hitaita kapasiteetin latausajan vuoksi. Ei -polarisoidut, 0.1uF -korkit ovat oikea valinta.
Portti ulos
Jos aiot sekvensoida V-Trig-signaalien (jännitelaukaisimien) kanssa yhteensopivan syntetisaattorin, riittää 1 k ohmin sarjan vastus virrankulutuksen vähentämiseksi; S-Trig (kytkinliipaisin) syntetisaattorin tapauksessa voit käyttää yksinkertaista PNP-kytkinpiiriä (katso liitteenä oleva kaavio).
Vaihe 5: Ohjelmisto
Yritin pitää luonnoksen mahdollisimman selkeänä ja "luettavana".
Työskentelin yksinkertaisella laskentataulukolla, jonka löysin TÄÄLTÄ johtamaan jännite Vs Note# -käyrän ja käyttämään suoraan mikro -ohjaimen yhtälöä. Yhtälö näkyy ylhäällä olevassa kaaviossa. Käytin C2: ta viitehuomautuksena Arp/Korg -yhteensopivan Voltage Vs -suhteen (C0-0,25V, C1-0,5V, C2-1V, C3-2V, C4-4V, C5-8V ja niin edelleen) saamiseksi.
Minun oli määriteltävä leluun jokin muuttuja saadakseni hyvän virityksen … vie aikaa löytääksesi oikeat arvot. Viritin tarvitaan.
Aiomme lisätä ajastimen/laskurin pwm -taajuutta vähentääksesi lähtöjännitteiden aaltoilua (yhtä helppoa kuin koodirivi).
Jotta koodi ei reagoi saapuviin tavuihin, koodi riippuu voimakkaasti toimintojen takaisinsoitosta.
Tarvitset Sparkfunin "Adafruit_MCP4725.h" ja "Forty Seven Effects/Francois Best" "MIDI.h" -kirjastojen kokoamisen! (Paljon kiitoksia näille henkilöille: ilman heidän ponnistelujaan tämä projekti ei koskaan toteutuisi!).
Oletan, että sinulla on Arduino IDE valmiina tietokoneellesi ja tiedät kuinka ladata luonnos Arduino -kortillesi.
En ole koodaaja tosielämässä, joten on hyvin todennäköistä, että luonnos voitaisiin kirjoittaa paremmin. Olen avoin ehdotuksille (opin aina jotain katsomalla kooderin koodia;))
Muut huomautukset on kirjoitettu alla olevaan koodiin. Asenna kaksi kirjastoa, avaa liitteenä oleva koodi IDE -laitteellasi, liitä korttisi, valitse levyn tyyppi ja lataa.
Vaihe 6: Vianetsintä
Vaikka hanke on matalalla tasolla, on monia asioita, jotka voivat mennä pieleen. Jos sinulla on ongelmia yrittäessäsi luoda omaa MIDI -CV -laatikkoa, toimi seuraavasti:
1. Varmista, että Arduino vastaanottaa oikein MIDI -viestejä
Tarkista ulostulokanava, jolle näppäimistö tai DAW tai sekvensseri lähettää MIDI -viestejä. Arduino kuuntelee oletuksena kanavaa 1. Lataa "TEST_MIDI_IN.ino" lukeaksesi saapuvan NoteON -viestin.
2. Tarkista johdotus
… Tai vielä parempi: tarkista ne kolminkertaisesti! Varaa aikaa tähän.
3. Tarkista DAC -osoite ja lähtö
DAC voitaisiin asettaa vastaanottamaan tietoja eri osoitteeseen kuin se, jonka asetin luonnoksessa. Tarkista osoite suorittamalla "I2C_scanner.ino". Jos "laitetta ei löydy" -virhe ilmenee, tarkista DAC -johdotus (SDA- ja SCL -tulot ovat erilaiset eri Arduino -korteilla!). Jos sinulla on oskillokooppi (jopa nämä 15 euron digitaaliset oskilloskoopit ovat tarpeeksi hyviä ja hauskoja leikkiä!), Voit tarkistaa DAC: n ulostulon lataamalla DAC -kirjastoasennukseen sisältyvän esimerkin kolmioaaltogeneraattorista.
Muista, että kun optoerotin on liitetty arduino -korttisi RX -tuloon, et voi ladata uutta luonnosta !! Aseta kytkin (se voi olla yksinkertainen hyppyjohdin) RX -nastan eteen.
Useimmat näistä testiluonnoksista eivät ole minun tai ainakin perustuvat olemassa olevaan verkkomateriaaliin.
Tämä asia kuulostaa minusta epäreilulta !?
Tämä ei ole todellinen ongelma: Hz/V -ohjaukseen johdettu yhtälö on "ihanteellinen". Jotkut poikkeamat ihanteellisesta käyttäytymisestä voivat nousta toimittamastasi +5 V: sta, ei 5.000 V: sta, DAC: sta ja laitteesta. Ratkaistaksesi sinun on toimittava syntetisaatio-/hienosäätöpotentiometrilläsi ja "voilà" täydellisesti viritetyllä MIDI -säätimellä;)
Vaihe 7: Hyödyllisiä linkkejä
en.wikipedia.org/wiki/CV/gate
www.instructables.com/id/Lähetä ja vastaanota-…
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
Suositeltava:
Toinen enimmäkseen 3D -tulostettu kiertokytkin: 7 vaihetta (kuvilla)
Toinen lähinnä 3D -tulostettu kiertokytkin: Hetki sitten loin lähinnä 3D -tulostetun kiertokytkimen erityisesti Minivac 601 Replica -projektilleni. Uutta Think-a-Tron 2020 -projektiani varten tarvitsen vielä yhden kiertokytkimen. Etsin SP5T -paneeliasennuskytkintä. Lisäys
PIWOOLET (Pi.WOOd.tabLET): Vain toinen PI -tabletti: 10 vaihetta (kuvilla)
PIWOOLET (Pi.WOOd.tabLET): Vain toinen PI -tabletti: Johdanto - miksi tajusin sen? Vastaus on niin yksinkertainen: huvin vuoksi :-) Muutamat päätavoitteistani ovat HDMI -portin käyttömahdollisuus; säilyttää pääsy äänilähtöön; säilyttää pääsy GPIO: han; ylläpitää pääsyä vähintään yhteen USB -porttiin. BOM Rasp
Toinen Pi seinällä: 16 vaihetta (kuvilla)
Toinen Pi seinällä: Tämä opettavainen opetusohjelma näyttää, kuinka voit rakentaa NAS-verkon (verkkoon liitetyn tallennustilan) käyttämällä Raspberry Pi -laitetta (RasPi) ja kahta kiintolevyä. Tämän opetusohjelman on tarkoitus antaa sinulle yksityiskohtaiset ohjeet RasPi -laitteen, kahden kiintolevyn ja koko virtalähteen asentamisesta
64 pikselin RGB -LED -näyttö - toinen Arduino -klooni: 12 vaihetta (kuvilla)
64 pikselin RGB -LED -näyttö - toinen Arduino -klooni: Tämä näyttö perustuu 8 x 8 RGB -LED -matriisiin. Testaustarkoituksiin se liitettiin tavalliseen Arduino -korttiin (Diecimila) käyttäen 4 vuororekisteriä. Kun sain sen toimimaan, permalisin sen nystyyn piirilevyyn. Vuororekisterit ovat 8-bittisiä ja
Toinen kannettavan tietokoneen teline (otro Soporte Para Notebook): 4 vaihetta (kuvilla)
Toinen kannettavan tietokoneen teline (otro Soporte Para Notebook): 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). Anna minulle h