Obsah:
- Krok 1: !! Upozornenie - Vylúčenie zodpovednosti !
- Krok 2: Inžinierstvo hardvéru
- Krok 3: Zoznam komponentov
- Krok 4: Pripojenia/schémy
- Krok 5: Softvér
- Krok 6: Riešenie problémov
- Krok 7: Užitočné odkazy
Video: Ďalší box MIDI do CV: 7 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
Ď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
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
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
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:
Ďalší väčšinou 3D tlačený otočný spínač: 7 krokov (s obrázkami)
Ďalší väčšinou 3D tlačený rotačný spínač: Pred chvíľou som vytvoril prevažne 3D tlačený rotačný spínač špeciálne pre svoj projekt Repliky Minivac 601. Pre môj nový projekt Think-a-Tron 2020 som zistil, že potrebujem ešte jeden otočný prepínač. Hľadám prepínač pre montáž na panel SP5T. Doplnková
Internetové rádio Roberts RM33 Raspberry Pi (ďalší ): 8 krokov (s obrázkami)
Roberts RM33 Internetové rádio Raspberry Pi (ďalší …): Áno, je to ďalšia zostava internetového rádia Raspberry Pi, a nie moja prvá. Nie som si istý, prečo je táto zostava stále taká populárna, ale stále ma to baví a nemôžem povedať, že by bola aj posledná. Naozaj sa mi páči vzhľad Roberta
Vyrobte si profesionálne vyzerajúce predné panely pre svoj ďalší projekt vlastnoručných prác: 7 krokov (s obrázkami)
Vyrobte si profesionálne vyzerajúce predné panely pre svoj ďalší kutilský projekt: Výroba profesionálne vyzerajúcich predných panelov pre kutilské projekty nemusí byť ani náročné, ani drahé. S nejakým softvérom ZADARMO, kancelárskymi potrebami a krátkym časom si môžete vyrobiť profesionálne vyzerajúce predné panely doma, aby ste vylepšili svoj ďalší projekt
PIWOOLET (Pi.WOOd.tabLET): Len ďalší PI tablet: 10 krokov (s obrázkami)
PIWOOLET (Pi.WOOd.tabLET): Len ďalší PI tablet: Úvod - prečo som si to uvedomil? Odpoveď je taká jednoduchá: len pre zábavu :-) Niekoľko z mojich hlavných cieľov udržať prístup k portu HDMI; zachovať prístup k zvukovému výstupu; zachovať prístup k GPIO; zachovať prístup aspoň k jednému portu USB. Rozpiska kusovníka
64 -pixelový RGB LED displej - ďalší klon Arduino: 12 krokov (s obrázkami)
64 -pixelový RGB LED displej - ďalší klon Arduino: Tento displej je založený na matici LED 8x8 RGB LED. Na testovacie účely bol pripojený k štandardnej doske Arduino (Diecimila) pomocou 4 posuvných registrov. Potom, čo som to dostal do práce, som to permatizoval na fabbed PCB. Posuvné registre sú široké 8 bitov a