Obsah:

Ďalší box MIDI do CV: 7 krokov (s obrázkami)
Ďalší box MIDI do CV: 7 krokov (s obrázkami)

Video: Ďalší box MIDI do CV: 7 krokov (s obrázkami)

Video: Ďalší box MIDI do CV: 7 krokov (s obrázkami)
Video: 10 návyků, jak být šťastný 2024, Júl
Anonim
Ďalší MIDI to CV Box
Ďalší MIDI to CV Box

Ďalší MIDI to CV box je projekt, ktorý som vyvinul, keď mi Korg MS10 zaklopal na dvere a konal sa v mojom štúdiu. Keďže moje nastavenie do značnej miery súvisí s MIDI na automatizáciu a synchronizáciu všetkých nástrojov, keď som si kúpil MS10, prvým problémom, s ktorým som sa musel stretnúť, bolo, ako implementovať také ovládanie.

Korg MS20/10 nie sú najľahšie syntetizátory na implementáciu MIDI: v prvom rade sa spoliehajú na ovládanie Hz/V (lineárna korelácia medzi riadiacim napätím a frekvenciou noty), namiesto okt/V (1 V na oktávu); za druhé, aby ste spustili notu, musíte poslať negatívny signál brány a skratovať vstup na zem (S-Trig), nie na signál +5 V (V-trig).

V dnešnej dobe existujú rôzne komerčné riešenia na ovládanie takýchto nástrojov (t. J. Arturia Beatstep Pro, Korg SQ-1, Kenton Solo), ale ja som lacný bastard a aj 100 eur je na „neznejúce“zariadenie priveľa:).

Tu sme potom: ukážem vám, ako vytvoriť nízkorozpočtový box MIDI na CV na ovládanie/automatizáciu výšky, brány, rýchlosti a medznej frekvencie syntetizátora pred MIDI pomocou externého ovládača MIDI (klávesnica, DAW, sekvencer alebo čokoľvek).

„A čo nový MS20 mini?“

Ako takmer každý vie, nový MS20 je v skutočnosti pripravený na MIDI: IN s 5 -pólovým MIDI konektorom a IN/OUT s USB konektorom.

„Takže ak mám MS20 mini, táto vec je zbytočná!“

No nie MS20 mini rozpoznáva iba správy o zapnutí/vypnutí poznámok a klávesnica nie je citlivá na rýchlosť. S vintage alebo mini klávesnicou MS10/20 to nemôžete prekonať, ale s midi boxom a klávesnicou citlivou na rýchlosť ste zlatí. Navyše, pomocou MIDI boxu môžete automatizovať prerušenie filtra (alebo akýkoľvek iný parameter ovládateľný napätím) alebo ho nechať modulovať prichádzajúcou MIDI poznámkou o rýchlosti. Opäť platí, že jediný MIDI kanál, na ktorý MS20 mini reaguje, je kanál 1. S týmto boxom môžete prekonať aj túto hranicu.

„Čo keď mám syntetizátor Oct/V?“

Žiaden problém! Kód, ktorý som napísal, je kompatibilný so syntetizátormi Oct/V (nevyskúšaný, ale som si istý, že bude fungovať bez obalu;)).

Krok 1: !! Upozornenie - Vylúčenie zodpovednosti !

Vaše zariadenie je veľmi cenné a nemalo by sa používať na vykonávanie testov.

Hranie sa s elektrickou energiou môže vážne poškodiť vaše zariadenie alebo ublížiť sebe.

Nemôžem niesť zodpovednosť za škody na vašom zariadení/hardvéri alebo dokonca na vás, ktoré vzniknú v dôsledku akéhokoľvek softvéru alebo schém, informácií alebo odkazov, ktoré som uviedol v tomto návode.

Bol si varovaný!

Krok 2: Inžinierstvo hardvéru

Arduino príde vhod pri riešení takýchto projektov. Existencia veľkej komunity a veľmi dobrých knižníc, ktoré pokrývajú takmer všetky bežné úlohy, z nej robia správnu voľbu. Tu bude doska naprogramovaná tak, že bude čítať prichádzajúce MIDI údaje a potom pošle na napätie vhodné napätie:

- Rozteč, prevádzaním výstupu pwm na analógové napätie na pohon VCO prostredníctvom prevodníka digitálneho signálu na analógový (DAC)

- Rýchlosť, filtrovaním výstupu pwm na pohon VCA jednoduchým RC filtrom

- Filter Cutoff Frequency, filtrovaním výstupu pwm na pohon VCF jednoduchým RC filtrom

- Brána, priamo z digitálneho výstupu v prípade V-trig (zapojte 1Kohm do série s výstupom na zníženie odtoku prúdu) alebo jednoduchým tranzistorovým prepínačom pnp z digitálneho výstupu (pozri schému pripojenú k schematickému kroku).

Arduino nemôže produkovať priamo stabilné napätie, ale 0/+5 V impulzy s rôznymi periódami (PWM). Potrebujeme pre prevodník digitálne analógové prevodníky (DAC). RC filtre sú najľahší DAC, aký si môžem predstaviť. RC filter je dostatočný pre napäťovo riadený zosilňovač a filter (VCA a VCF). RC filtre sú prispôsobené tak, aby mali medznú frekvenciu <20 Hz (najnižšia počuteľná frekvencia).

Urobil som nejaký test s nízkokapacitnými nepolarizovanými kondenzátormi a skončil som s hodnotou kapacity 0,1 uF, aby som bol najvhodnejší. Testované dobre na MS20 MKII.

Bohužiaľ sa nemôžeme spoliehať na RC filter, ktorý poháňa oscilátor riadený napätím (VCO), pretože by nebol dostatočne presný (v stupnici Hz/V, na dolnom konci sa dva poltóny adiacend líšia od menej ako 0,02 V; vo V /okt. dva adiacentné poltóny sa líšia pre 0,083 V); Na to použijeme IC DAC (MPC4725).

Známe limity

Obmedzením napätia meniča na 5 V (výstupné napätie Arduino) je pokrytý celý rozsah 0 až 5 V pre rýchlosť; prahová hodnota je polovičná (-5 V až +5 V); rozsah VCO je čiastočne pokrytý tým, že v Hz/V by na dosiahnutie 440 Hz A4 bolo potrebné napätie 8 V. S výstupným limitom 5V môžeme rozmiestniť oscilátor až na frekvenciu D4 v Hz/V.

Krok 3: Zoznam komponentov

Zoznam komponentov
Zoznam komponentov
Zoznam komponentov
Zoznam komponentov
Zoznam komponentov
Zoznam komponentov

Potrebujete:

1X Arduino UNO (alebo nano)

1 x doska DAC MPC4725

4x mono 1/8 "alebo 1/4" mono konektory

1X MIDI konektor

1X optočlen 6N138

1X dióda 1N4148

1 x 220 ohmový rezistor 1/4 W

1 x odpor 470 ohmov 1/4 W

1 x 10K ohm 1/4 W odpor

Rezistor 4X 1K ohm 1/4 W

2x kondenzátor 0,1 uF

1 x BC547 pnp tranzistor (v prípade S-trig)

1 x ABS box (najmenej 55 x 70 x 100 mm)

… A samozrejme nepájivá doska alebo perfboard, spájkovačka, spájkovací drôt a káble (mali by stačiť 2 metre 28 AWG).

Všimnite si, že na obrázkoch vyššie môj prototyp montuje 100 uF elektrolitické krytky, ale sú príliš pomalé kvôli času nabíjania kapacity. Kapacita 0,1uF je tou správnou voľbou.

Na napájanie svojho arduina som použil ďalší konektor; nie je nutné, aby bolo možné odšťavovať mikrokontrolér priamo cez vstavaný mini USB konektor.

Krok 4: Pripojenia/schémy

Pripojenia/schémy
Pripojenia/schémy
Pripojenia/schémy
Pripojenia/schémy
Pripojenia/schémy
Pripojenia/schémy

MIDI IN

Obvod MIDI IN je jednoduchý a dobre popísaný na internete. Vezmite si TOTO vynikajúci návod napríklad na MIDI a Arduino od Amandy Gassaei. Aj tak som urobil n -tú schému v tejto záležitosti.

Všimnite si toho, že som do schémy MIDI IN pridal prepínač (prepínač 1): je to nevyhnutné pri odosielaní novej skice do Arduina, pretože opto interferuje s linkou RX aj bez prichádzajúcich midi správ. Pred odoslaním náčrtu musíte otvoriť prepínač, inak sa IDE nepodarí nahrať nový náčrt.

Skicu môžete prípadne upraviť tak, aby používala sériovú softvérovú komunikáciu.

DAC, RC filter, syntetizátor

Pripojenie pre DAC, RC filtre a syntetizátor (výška, brána a rýchlosť) je znázornené na obrázku hore. Vzal som ako referenciu patch panel Korg MS20, ale všetko som testoval aj na MS10. Priame prepojenie patch bodu rýchlosti CV s VCA „počiatočným ziskom“nemá žiadny účinok (túto vec musím ďalej kopať), ale ak ho pripojíte k bodu opravy „Total“a zvýšite celkový počet externých potov (MG/T. EXT)), budete počuť pekné variácie tónov v závislosti od rýchlosti noty.

Moje schémy (a môj prototyp tiež) nepoužívajú na výstupe DAC odpor obmedzujúci prúd, ale vždy je vhodné umiestniť jeden na zaistenie dlhej životnosti vašich obvodov. Rezistor 220 ohmov bude dosť.

Všimnite si, že v schémach je uvedených viac ako 100 uF elektrolitických čiapočiek, ale sú príliš pomalé kvôli času nabíjania kapacity. Nepolarizované čiapky 0,1uF sú tou správnou voľbou.

Gate Out

V prípade, že sa chystáte sekvencovať syntetizátor kompatibilný so signálmi V-Trig (spúšťač napätia), bude postačovať rezistor s odporom 1 kOhm na zníženie súčasného odtoku; v prípade syntetizátora S-Trig (prepínač) môžete použiť jednoduchý prepínací obvod PNP (pozri priloženú schému).

Krok 5: Softvér

Softvér
Softvér

Snažil som sa, aby náčrt bol čo najjasnejší a „čitateľnejší“.

Pracoval som na jednoduchom výpočtovom liste, ktorý som našiel TU, aby som odvodil krivku Napätie Vs Note# a priamo použil rovnicu v mikrokontroléri. Rovnica je zobrazená v grafe hore. Použil som C2 ako referenčnú notu na získanie vzťahu noty Vs kompatibilného s Arp/Korg (C0 - 0,25V, C1 - 0,5V, C2 - 1V, C3 - 2V, C4 - 4V, C5 - 8V a tak ďalej).

Aby som sa dobre vyladil, musel som definovať nejakú premennú, s ktorou sa môžem hrať … urobte si čas na nájdenie správnych hodnôt. Je potrebný tuner.

Zvýšime frekvenciu pwm časovača/počítadla, aby sme znížili zvlnenie výstupného napätia (rovnako jednoduché ako riadok kódu).

Aby kód reagoval na prichádzajúce bajty, kód sa do značnej miery spolieha na spätné volania funkcií.

Potrebujete zostaviť knižnice Sparkfun „Adafruit_MCP4725.h“a Forty Seven Effects/Francois Best „MIDI.h“! (Ďakujem týmto osobám: bez ich úsilia by sa tento projekt nikdy nerealizoval!).

Budem predpokladať, že máte v počítači pripravené Arduino IDE a viete, ako načítať skicu na dosku Arduino.

V skutočnom živote nie som programátor, takže je pravdepodobné, že by sa skica dala napísať lepšie. Som otvorený návrhom (vždy sa niečo naučím pri pohľade na kód kodéra;))

Ďalšie poznámky sú zapísané v nižšie uvedenom kóde. Nainštalujte dve knižnice, otvorte priložený kód vo svojom IDE, pripojte dosku, vyberte typ dosky a nahrajte.

Krok 6: Riešenie problémov

Aj keď je projekt na nízkej úrovni, existuje veľa vecí, ktoré sa môžu pokaziť. Ak máte problémy s vytváraním vlastného poľa MIDI to CV, postupujte nasledovne:

1. Uistite sa, že Arduino správne prijíma MIDI správy

Skontrolujte výstupný kanál, z ktorého vaša klávesnica alebo DAW alebo sekvencer vysiela MIDI správy. Arduino predvolene počúva kanál 1. Odošlite „TEST_MIDI_IN.ino“na prečítanie prichádzajúcej správy ON.

2. Dvakrát skontrolujte zapojenie

… alebo ešte lepšie: trikrát ich skontrolujte! Nechajte si na to čas.

3. Skontrolujte adresu a výstup DAC

DAC by mohol byť nastavený na príjem údajov na inú adresu, než akú som nastavil v náčrte. Adresu skontrolujte spustením „I2C_scanner.ino“. Ak sa vyskytne chyba „žiadne zariadenie nebolo nájdené“, skontrolujte zapojenie DAC (vstupy SDA a SCL sa na rôznych doskách Arduino líšia!). Ak máte osciloskop (aj tých 15 eur digitálnych osciloskopov je dosť … a je zábavné sa s nimi hrať!), Môžete skontrolovať výstup svojho DAC nahraním príkladu generátora trojuholníkových vĺn, ktorý je súčasťou inštalácie knižnice DAC.

Nezabudnite, že keď je k vstupu RX vašej dosky arduino pripojený optočlen, nebudete môcť nahrať nový náčrt !! Prepínač (môže to byť jednoduchý prepojovací mostík) umiestnite pred pin RX.

Väčšina týchto testovacích skíc nie je moja alebo aspoň vychádza z existujúceho online materiálu.

Táto vec sa mi zdá rozladená !?

Nejde o skutočný problém: rovnica odvodená pre ovládanie Hz/V je „ideálna“. Určitý odklon od ideálneho správania môže vyplynúť z +5 V, ktoré dodávate, nie z 5 000 V, z DAC a zo samotného nástroja. Na vyriešenie problému musíte použiť potenciometer pre synchronizáciu/doladenie a „voilà“dokonale vyladený MIDI ovládač;)

Krok 7: Užitočné odkazy

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

Odporúča: