Sisällysluettelo:

Toinen MIDI -CV -laatikko: 7 vaihetta (kuvilla)
Toinen MIDI -CV -laatikko: 7 vaihetta (kuvilla)

Video: Toinen MIDI -CV -laatikko: 7 vaihetta (kuvilla)

Video: Toinen MIDI -CV -laatikko: 7 vaihetta (kuvilla)
Video: ❓Как вас заставляют делать то, что ОН хочет? ⚠️7 Основных Приемов Манипулятора❗Анна Богинская 2024, Marraskuu
Anonim
Toinen MIDI -CV -laatikko
Toinen MIDI -CV -laatikko

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

Komponenttiluettelo
Komponenttiluettelo
Komponenttiluettelo
Komponenttiluettelo
Komponenttiluettelo
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

Liitännät/Kaaviot
Liitännät/Kaaviot
Liitännät/Kaaviot
Liitännät/Kaaviot
Liitännät/Kaaviot
Liitännät/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

Ohjelmisto
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: