Satura rādītājs:

Vēl viens MIDI CV kods: 7 soļi (ar attēliem)
Vēl viens MIDI CV kods: 7 soļi (ar attēliem)

Video: Vēl viens MIDI CV kods: 7 soļi (ar attēliem)

Video: Vēl viens MIDI CV kods: 7 soļi (ar attēliem)
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Novembris
Anonim
Vēl viena MIDI uz CV kaste
Vēl viena MIDI uz CV kaste

Vēl viena MIDI uz CV kaste ir projekts, kuru es izstrādāju, kad Korg MS10 pieklauvēja pie manām durvīm un notika manā studijā. Tā kā mana iestatīšana lielā mērā ir saistīta ar MIDI, lai automatizētu un sinhronizētu visus instrumentus, iegādājoties MS10, pirmā problēma, ar kuru man nācās saskarties, bija šādas kontroles ieviešana.

Korg MS20/10 nav visvieglāk sintezatori MIDI ieviešanai: pirmkārt, tie paļaujas uz Hz/V vadību (lineāra korelācija starp vadības spriegumu un piezīmju frekvenci), nevis okt/V (1V uz oktāvu); otrkārt, lai aktivizētu piezīmi, jums jānosūta negatīvs vārtu signāls un jāsaīsina ieeja zemē (S-Trig), nevis +5 V signāls (V-trig).

Mūsdienās ir dažādi komerciāli risinājumi, kā kontrolēt šādus instrumentus (t.i., Arturia Beatstep Pro, Korg SQ-1, Kenton Solo), bet es esmu lēts nelietis un pat 100 eiro ir pārāk daudz par “neskanošu” ierīci:).

Šeit mēs esam: ļaujiet man parādīt, kā izveidot neliela budžeta MIDI uz CV lodziņu, lai kontrolētu/automatizētu iepriekš MIDI sintezatora piķi, vārtus, ātrumu un izslēgšanas frekvenci ar ārēju MIDI kontrolieri (tastatūra, DAW, sekvence vai kāds cits).

"Kā ir ar jauno MS20 mini?"

Kā gandrīz ikviens zina, jaunais MS20 faktiski ir gatavs MIDI: IN ar 5 polu MIDI savienotāju un IN/OUT ar USB savienotāju.

"Tātad, ja man ir MS20 mini, šī lieta ir bezjēdzīga!"

Nē. MS20 mini atpazīst tikai piezīmju ieslēgšanas/izslēgšanas ziņojumus, un tastatūra nav jutīga pret ātrumu. To nav iespējams pārvarēt ar MS10/20 vintage vai mini tastatūru, bet ar midi lodziņu un ātruma jutīgu tastatūru jūs esat zeltaini. Turklāt ar MIDI lodziņu jūs varat automatizēt filtra izslēgšanu (vai jebkuru citu sprieguma regulējamu parametru) vai arī to modulēt, izmantojot ienākošo MIDI piezīmi par ātrumu. Atkal vienīgais MIDI kanāls MS20 mini reaģē uz 1. kanālu. Ar šo lodziņu jūs varat pārvarēt arī šo ierobežojumu.

"Ko darīt, ja man ir Oct/V sintezators?"

Nekādu problēmu! Kods, ko es uzrakstīju, ir savietojams ar Oct/V sintezatoriem (nepārbaudīts, bet esmu pārliecināts, ka tas darbosies uzreiz;)).

1. solis: !! Piesardzības piezīme - atruna

Jūsu aprīkojums ir ļoti vērtīgs, un to nevajadzētu izmantot testu veikšanai.

Spēlēšanās ar elektrību var nopietni sabojāt jūsu aprīkojumu vai kaitēt sev.

Es nevaru būt atbildīgs par jūsu aprīkojuma/aparatūras vai pat jūsu bojājumiem, kas radušies no programmatūras vai shēmām vai informācijas vai saitēm, par kurām es norādīju šajā pamācībā.

Tu esi ticis brīdināts!

2. darbība. Aparatūras projektēšana

Arduino ir noderīgs, risinot šādus projektus. Lielas kopienas esamība un ļoti labas bibliotēkas, kas aptver gandrīz visus kopīgos uzdevumus, padara to par pareizo izvēli. Šeit tāfele tiks ieprogrammēta tā, lai tā nolasītu ienākošos MIDI datus un pēc tam nosūtītu piedziņai atbilstošu spriegumu:

- Pitch, pārveidojot pwm izeju par analogo spriegumu, lai vadītu VCO, izmantojot digitālo analogo pārveidotāju (DAC)

- Ātrums, filtrējot pwm izeju, lai vadītu VCA ar vienkāršu RC filtru

- Filtra izslēgšanas frekvence, filtrējot pwm izeju, lai vadītu VCF ar vienkāršu RC filtru

- Vārti, tieši no digitālās izejas V-trig gadījumā (sērijveidā ievietojiet 1Kohm ar izeju, lai samazinātu strāvas aizplūšanu) vai ar vienkāršu pnp tranzistora slēdzi no digitālās izejas (skatiet shēmu, kas pievienota shēmas solim).

Arduino nespēj izvadīt tieši nemainīgu spriegumu, bet 0/+5 V impulsus ar dažādiem periodiem (PWM). Mums ir vajadzīgi digitālie analogie pārveidotāji (DAC) ielejšanai. RC filtri ir vienkāršākais DAC, kādu es varu iedomāties. RC filtrs ir pietiekams sprieguma kontrolētam pastiprinātājam un filtram (VCA un VCF). RC filtri ir pielāgoti tā, lai izslēgšanas frekvence būtu <20Hz (zemākā dzirdamā frekvence).

Es veicu kādu pārbaudi ar zemas ietilpības nepolāriem kondensatoriem, un es beidzu ar jaudas vērtību 0,1uF, lai tā būtu vislabāk piemērota. Pārbaudīts labi, izmantojot MS20 MKII.

Diemžēl mēs nevaram paļauties uz RC filtru, lai darbinātu sprieguma kontrolēto oscilatoru (VCO), jo tas nebūtu pietiekami precīzs (Hz/V skalā, apakšējā galā divi adiacend pustoņi atšķiras mazāk par 0,02 V; V /oktobris divi pieguļošie pustoņi atšķiras par 0,083 V); mēs šim nolūkam izmantosim IC DAC (MPC4725).

Zināmās robežas

Ierobežojot piedziņas spriegumu līdz 5 V (Arduino izejas spriegums), ātrums tiek pārklāts pilnā diapazonā no 0 līdz 5 V; griezums ir daļēji pārklāts (-5V līdz +5V); VCO diapazons ir daļēji aptverts, jo Hz/V spriegums ir 8 V, lai sasniegtu 440 Hz A4. Ar 5V izejas robežu mēs varam pacelt oscilatoru līdz D4 frekvencei Hz/V.

3. darbība: komponentu saraksts

Sastāvdaļu saraksts
Sastāvdaļu saraksts
Sastāvdaļu saraksts
Sastāvdaļu saraksts
Sastāvdaļu saraksts
Sastāvdaļu saraksts

Jums ir nepieciešams:

1X Arduino UNO (vai nano)

1X MPC4725 DAC plate

4X 1/8 "vai 1/4" mono savienotāji

1X MIDI savienotājs

1X 6N138 optronis

1X 1N4148 diode

1X 220 omu 1/4 W rezistors

1X 470 omi 1/4 W rezistors

1X 10K omu 1/4 W rezistors

4X 1K omi 1/4 W rezistors

2X 0,1 uF kondensators

1X BC547 pnp tranzistors (S-trig gadījumā)

1X ABS kaste (vismaz 55 x 70 x 100 mm)

… Un acīmredzot maizes dēlis vai perforators, lodāmurs, lodmetāls un vadi (pietiek ar 2 metriem 28 AWG).

