Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-23 14:47
Još jedan MIDI to CV box je projekt koji sam razvio kada mi je Korg MS10 pokucao na vrata i odigrao se u mom studiju. Budući da se moja postavka jako odnosi na MIDI za automatizaciju i sinkronizaciju svih instrumenata, kada sam kupio MS10, prvi problem s kojim sam se morao suočiti bio je kako implementirati takvu kontrolu.
Korg MS20/10 nisu najjednostavniji sintetizatori za implementaciju MIDI -ja: prije svega, oslanjaju se na upravljanje Hz/V (linearna korelacija između upravljačkog napona i notne frekvencije), umjesto okt/V (1V po oktavi); drugo, da biste aktivirali notu morate poslati negativni signal vrata i spojiti ulaz na masu (S-Trig), a ne signal od +5 V (V-okidač).
U današnje vrijeme postoje različita komercijalna rješenja za kontrolu takvih instrumenata (npr. Arturia Beatstep Pro, Korg SQ-1, Kenton Solo), ali ja sam jeftino kopile i čak 100 eura je previše za uređaj koji "ne zvuči":).
Evo nas: dopustite mi da vam pokažem kako izgraditi niskobudžetni MIDI u CV okvir za kontrolu/automatizaciju tona, vrata, brzine i granične frekvencije pre-MIDI sintetizatora s vanjskim MIDI kontrolerom (tipkovnica, DAW, sekvencer ili bilo što drugo).
"Što je s novim MS20 mini?"
Kao što gotovo svi znaju, novi MS20 je zapravo spreman za MIDI: IN s 5 polnim MIDI konektorom i IN/OUT s USB priključkom.
"Dakle, ako imam MS20 mini, ova stvar je beskorisna!"
Pa ne. MS20 mini prepoznaje samo poruke o uključivanju/isključivanju bilješki, a tipkovnica nije osjetljiva na brzinu. Nema načina da se to prevlada s MS10/20 vintage ili mini tipkovnicom, ali s midi kutijom i tipkovnicom osjetljivom na brzinu zlatni ste. Osim toga, pomoću MIDI okvira možete automatizirati prekid filtra (ili bilo koji drugi parametar koji se može kontrolirati naponom) ili ga modulirati dolaznom MIDI bilješkom o brzini. Opet, jedini MIDI kanal na koji MS20 mini reagira je kanal 1. S ovim okvirom možete prevladati i ovo ograničenje.
"Što ako imam Oct/V sintisajzer?"
Nema problema! Kôd koji sam napisao kompatibilan je s Oct/V sintisajzerima (neprovjereno, ali uvjeren sam da će to funkcionirati bez kutije;)).
Korak 1: !! Napomena o oprezu - Odricanje od odgovornosti
Vaša je oprema vrlo vrijedna i ne smije se koristiti za izvođenje testova.
Igranje električnom energijom može ozbiljno oštetiti vašu opremu ili naštetiti vama.
Ne mogu biti odgovoran za oštećenja na vašoj opremi/hardveru, pa čak ni za vas koja proizlaze iz bilo kojeg softvera ili shema ili informacija ili veza koje sam prijavio u ovom uputstvu.
Upozoren si!
Korak 2: Inženjering hardvera
Arduino dobro dođe kada se bavite ovakvim projektima. Postojanje velike zajednice i vrlo dobrih knjižnica koje obuhvaćaju gotovo svaki zajednički zadatak čine ga pravim izborom. Ovdje će ploča biti programirana tako da čita dolazne MIDI podatke, a zatim šalje odgovarajuće napone za pogon:
- Nagib, pretvaranjem izlaza pwm u analogni napon za pogon VCO -a putem digitalno -analognog pretvarača (DAC)
- Velocity, filtriranjem pwm izlaza za pogon VCA pomoću jednostavnog RC filtra
- Filtriranje granične frekvencije, filtriranjem pwm izlaza za pogon VCF -a jednostavnim RC filterom
- Vrata, izravno s digitalnog izlaza u slučaju V-okidača (stavite 1Kohm u niz s izlazom za smanjenje trenutnog odvoda) ili jednostavnim pnp tranzistorskim prekidačem iz digitalnog izlaza (pogledajte shemu u prilogu koraka sheme).
Arduino ne može izlaziti izravno stalne napone, ali 0/+5 V impulse s različitim periodima (PWM). Potrebni su nam digitalno -analogni pretvarači (DAC) za izljev. RC filteri su najjednostavniji DAC kojeg se mogu sjetiti. RC filter je dovoljan za pojačalo i filter s naponskim upravljanjem (VCA i VCF). RC filteri su prilagođeni tako da rezultiraju graničnom frekvencijom <20Hz (najniža zvučna frekvencija).
Napravio sam neki test s nepolariziranim kondenzatorima niskog kapaciteta i završio s vrijednošću kapaciteta od 0,1 uF kako bi mi najbolje odgovarao. Dobro testirano na MS20 MKII.
Nažalost, ne možemo se osloniti na RC filter za pogon oscilatora upravljanog naponom (VCO) jer ne bi bio dovoljno točan (u skali Hz/V, na donjem kraju dva poluglasna adiacenda razlikuju se za manje od 0,02 V; u V /okt dva adijacentna polutona razlikuju se za 0,083 V); za to ćemo koristiti IC DAC (MPC4725).
Poznata ograničenja
Ograničavajući pogonski napon na 5V (Arduino izlazni napon), cijeli raspon od 0 do 5V pokriven je brzinom; granica je napola pokrivena (-5V do +5V); raspon VCO je djelomično pokriven jer bi u Hz/V bio potreban napon od 8 V da bi se dosegao A4 440 Hz. S granicom izlaznog napona od 5 V oscilator možemo postaviti do frekvencije D4 u Hz/V.
Korak 3: Popis komponenti
Potrebni ste za:
1X Arduino UNO (ili nano)
1X MPC4725 DAC ploča
4X 1/8 "ili 1/4" mono priključci
1X MIDI priključak
1X optokapler 6N138
1X 1N4148 dioda
1X 220 ohm 1/4 W otpornik
1X 470 ohm 1/4 W otpornik
1X 10K ohm 1/4 W otpornik
4X 1K ohm 1/4 W otpornik
2X 0,1 uF kondenzator
1X BC547 pnp tranzistor (u slučaju S-trig)
1X ABS kutija (najmanje 55 x 70 x 100 mm)
… i očito ploču ili ploču za lemljenje, lemljenje, žicu za lemljenje i kabele (2 metra 28 AWG bi trebalo biti dovoljno).
Primijetite da na gornjim slikama moj prototip postavlja 100 uF elektrolitičkih kapa, ali su prespori zbog vremena punjenja kapaciteta. Kapacitet od 0,1 uF pravi je izbor.
Koristio sam dodatni priključak za napajanje svog arduina; nije potrebno izvlačiti mikrokontroler izravno putem ugrađenog mini USB priključka.
Korak 4: Veze/sheme
MIDI ULAZ
MIDI IN sklop je jednostavan i dobro opisan na internetu. Uzmite OVO izvrsno uputstvo za MIDI i Arduino, primjerice Amande Gassaei. Ionako sam napravio n -tu shemu po tom pitanju.
Uočite da sam dodao sklopku u shemu MIDI IN (prekidač 1): to je potrebno pri učitavanju nove skice na Arduino jer opto ometa RX liniju čak i bez dolaznih midi poruka. Prije učitavanja skice morate otvoriti prekidač ili IDE neće uspjeti prenijeti novu skicu.
Skicu na kraju možete izmijeniti tako da koristi komunikaciju serijskog softvera.
DAC, RC filter, sintetizator
Priključci za DAC, RC filtre i Synth (visina, vrata i brzina) prikazani su na dijagramu na vrhu. Uzeo sam za referencu Korg MS20 patch panel, ali sam sve testirao i na MS10. Izravna veza velocity CV -a s VCA zakrpom "početno pojačanje" nema učinka (ovo moram dodatno kopati), ali ako je spojite na "Totalnu" točku zakrpe i povećate ukupne vanjske posude (MG/T. EXT), čut ćete lijepe varijacije tonova u ovisnosti o brzini note.
Moje sheme (i moj prototip) ne koriste otpornik za ograničavanje struje na izlazu DAC -a, ali uvijek je dobro postaviti jedan kako biste osigurali dug vijek trajanja svojih krugova. Otpornik od 220 ohma bit će dovoljan.
Uočite da se u shemama navodi iznad 100 uF elektrolitičkih kapa, ali one su presporo zbog vremena punjenja kapaciteta. Nepolarizirane kape od 0,1 uF pravi su izbor.
Gate Out
U slučaju da namjeravate sekvencionirati sintetizator kompatibilan sa signalima V-Trig (okidač napona), bit će dovoljan otpornik serije 1k ohma za smanjenje trenutnog odvoda; u slučaju sintetizatora S-Trig (okidač sklopke), mogli biste koristiti jednostavan sklop sklopke PNP (vidi priloženu shemu).
Korak 5: Softver
Pokušao sam skicu održati što je moguće jasnijom i "čitljivom".
Radio sam na jednostavnom kalkulacijskom listu koji sam pronašao OVDJE kako bih izveo krivulju napona protiv napomene# i izravno koristio jednadžbu u mikrokontroleru. Jednadžba je prikazana na grafikonu na vrhu. Koristio sam C2 kao referentnu bilješku za dobivanje note napona Vs usklađenog s Arp/Korg -om (C0 - 0,25V, C1 - 0,5V, C2 - 1V, C3 - 2V, C4 - 4V, C5 - 8V i tako dalje).
Morao sam definirati neku varijablu s kojom se mogu poigrati kako bih dobro podesio … odvojite vrijeme da pronađete ispravne vrijednosti. Tuner je neophodan.
Povećat ćemo pwm frekvenciju mjerača vremena/brojača kako bismo smanjili valovitost izlaznih napona (jednostavno kao redak koda).
Kako bi kôd odgovarao na dolazne bajtove, kôd se u velikoj mjeri oslanja na povratne pozive funkcija.
Potrebni su vam Sparkfun -ovi "Adafruit_MCP4725.h" i Forty Seven Effects/biblioteke "MIDI.h" Francoisa Besta za sastavljanje! (Veliko hvala ovim osobama: bez njihovog truda ovaj projekt nikada ne bi bio realiziran!).
Pretpostavit ću da imate Arduino IDE spreman na svom računalu i da znate učitati skicu na svoju Arduino ploču.
U stvarnom životu nisam koder, pa je velika vjerojatnost da bi se skica mogla napisati na bolji način. Otvoren sam za prijedloge (uvijek naučim nešto gledajući kod kodera;))
Dodatne napomene zapisane su u donjem kodu. Instalirajte dvije knjižnice, otvorite priloženi kôd na svom IDE -u, povežite svoju ploču, odaberite vrstu ploče i prenesite.
Korak 6: Rješavanje problema
Čak i ako je projekt niske razine, postoji mnogo stvari koje bi mogle poći po zlu. Ako imate problema pri pokušaju stvaranja vlastitog okvira za MIDI u životopis, slijedite ove korake:
1. Uvjerite se da Arduino ispravno prima MIDI poruke
Provjerite izlazni kanal na koji vaša tipkovnica, DAW ili Sequencer emitiraju MIDI poruke. Arduino prema zadanim postavkama sluša kanal 1. Prenesite "TEST_MIDI_IN.ino" da biste pročitali dolaznu poruku noteON.
2. Dvaput provjerite svoje ožičenje
… ili još bolje: provjerite ih trostruko! Odvojite vrijeme za ovo.
3. Provjerite DAC adresu i izlaz
DAC se može postaviti za primanje podataka na adresi koja nije adresa koju sam postavio na skici. Provjerite adresu pokretanjem "I2C_scanner.ino". Ako se dogodi pogreška "nije pronađen uređaj", provjerite ožičenje DAC -a (ulazi SDA i SCL različiti su na različitim Arduino pločama!). Ako imate oscilokop (čak i onih 15 eura digitalnih osciloskopa je dovoljno … i zabavno se igrati!), Možete provjeriti izlaz vašeg DAC -a tako što ćete učitati primjer generatora trokutastog vala koji je uključen u instalaciju DAC knjižnice.
Upamtite da kada je optički sprežnik spojen na RX ulaz vaše arduino ploče, nećete moći učitati novu skicu !! Postavite prekidač (to bi mogao biti obični kratkospojnik) prije RX pina.
Većina ovih testnih skica nije moja ili se barem temelji na postojećem mrežnom materijalu.
Meni ovo zvuči neskladno !?
To nije pravi problem: jednadžba izvedena za upravljanje Hz/V je "idealna". Odstupanje od idealnog ponašanja može porasti od +5V koje opskrbljujete, a ne od 5.000V, od DAC -a i samog instrumenta. Da biste to riješili, morate djelovati na potenciometru za sintetičko/fino podešavanje i "voilà" savršeno podešenu MIDI kontrolu;)
Korak 7: Korisne veze
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
Preporučeni:
Još jedan rotacijski prekidač koji je uglavnom 3D ispisan: 7 koraka (sa slikama)
Još jedan rotacijski prekidač koji je uglavnom 3D ispisan: Prije nekog vremena stvorio sam uglavnom 3D tiskani rotacijski prekidač posebno za svoj projekt Minivac 601 Replica. Za moj novi Think-a-Tron 2020 projekt, smatram da mi treba još jedan rotacijski prekidač. Tražim prekidač za montažu na ploču SP5T. Dodatak
Roberts RM33 Raspberry Pi internetski radio (još jedan…): 8 koraka (sa slikama)
Roberts RM33 Raspberry Pi Internet Radio (Još jedan…): Da, to je još jedna verzija internetskog radija Raspberry Pi, a ni moja prva. Nisam siguran zašto je ova građevina još uvijek toliko popularna, ali i dalje uživam u njoj i ne mogu reći da će mi i ova biti posljednja. Zaista volim izgled Roberta
YADPF (JOŠ jedan digitalni okvir za slike): 7 koraka (sa slikama)
YADPF (JOŠ Jedan digitalni okvir za slike): Znam da ovo nije nova stvar, znam, vidio sam neke od ovih projekata ovdje, ali uvijek sam želio izgraditi svoj vlastiti digitalni okvir za slike. Svi okviri za slike koje sam vidio su lijepi, ali tražio sam nešto drugo, tražim jako lijep fr
Još jedan Nixie sat: 6 koraka (sa slikama)
Još jedan Nixie sat: Oduvijek sam želio nixie sat, postoji nešto u tim užarenim brojkama što me fascinira. Pa kad sam na ebayu pronašao neke ne preskupe IN12 -e, kupio sam ih, zadivio se kad sam ih primio, ali ubrzo sam otkrio kako bih
Još jedan Pi na zidu: 16 koraka (sa slikama)
Još jedan Pi na zidu: Ovaj poučni vodič prikazuje kako izgraditi NAS (mrežna memorija) pomoću Raspberry Pi (RasPi) i dva HDD-a. Ovaj vodič trebao bi vam dati detaljne upute o tome kako montirati RasPi, dva HDD -a i cijelo napajanje o