Kazalo:

Še en okvir MIDI do CV: 7 korakov (s slikami)
Še en okvir MIDI do CV: 7 korakov (s slikami)

Video: Še en okvir MIDI do CV: 7 korakov (s slikami)

Video: Še en okvir MIDI do CV: 7 korakov (s slikami)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, November
Anonim
Še en MIDI v CV Box
Še en MIDI v CV Box

Še en MIDI to CV box je projekt, ki sem ga razvil, ko mi je Korg MS10 potrkal na vrata in se je zgodil v mojem studiu. Ker je moja nastavitev v veliki meri povezana z MIDI -jem za avtomatizacijo in sinhronizacijo vseh instrumentov, je bila pri nakupu MS10 prva težava, s katero sem se moral soočiti, kako izvesti takšen nadzor.

Korg MS20/10 niso najlažji sintetizatorji za izvajanje MIDI: najprej se zanašajo na nadzor Hz/V (linearna korelacija med krmilno napetostjo in notno frekvenco), namesto na okt/V (1 V na oktavo); drugič, če želite sprožiti opombo, morate poslati negativni signal vrat in kratek vhod na zemljo (S-Trig), ne pa signal +5 V (V-trig).

Dandanes obstajajo različne komercialne rešitve za nadzor takšnih inštrumentov (npr. Arturia Beatstep Pro, Korg SQ-1, Kenton Solo), vendar sem poceni baraba in celo 100 evrov je preveč za "ne zvenečo" napravo:).

Tu smo: naj vam pokažem, kako sestaviti nizkoproračunski MIDI do CV box za nadzor/avtomatizacijo višine, vrat, hitrosti in mejne frekvence pred MIDI sintetizatorja z zunanjim krmilnikom MIDI (tipkovnica, DAW, sekvencer ali karkoli).

"Kaj pa novi MS20 mini?"

Kot skoraj vsak ve, je novi MS20 pravzaprav pripravljen za MIDI: IN s 5 -polnim MIDI priključkom in IN/OUT s priključkom USB.

"Torej, če imam MS20 mini, je ta stvar neuporabna!"

No, ne. MS20 mini prepozna samo sporočila o vklopu/izklopu opombe, tipkovnica pa ni občutljiva na hitrost. Z vintage ali mini tipkovnico MS10/20 tega ne morete premagati, vendar ste z midi boxom in tipkovnico, občutljivo na hitrost, zlati. Poleg tega lahko z ohišjem MIDI avtomatizirate izklop filtra (ali kateri koli drug parameter, ki ga lahko nadzoruje napetost) ali pa ga modulirate z vhodno opombo o hitrosti MIDI. Še enkrat, edini MIDI kanal, na katerega se odziva MS20 mini, je kanal 1. S tem okvirjem lahko presežete tudi to mejo.

"Kaj pa, če imam sintetizator Oct/V?"

Ni problema! Koda, ki sem jo napisal, je združljiva s sintetizatorji Oct/V (nepreverjeno, vendar sem prepričan, da bo delovalo brez škatle;)).

Korak 1: !! Opomba - omejitev odgovornosti !

Vaša oprema je zelo dragocena in je ne smete uporabljati za opravljanje preskusov.

Igranje z električno energijo lahko močno poškoduje vašo opremo ali pa se poškodujete.

Ne morem biti odgovoren za škodo na vaši opremi/strojni opremi ali celo za vas, ki izhaja iz katere koli programske opreme ali shem ali informacij ali povezav, ki sem jih navedel v tem navodilu.

Bili ste opozorjeni!

2. korak: Inženiring strojne opreme

Arduino je koristen pri obravnavi takih projektov. Obstoj velike skupnosti in zelo dobrih knjižnic, ki obsegajo skoraj vsako skupno nalogo, so prava izbira. Tu bo plošča programirana tako, da bo prebrala dohodne podatke MIDI in nato poslala ustrezne napetosti za pogon:

- Nagib, s pretvorbo izhoda pwm v analogno napetost za pogon VCO prek digitalno -analognega pretvornika (DAC)

- Velocity, s filtriranjem izhoda pwm za pogon VCA s preprostim RC filtrom

- Frekvenco mejne vrednosti filtra s filtriranjem izhoda pwm za pogon VCF s preprostim filtrom RC

- Vrata, neposredno iz digitalnega izhoda v primeru V-trig (postavite 1Kohm zaporedno z izhodom, da zmanjšate odtok toka) ali s preprostim tranzistorskim stikalom pnp iz digitalnega izhoda (glejte shemo, priloženo koraku sheme).