Ievērojiet, ka attēlos virs mana prototipa ir uzstādīti 100 uF elektrolītiskie vāciņi, taču tie ir pārāk lēni jaudas uzlādes laika dēļ. Pareiza izvēle ir 0,1uF kapacitāte.

Es izmantoju papildu savienotāju, lai barotu savu arduino; nav nepieciešams izspiest mikrokontrolleru tieši, izmantojot iebūvēto mini USB savienotāju.

4. darbība. Savienojumi/shēmas

Savienojumi/shēmas
Savienojumi/shēmas
Savienojumi/shēmas
Savienojumi/shēmas
Savienojumi/shēmas
Savienojumi/shēmas

MIDI IN

MIDI IN ķēde ir vienkārša un labi aprakstīta tīklā. Piemēram, ņemiet vērā šo lielisko pamācību MIDI un Arduino, ko veidojusi Amanda Gassaei. Jebkurā gadījumā es izveidoju n -to shēmu šajā jautājumā.

Ņemiet vērā, ka es pievienoju slēdzi MIDI IN shēmā (1. slēdzis): tas ir nepieciešams, augšupielādējot jaunu skici Arduino, jo opto traucē RX līnijai pat bez ienākošiem midi ziņojumiem. Pirms skices augšupielādes jums ir jāatver slēdzis, pretējā gadījumā IDE neizdosies augšupielādēt jauno skici.

Jūs galu galā varat mainīt skici, lai izmantotu sērijas programmatūras sakarus.

DAC, RC filtrs, sintezators

Savienojums DAC, RC filtriem un Synth (solis, vārti un ātrums) ir parādīts diagrammā augšpusē. Paņēmu atsaucei Korg MS20 plākstera paneli, bet visu pārbaudīju arī uz MS10. Tiešam ātruma CV savienojumam ar VCA "sākotnējā pastiprinājuma" plākstera punktu nav nekādas ietekmes (man šī lieta ir jāizrok tālāk), bet, ja jūs to pievienojat "Kopējam" plākstera punktam un palieliniet kopējos ārējos podus (MG/T. EXT), jūs dzirdēsit jaukas toņu variācijas atkarībā no notu ātruma.

Manas shēmas (un arī mans prototips) neizmanto strāvas ierobežošanas rezistoru DAC izejā, taču vienmēr ir laba ideja to novietot, lai nodrošinātu ķēdēm ilgu kalpošanas laiku. Pietiks ar 220 omu rezistoru.

Ņemiet vērā, ka shēmās virs 100 uF ir norādīti elektrolītiskie vāciņi, taču tie ir pārāk lēni jaudas uzlādes laika dēļ. Nepolarizēti, 0.1uF vāciņi ir pareizā izvēle.

Vārti ārā

Gadījumā, ja jūs gatavojaties secīgi sintezēt ar V-Trig (sprieguma sprūda) signāliem, pietiek ar 1k omu sērijas rezistoru, lai samazinātu strāvas aizplūšanu; S-Trig (slēdža sprūda) sintezētāja gadījumā varat izmantot vienkāršu PNP slēdža ķēdi (skat. pievienoto shēmu).

5. solis: programmatūra

Programmatūra
Programmatūra

Es centos saglabāt skici pēc iespējas skaidrāku un "lasāmāku".

Es strādāju pie vienkāršas aprēķina lapas, kuru atradu ŠEIT, lai iegūtu sprieguma Vs piezīmes# līkni un tieši izmantotu vienādojumu mikrokontrollerī. Vienādojums ir parādīts diagrammā augšpusē. Es izmantoju C2 kā atsauces piezīmi, lai iegūtu Arp/Korg saderīgu Voltage Vs piezīmju attiecību (C0 - 0,25V, C1 - 0,5V, C2 - 1V, C3 - 2V, C4 - 4V, C5 - 8V un tā tālāk).

Man bija jādefinē rotaļlietai kāds mainīgais, lai labi noregulētu … veltiet laiku, lai atrastu pareizās vērtības. Ir nepieciešams skaņotājs.

Mēs palielināsim taimera/skaitītāja pwm frekvenci, lai samazinātu izejas sprieguma viļņošanos (tikpat viegli kā koda rindiņa).

Lai kods reaģētu uz ienākošajiem baitiem, kods lielā mērā ir atkarīgs no funkciju atzvanīšanas.

Jums ir jāapkopo Sparkfun "Adafruit_MCP4725.h" un četrdesmit septiņi efekti/Francois Best "MIDI.h" bibliotēkas! (Liels paldies šīm personām: bez viņu pūlēm šis projekts nekad netiktu realizēts!).

Es pieņemu, ka jūsu datorā ir gatavs Arduino IDE un jūs zināt, kā ielādēt skici savā Arduino panelī.

Es reālajā dzīvē neesmu kodētājs, tāpēc ļoti iespējams, ka skici varētu uzrakstīt labāk. Es esmu atvērts ieteikumiem (vienmēr uzzinu kaut ko, skatoties uz kodētāja kodu;))

Papildu piezīmes ir ierakstītas zemāk esošajā kodā. Instalējiet abas bibliotēkas, atveriet pievienoto kodu savā IDE, pievienojiet tāfeli, izvēlieties tāfeles veidu un augšupielādējiet.

6. darbība: problēmu novēršana

Pat ja projekts ir zems, ir daudz lietu, kas varētu noiet greizi. Ja, mēģinot izveidot savu MIDI uz CV lodziņu, rodas problēmas, rīkojieties šādi:

1. Pārliecinieties, vai Arduino pareizi saņem MIDI ziņojumus

Pārbaudiet izvadkanālu, uz kuru tastatūra, DAW vai sekvenceris izvada MIDI ziņojumus. Arduino pēc noklusējuma klausās 1. kanālu. Augšupielādējiet “TEST_MIDI_IN.ino”, lai izlasītu ienākošo piezīmes ziņojumu.

2. Vēlreiz pārbaudiet vadus

… Vai vēl labāk: pārbaudiet tos trīs reizes! Atvēliet tam laiku.

3. Pārbaudiet DAC adresi un izvadi

DAC varētu iestatīt tā, lai saņemtu datus uz citu adresi, nevis to, kuru es iestatīju skicē. Pārbaudiet adresi, palaižot "I2C_scanner.ino". Ja rodas kļūda "ierīce nav atrasta", pārbaudiet savu DAC vadu (SDA un SCL ieejas dažādās Arduino plates ir atšķirīgas!). Ja jums ir oscilokops (pat šie 15 eiro digitālie osciloskopi ir pietiekami labi un ar tiem ir jautri rotaļāties!), Varat pārbaudīt sava DAC izvadi, augšupielādējot trīsstūra viļņu ģeneratora piemēru, kas iekļauts DAC bibliotēkas instalācijā.

Atcerieties, ka tad, kad optiskais savienotājs ir pievienots jūsu arduino plates RX ieejai, jūs nevarēsit augšupielādēt jaunu skici !! Novietojiet slēdzi (tas varētu būt vienkāršs džemperis) pirms RX tapas.

Lielākā daļa no šīm testa skicēm nav manas vai vismaz balstītas uz esošo tiešsaistes materiālu.

Šī lieta man izklausās nesakārtota !?

Tas nav reāls jautājums: vienādojums, kas iegūts Hz/V kontrolei, ir "ideāls". Dažas novirzes no ideālas uzvedības var pieaugt no piegādātā +5 V, nevis no 5000 V, no DAC un paša instrumenta. Lai atrisinātu, jums jārīkojas, izmantojot sintezēšanas/smalkas noskaņošanas potenciometru un "voilà" perfekti noregulētu MIDI vadību;)

7. darbība: noderīgas saites

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

Ieteicams: