Satura rādītājs:
- 1. solis: !! Piesardzības piezīme - atruna
- 2. darbība. Aparatūras projektēšana
- 3. darbība: komponentu saraksts
- 4. darbība. Savienojumi/shēmas
- 5. solis: programmatūra
- 6. darbība: problēmu novēršana
- 7. darbība: noderīgas saites
Video: Vēl viens MIDI CV kods: 7 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:52
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
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
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
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:
Vēl viens galvenokārt 3D drukāts rotācijas slēdzis: 7 soļi (ar attēliem)
Vēl viens galvenokārt 3D drukāts rotācijas slēdzis: kādu laiku atpakaļ es izveidoju galvenokārt 3D drukātu rotējošu slēdzi, kas īpaši paredzēts manam Minivac 601 Replica projektam. Manam jaunajam Think-a-Tron 2020 projektam man ir vajadzīgs vēl viens rotējošs slēdzis. Es meklēju SP5T paneļa stiprinājuma slēdzi. Papildinājums
Roberts RM33 Raspberry Pi interneta radio (vēl viens ): 8 soļi (ar attēliem)
Roberts RM33 Raspberry Pi interneta radio (vēl viens …): Jā, tā ir vēl viena Raspberry Pi interneta radio versija, un tā nav arī mana pirmā. Es neesmu pārliecināts, kāpēc šī būve joprojām ir tik populāra, taču es joprojām to izbaudu un nevaru teikt, ka šī būšot arī mana pēdējā. Man ļoti patīk Roberta izskats
Vēl viens Nixie pulkstenis: 6 soļi (ar attēliem)
Vēl viens Nixie pulkstenis: Es vienmēr esmu gribējis nixie pulksteni, ir tikai kaut kas šajos kvēlojošajos skaitļos, kas mani aizrauj. Tātad, kad ebay atradu dažus ne pārāk dārgus IN12, es tos nopirku, brīnījos par tiem, kad tos saņēmu, bet drīz atklāju, ka, lai
Vēl viens pi uz sienas: 16 soļi (ar attēliem)
Vēl viens Pi uz sienas: šī pamācība parāda, kā izveidot NAS (tīklam pievienotu krātuvi), izmantojot Raspberry Pi (RasPi) un divus HDD. Šī apmācība ir paredzēta, lai sniegtu jums detalizētus norādījumus par to, kā uzstādīt RasPi, divus HDD un visu barošanas avotu
Y.A.I.A. - Vēl viens iPod pastiprinātājs: 6 soļi (ar attēliem)
Y.A.I.A. - Vēl viens iPod pastiprinātājs: Šis ir vēl viens iPod pastiprinātājs, taču tas izmanto veco datora skaļruni un CDR korpusu