Arduino ne more oddajati enakomernih napetosti, vendar impulze 0/+5 V z različnimi obdobji (PWM). Potrebujemo digitalno -analogne pretvornike (DAC) za razvodnik. RC filtri so najlažji DAC, ki si jih lahko zamislim. RC filter je dovolj za napetostno reguliran ojačevalnik in filter (VCA in VCF). RC filtri so prilagojeni tako, da imajo mejno frekvenco <20Hz (najnižja zvočna frekvenca).

Naredil sem nekaj preizkusov z nepolariziranimi kondenzatorji majhne kapacitete in končal z vrednostjo kapacitete 0,1 uF, da bi se najbolje prilegal. Dobro preizkušeno na MS20 MKII.

Žal se ne moremo zanašati na RC filter za pogon napetostno nadzorovanega oscilatorja (VCO), ker ne bi bil dovolj natančen (v lestvici Hz/V se na spodnjem koncu dva adiacend poltona razlikujeta za manj kot 0,02 V; v V /okt se dva sosednja poltona razlikujeta za 0,083 V); za to bomo uporabili IC DAC (MPC4725).

Znane meje

Z omejevanjem pogonske napetosti na 5V (izhodna napetost Arduino) je hitrost zajeta v celotnem območju od 0 do 5V; meja je polovično pokrita (-5V do +5V); območje VCO je delno zajeto, saj bi bila v Hz/V potrebna napetost 8 V, da doseže A4 440 Hz. Z izhodno mejo 5 V lahko oscilator nastavimo do frekvence D4 v Hz/V.

3. korak: Seznam komponent

Seznam komponent
Seznam komponent
Seznam komponent
Seznam komponent
Seznam komponent
Seznam komponent

Potrebujete:

1X Arduino UNO (ali nano)

1X plošča DAC MPC4725

4X 1/8 "ali 1/4" mono konektorji

1X MIDI priključek

1X optični sklopnik 6N138

1X 1N4148 dioda

1X 220 ohm 1/4 W upor

1X 470 ohm 1/4 W upor

1X 10K ohm 1/4 W upor

4X 1K ohm 1/4 W upor

2X 0,1 uF kondenzator

1X BC547 pnp tranzistor (v primeru S-trig)

1 x ABS škatla (najmanj 55 x 70 x 100 mm)

… In očitno plošča ali plošča, spajkalnik, spajkalna žica in kabli (2 metra 28 AWG mora biti dovolj).

Upoštevajte, da na zgornjih slikah moj prototip nosi 100 uF elektrolitskih pokrovčkov, vendar so prepočasni zaradi časa polnjenja zmogljivosti. Kapaciteta 0,1 uF je prava izbira.

Za napajanje arduina sem uporabil dodatni priključek; mikrokontrolerja ni treba sočiti neposredno prek vgrajenega mini USB priključka.

4. korak: Povezave/sheme

Povezave/Sheme
Povezave/Sheme
Povezave/Sheme
Povezave/Sheme
Povezave/Sheme
Povezave/Sheme

MIDI VHOD

Vezje MIDI IN je preprosto in dobro opisano na internetu. Na primer, vzemite to odlično navodilo za MIDI in Arduino, ki ga je napisala Amanda Gassaei. Vseeno sem naredil n -to shemo.

Upoštevajte, da sem v shemo MIDI IN (stikalo 1) dodal stikalo: to je potrebno pri nalaganju nove skice v Arduino, ker opto moti linijo RX tudi brez dohodnih midi sporočil. Pred nalaganjem skice morate odpreti stikalo, sicer IDE ne bo naložil nove skice.

Skico lahko sčasoma spremenite tako, da uporabite komunikacijo s serijsko programsko opremo.

DAC, RC filter, sintetizator

Priključki za DAC, RC filtre in Synth (višina, vrata in hitrost) so prikazani na diagramu na vrhu. Za referenco sem vzel patch panel Korg MS20, vendar sem vse preizkusil tudi na MS10. Neposredna povezava hitrostnega CV -ja s priključno točko VCA "začetni dobiček" nima učinka (to moram še kopati), če pa jo povežete s "skupno" točko popravka in povečate skupne zunanje lončke (MG/T. EXT), boste slišali lepe variacije tonov v odvisnosti od hitrosti note.

Moje sheme (in tudi moj prototip) ne uporabljajo tokovnega omejevalnega upora na izhodu DAC, vendar je vedno dobro, da ga namestite, da zagotovite dolgo življenjsko dobo vezja. 220 ohmov upor bo dovolj.

Upoštevajte, da je v shemah prikazanih več kot 100 uF elektrolitskih omejitev, vendar so zaradi časa polnjenja zmogljivosti prepočasne. Nepolarizirane kape 0,1uF so prava izbira.

Gate Out

V primeru, da boste sekvencirali sintetizator, združljiv s signali V-Trig (napetostni sprožilec), bo zadosten upor serije 1k ohm za zmanjšanje odtoka toka; v primeru sintetizatorja S-Trig (sprožilec stikala) lahko uporabite preprosto vezje stikala PNP (glejte priloženo shemo).

5. korak: programska oprema

Programska oprema
Programska oprema

Skico sem poskušal ohraniti čim bolj jasno in "berljivo".

Delal sem na preprostem listu kalkulatorjev, ki sem ga našel TUKAJ, da izpeljem krivuljo napetosti V opombe# in neposredno uporabim enačbo v mikrokrmilniku. Enačba je prikazana v grafu na vrhu. Uporabil sem C2 kot referenčno noto, da sem dobil notno napetostno razmerje, skladno z Arp/Korg (C0 - 0,25 V, C1 - 0,5 V, C2 - 1 V, C3 - 2 V, C4 - 4 V, C5 - 8 V itd.).

Moral sem določiti neko spremenljivko, s katero bi se igral, da bi lahko dobro uglasil … vzemite si čas, da poiščete pravilne vrednosti. Tuner je potreben.

Povečali bomo frekvenco pwm časovnika/števca, da bi zmanjšali valovanje izhodnih napetosti (tako enostavno kot vrstica kode).

Da bi bila koda odzivna na dohodne bajte, se koda močno opira na povratne klice funkcij.

Potrebujete zbirke Sparkfun "Adafruit_MCP4725.h" in Forty Seven Effects/Francois Best's "MIDI.h"! (Najlepša hvala tem osebam: brez njihovega truda ta projekt nikoli ne bi bil uresničen!).

Predvidevam, da imate v računalniku pripravljen Arduino IDE in veste, kako naložiti skico na ploščo Arduino.

V resničnem življenju nisem koder, zato je zelo verjetno, da bi lahko skico napisali na boljši način. Odprta sem za predloge (vedno se kaj naučim ob pogledu kode koderja;))

Dodatne opombe so zapisane v spodnji kodi. Namestite dve knjižnici, odprite priloženo kodo v IDE -ju, povežite ploščo, izberite vrsto plošče in naložite.

6. korak: Odpravljanje težav

Tudi če je projekt na nizki ravni, bi bilo lahko veliko stvari narobe. Če imate težave pri ustvarjanju lastnega polja MIDI v življenjepis, sledite tem korakom:

1. Prepričajte se, da Arduino pravilno sprejema sporočila MIDI

Preverite izhodni kanal, na katerega tipkovnica ali DAW ali zaporedje oddaja MIDI sporočila. Arduino privzeto posluša 1. kanal. Naložite »TEST_MIDI_IN.ino«, če želite prebrati dohodno sporočilo noteON.

2. Dvakrat preverite ožičenje

… ali še bolje: trikrat jih preverite! Vzemite si čas za to.

3. Preverite naslov in izhod DAC

DAC bi lahko nastavili tako, da sprejema podatke na drugem naslovu kot tisti, ki sem ga nastavil na skici. Naslov preverite tako, da zaženete »I2C_scanner.ino«. Če pride do napake »naprava ni najdena«, preverite ožičenje DAC (vhodi SDA in SCL so različni na različnih ploščah Arduino!). Če imate oscilokop (tudi tisti 15 -evrski digitalni osciloskopi so dovolj … in zabavni pri igranju!), Lahko preverite izhod svojega DAC -ja tako, da naložite primer generatorja trikotnikov, ki je priložen namestitvi knjižnice DAC.

Ne pozabite, da ko je optični sklopnik priključen na vhod RX vaše arduino plošče, ne boste mogli naložiti nove skice !! Pred zatičem RX postavite stikalo (lahko je preprost mostiček).

Večina teh preskusnih skic ni mojih ali vsaj temelji na obstoječem spletnem gradivu.

To se mi sliši neskladno !?

To ni resnično vprašanje: enačba, ki izhaja za upravljanje Hz/V, je "idealna". Nekaj odmika od idealnega vedenja se lahko dvigne od +5V, ki ga dobavljate, ne pa 5.000V, od DAC -ja in od samega instrumenta. Če želite rešiti, morate delovati s potenciometrom za sinhronizacijo/fino nastavitev in "voilà" popolnoma nastavljen MIDI nadzor;)

7. korak: Koristne povezave

en.wikipedia.org/wiki/CV/gate

www.instructables.com/id/Send-and-Receive-…

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

Priporočena: