Obsah:

Další MIDI to CV Box: 7 kroků (s obrázky)
Další MIDI to CV Box: 7 kroků (s obrázky)

Video: Další MIDI to CV Box: 7 kroků (s obrázky)

Video: Další MIDI to CV Box: 7 kroků (s obrázky)
Video: Další našlapanej box! 🔥 LUCARIO ELITE TRAINER BOX! POKÉMON TCG Crown Zenith! Kartičky Pokémon! 2024, Červenec
Anonim
Další MIDI do CV Boxu
Další MIDI do CV Boxu

Další MIDI to CV box je projekt, který jsem vyvinul, když mi na dveře zaklepal Korg MS10 a odehrál se v mém studiu. Vzhledem k tomu, že moje nastavení silně souvisí s MIDI pro automatizaci a synchronizaci všech nástrojů, když jsem si koupil MS10, prvním problémem, kterému jsem musel čelit, bylo, jak implementovat takové ovládání.

Korg MS20/10 nejsou nejjednodušší syntezátory pro implementaci MIDI: v první řadě se spoléhají na ovládání Hz/V (lineární korelace mezi řídicím napětím a frekvencí not), namísto oct/V (1V na oktávu); za druhé, abyste spustili notu, musíte poslat negativní signál brány a zkratovat vstup na zem (S-Trig), nikoli signál +5 V (V-trig).

V dnešní době existují různá komerční řešení pro ovládání takových nástrojů (tj. Arturia Beatstep Pro, Korg SQ-1, Kenton Solo), ale já jsem levný bastard a i 100 euro je na „neznící“zařízení příliš mnoho:).

Tady jsme: Ukážu vám, jak vytvořit nízkorozpočtový MIDI to CV box pro ovládání/automatizaci výšky, brány, rychlosti a mezní frekvence syntetizátoru před MIDI pomocí externího MIDI ovladače (klávesnice, DAW, sekvencer nebo cokoli).

„A co nový MS20 mini?“

Jak téměř každý ví, nový MS20 je ve skutečnosti připraven pro MIDI: IN s 5pólovým MIDI konektorem a IN/OUT s USB konektorem.

„Takže pokud mám MS20 mini, tato věc je k ničemu!“

No, ne. MS20 mini rozpoznává pouze zprávy zapnuto/vypnuto a klávesnice není citlivá na rychlost. S vintage nebo mini klávesnicí MS10/20 to nelze překonat, ale s midi boxem a klávesnicí citlivou na rychlost jste zlatí. Kromě toho můžete pomocí MIDI boxu automatizovat přerušení filtru (nebo jakýkoli jiný parametr ovládatelný napětím) nebo jej nechat modulovat příchozí MIDI poznámkou o rychlosti. Opět platí, že jediný MIDI kanál, na který MS20 mini reaguje, je kanál 1. S tímto boxem můžete tento limit také překonat.

„Co když mám syntezátor Oct/V?“

Žádný problém! Kód, který jsem napsal, je kompatibilní se syntetizéry Oct/V (nevyzkoušeno, ale jsem si jistý, že bude fungovat po vybalení z krabice;)).

Krok 1: !! Upozornění - upozornění

Vaše zařízení je velmi cenné a nemělo by být používáno k provádění testů.

Hraní s elektřinou může vážně poškodit vaše zařízení nebo poškodit vás.

Nemohu nést odpovědnost za škody na vašem zařízení/hardwaru ani na vás samotných způsobené jakýmkoli softwarem nebo schématy nebo informacemi nebo odkazy, které jsem uvedl v tomto pokynu.

Byl jsi varován!

Krok 2: Inženýrství hardwaru

Arduino se hodí při řešení takových projektů. Existence velké komunity a velmi dobrých knihoven, které pokrývají téměř každý běžný úkol, z ní činí správnou volbu. Zde bude deska naprogramována tak, že bude číst příchozí MIDI data a poté odešle příslušná napětí k řízení:

- Rozteč, převodem výstupu pwm na analogové napětí pro řízení VCO přes převodník digitálního signálu na analogový (DAC)

- Rychlost, filtrováním výstupu pwm pro pohon VCA pomocí jednoduchého RC filtru

- Filtr mezní frekvence filtrováním výstupu pwm pro pohon VCF pomocí jednoduchého RC filtru

- Gate, přímo z digitálního výstupu v případě V-trig (vložte 1Kohm do série s výstupem pro snížení odběru proudu) nebo jednoduchým pnp tranzistorovým spínačem z digitálního výstupu (viz schéma připojené ke kroku schématu).

Arduino není schopné vydávat přímo stálá napětí, ale 0/+5 V impulsy s různými periodami (PWM). Potřebujeme pro převodník digitálně analogových převodníků (DAC). RC filtry jsou nejsnazší DAC, který mě napadá. RC filtr je dostačující pro napěťově řízený zesilovač a filtr (VCA a VCF). RC filtry jsou přizpůsobeny tak, aby měly mezní frekvenci <20 Hz (nejnižší slyšitelná frekvence).

Udělal jsem nějaký test s nízkokapacitními nepolarizovanými kondenzátory a skončil jsem s hodnotou kapacity 0,1 uF, abych byl nejvhodnější. Testováno dobře na MS20 MKII.

Bohužel se nemůžeme spoléhat na RC filtr pro řízení napěťově řízeného oscilátoru (VCO), protože by to nebylo dostatečně přesné (v měřítku Hz/V, na dolním konci se dva půltóny adiacend liší od méně než 0,02 V; ve V /oct dva adiacentní půltóny se liší pro 0,083 V); K tomu použijeme IC DAC (MPC4725).

Známé limity

Omezení napětí měniče na 5 V (výstupní napětí Arduino), rozsah 0 až 5 V je pokryt rychlostí; cutoff je napůl pokrytý (-5V až +5V); rozsah VCO je částečně pokryt tím, že v Hz/V by k dosažení 440 Hz A4 bylo zapotřebí napětí 8 V. S limitem výstupu 5V můžeme oscilátor postavit až na frekvenci D4 v Hz/V.

Krok 3: Seznam součástí

Seznam součástí
Seznam součástí
Seznam součástí
Seznam součástí
Seznam součástí
Seznam součástí

Potřebujete:

1X Arduino UNO (nebo nano)

1X deska MPC4725 DAC

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

1X MIDI konektor

1X optočlen 6N138

1 x 1N4148 dioda

1 x 220 ohmový odpor 1/4 W

1 x odpor 470 ohmů 1/4 W

1 x 10K ohm 1/4 W odpor

4X 1K ohm 1/4 W odpor

2X 0,1 uF kondenzátor

1 x BC547 pnp tranzistor (v případě S-trig)

1 x ABS box (minimálně 55 x 70 x 100 mm)

… A evidentně breadboard nebo perfboard, páječka, pájecí drát a kabely (2 metry 28 AWG by měly stačit).

Všimněte si, že na obrázcích výše můj prototyp montuje 100 uF elektrolitické čepice, ale jsou příliš pomalé kvůli době nabíjení kapacity. Správnou volbou je kapacita 0,1 uF.

K napájení arduina jsem použil další konektor; není nutné, aby bylo možné odšťavňovat mikrokontrolér přímo přes integrovaný mini USB konektor.

Krok 4: Připojení/schémata

Připojení/schémata
Připojení/schémata
Připojení/schémata
Připojení/schémata
Připojení/schémata
Připojení/schémata

MIDI IN

Obvod MIDI IN je jednoduchý a dobře popsaný na síti. Vezměte si TOTO vynikající instruktáž například na MIDI a Arduino od Amandy Gassaei. Stejně jsem udělal n -té schéma v této věci.

Všimněte si, že jsem přidal přepínač ve schématu MIDI IN (přepínač 1): je to nutné při nahrávání nové skici do Arduina, protože opto interferuje s linkou RX i bez příchozích midi zpráv. Před nahráním náčrtu musíte otevřít přepínač, jinak se IDE nepodaří nahrát nový náčrt.

Náčrt můžete případně upravit tak, aby používal sériovou softwarovou komunikaci.

DAC, RC filtr, syntetizér

Připojení pro DAC, RC filtry a Synth (výška, brána a rychlost) je znázorněno na obrázku nahoře. Vzal jsem si jako referenci patch panel Korg MS20, ale vše jsem testoval také na MS10. Přímé spojení rychlosti CV s patch bodem „počátečního zisku“VCA nemá žádný účinek (tuto věc musím dále kopat), ale pokud ji připojíte k bodu opravy „Total“a zvýšíte své celkové externí poty (MG/T. EXT)), uslyšíte pěkné variace tónů v závislosti na rychlosti noty.

Moje schémata (a můj prototyp také) nepoužívají na výstupu DAC odpor omezující proud, ale vždy je vhodné jej umístit, aby byla zajištěna dlouhá životnost vašich obvodů. Rezistor 220 ohmů bude dost.

Všimněte si, že ve schématech nad 100 uF jsou hlášeny elektrolitické čepičky, ale jsou příliš pomalé kvůli době nabíjení kapacity. Nepolarizované víčka 0,1uF jsou tou správnou volbou.

Gate Out

V případě, že se chystáte sekvencovat syntezátor kompatibilní se signály V-Trig (napěťová spoušť), bude stačit odpor série 1 k ohm ke snížení odběru proudu; v případě syntetizátoru S-Trig (přepínač spouště) můžete použít jednoduchý obvod PNP (viz přiložené schéma).

Krok 5: Software

Software
Software

Snažil jsem se, aby náčrt byl co nejjasnější a „čitelnější“.

Pracoval jsem na jednoduchém kalkulačním listu, který jsem našel ZDE, abych odvodil křivku Napětí Vs Note# a přímo použil rovnici v mikrokontroléru. Rovnice je zobrazena v grafu nahoře. Jako referenční poznámku jsem použil C2, abych získal vztah mezi Vp a Vs kompatibilní s Arp/Korg (C0 - 0,25V, C1 - 0,5V, C2 - 1V, C3 - 2V, C4 - 4V, C5 - 8V atd.).

Musel jsem definovat nějakou proměnnou, se kterou si budu hrát, abych se dobře naladil … udělejte si čas na nalezení správných hodnot. Je nutný tuner.

Zvýšíme frekvenci pwm časovače/čítače, abychom snížili zvlnění výstupního napětí (stejně snadné jako řádek kódu).

Aby kód reagoval na příchozí bajty, kód se silně spoléhá na zpětná volání funkcí.

Potřebujete kompilovat knihovny Sparkfun "Adafruit_MCP4725.h" a Forty Seven Effects/Francois Best "MIDI.h"! (Mnohokrát děkuji těmto osobám: bez jejich úsilí by tento projekt nikdy nebyl realizován!).

Budu předpokládat, že máte ve svém počítači připraveno Arduino IDE a víte, jak načíst skicu na desku Arduino.

Nejsem kodér v reálném životě, takže je docela pravděpodobné, že by skica mohla být napsána lepším způsobem. Jsem otevřený návrhům (vždy se něco naučím při pohledu na kód kodéru;))

Další poznámky jsou zapsány v níže uvedeném kódu. Nainstalujte dvě knihovny, otevřete připojený kód na vašem IDE, připojte desku, vyberte typ desky a nahrajte.

Krok 6: Odstraňování problémů

I když je projekt na nízké úrovni, existuje spousta věcí, které se mohou pokazit. Pokud při pokusu o vytvoření vlastního pole MIDI na CV dochází k problémům, postupujte takto:

1. Ujistěte se, že Arduino správně přijímá MIDI zprávy

Zkontrolujte výstupní kanál, do kterého vaše klávesnice nebo DAW nebo Sequencer odesílá MIDI zprávy. Arduino ve výchozím nastavení poslouchá kanál 1. Chcete -li si přečíst příchozí zprávu ON, nahrajte soubor „TEST_MIDI_IN.ino“.

2. Znovu zkontrolujte svá zapojení

… Nebo ještě lépe: třikrát je zkontrolujte! Nechte si na to čas.

3. Zkontrolujte adresu a výstup DAC

DAC lze nastavit tak, aby přijímal data na jiné adrese, než jakou jsem nastavil v náčrtu. Zkontrolujte adresu spuštěním „I2C_scanner.ino“. Pokud dojde k chybě „nebylo nalezeno žádné zařízení“, zkontrolujte zapojení DAC (vstupy SDA a SCL se na různých deskách Arduino liší!). Pokud máte osciloskop (i těch 15 euro digitálních osciloskopů je dost … a je zábavné si s nimi hrát!), Můžete zkontrolovat výstup svého DAC nahráním příkladu generátoru trojúhelníkových vln, který je součástí instalace knihovny DAC.

Nezapomeňte, že když je optočlen připojen ke vstupu RX vaší desky arduino, nebudete moci nahrát nový náčrt !! Umístěte přepínač (může to být jednoduchý můstek) před pin RX.

Většina těchto testovacích skic není moje nebo alespoň vychází z existujícího online materiálu.

Tahle věc mi přijde rozladěná !?

Nejde o skutečný problém: rovnice odvozená pro ovládání Hz/V je „ideální“. Určitý posun od ideálního chování může stoupnout z +5 V, které dodáváte, přičemž není 5 000 V, z DAC a ze samotného nástroje. Chcete -li vyřešit, musíte jednat na potenciometru syntezátoru/jemného doladění a „voilà“perfektně vyladěném MIDI ovládání;)

Krok 7: Užiteč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

Doporučuje: