Kazalo:
- 1. korak: Kaj točno je to (in kaj ni …)
- 2. korak: "Skriti" zaporedje 16 korakov
- 3. korak: Potrebna strojna oprema in gradnja
- 4. korak: Ožičenje
- 5. korak: Programska oprema - nekaj povezav do teorije
- 6. korak: Programska oprema - skica
- 7. korak: Sorodni projekti
Video: (skoraj) Univerzalni programer MIDI SysEx CC (in zaporedje ): 7 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Sredi osemdesetih let so proizvajalci sintetizatorjev začeli postopek "manj je bolje", ki je pripeljal do sintetizatorjev barebones. To je omogočilo zmanjšanje stroškov na strani proizvajalca, vendar je postopek popravkov otežil, če ne celo onemogočil končnega uporabnika.
Sami proizvajalci in podjetja tretjih oseb so uresničili izbirne škatle, polne gumbov in/ali drsnikov, ki vam omogočajo, da se dejansko "igrate" s svojimi toni sintetizatorjev, vendar so te danes neumno precenjene in kot vedno smo primorani sami iskati poceni rešitve;)
Ta projekt je nastal zaradi moje potrebe po enostavnem programiranju popravkov pri nekaterih mojih najnovejših nakupih sintetizatorjev: Roland Alpha Juno 2 in JX8P. Začelo se je kot preprost krmilnik SysEx, nato pa je zraslo name in postalo nekaj bolj zapletenega, pri čemer so bili na poti podprti tudi drugi sintetizatorji (Korg DW8000, Oberheim Matrix 6/6R, SCI MAX) in vgrajen sekvencer.
V tem navodilu vam bom pokazal, kako uresničiti svoj lastni krmilnik: poceni orodje, ki posnema tiste visoko cenovne omarice za nadzor parametrov … in še več (za podrobnosti nadaljujte z branjem …).
1. korak: Kaj točno je to (in kaj ni …)
Krmilnik MIDI SysEx in Control Change je v bistvu 16 gumbov (potenciometrov) in 4 gumba MIDI krmilnik. Privzeta skica obravnava tri "strani" za skupno 48 parametrov tonov sinteze.
Krmilnik sem naredil združljiv s sporočili MIDI za spreminjanje nadzora (preprost in "globalen" tip sporočila MIDI, ki ga proizvajalci sintetizatorjev pogosto uporabljajo, zlasti iz 90-ih) in sporočili SysEx (druga vrsta sporočila MIDI, precej manj splošno in zelo specifično za sintezo) uporabljeno v 80. letih).
Krmilnik je privzeto združljiv z:
- Roland Alpha Juno (1/2)
- Roland JX8P
- Korg DW8000
- Oberheim Matrix 6/6R (> 2.14 vdelana programska oprema)
- Zaporedna vezja MAX/SixTrak.
Sčasoma lahko krmilniku omogočite delovanje na katerem koli sintetizatorju, ki lahko sprejema sporočila o spremembi nadzora MIDI (CC), vendar je privzeto onemogočen.
Ker je projekt odprtokodne narave, je zelo enostavno podpreti kateri koli drug sintetizator po vaši izbiri (za podrobnosti glejte korak kode).
Postavitev parametrov tonov z vsemi temi številkami je sprva lahko zmedena, vendar ni "naključna", kot bi lahko izgledala: sledi vrstnemu redu proizvajalčeve tabele izvedbe MIDI. To je bila oblikovalska izbira, da je koda preprosta in "univerzalna".
Na tej strani lahko prenesete liste s slikami 4x4 "postavitve", ki sem jih izvedel za Alpha-Junos, JX8P, DW8000, Matrix 6 in MAX/SixTrak: modri parametri so tisti, ki jih lahko prilagodite na strani 1, črni pa na strani 2 in oranžne na strani 3.
Tudi če krmilnik nima zaslona, igranje s sintetizatorji, ki vam pokažejo, kateri parameter se nastavlja v realnem času, naredi postopek ustvarjanja popravka veselje. To na primer zmoreta JX8P in Matrix 6; namesto tega Alpha Juno ne prikaže parametra, ki se spreminja, in otežuje stvari (vendar je ustvarjanje čudovitih popravkov vsekakor izvedljivo in lažje kot z uporabo vgrajenega vmesnika brez vozlov); DW8000 ima samo številske zaslone, vendar lahko svoje nastavitve vidite v realnem času, tako da je na tem mestu vmes.
Kaj pa tisti gumbi tam?
No, prva (zgoraj levo v moji postavitvi) je za brskanje po straneh: skok na stran naslednjega parametra pri vsakem pritisku gumba. LED diode bodo pokazale, na kateri strani ste.
Drugič, ko pritisnete, pošljite obliž, kjer delate, nazaj k sintetizatorju (razumejte: naredili ste obliž svojega življenja, nato se dotaknili programskega gumba na površini sintetizatorja in popravki, specifični za gumb, so bili naloženi … vse vaše delo je minilo !). S tem gumbom lahko pošljete vse vrednosti, ki si jih je programer zapomnil med zadnjim postopkom popravkov. Ta postopek priklica popravkov ne deluje, če znova pritisnete naključno enoto (postopek randomizacije prepiše vse parametre v pomnilniku) in je učinkovit le pri parametrih, ki ste jih uredili vsaj enkrat. Najnovejši popravek se po izklopu ne shrani v pomnilnik.
Tretja je za sekundarno funkcijo: randomizer/patcher! Zavrtite gumbe v nasprotni smeri urinega kazalca, za katere želite, da se parameter, na katerega delujejo, zaklene na najmanjšo vrednost (tj. LFO oscilatorja, ovojnica oscilatorja itd.) Ali pa zavrtite do konca v smeri urinega kazalca, da povečate vrednost (tj. Glasnost mešanice oscilatorja, glasnost VCA itd.) In pritisnite gumb za začetek postopka randomizacije za vse druge parametre.
Četrti gumb je tam, da aktivira velikonočno jajce (nekako …), ki sem ga vstavil v kodo, potem ko sem opazil, da je postavitev popolna za … 16 -stopenjski MIDI sekvencer! Natančno: pritisnite četrti gumb (gumb MODE), krmilnik bo vstopil v "način sekvenciranja" in lahko boste sprožili zapiske na podoben način kot stari analogni sekvencer. Lepo uh!
Ponovno pritisnite gumb MODE, da se vrnete v način krmilnika/krmilnika.
Kaj pa te LED diode?
Za vsak gumb so na desni strani vsakega gumba v moji postavitvi 4 LED diode; te LED imajo več nalival:
1) povedo vam, na kateri strani s parametri ste (zgornja LED sveti, ko ste na strani 1, LED spodaj sveti, ko je stran 2 aktivna, LED 3 sveti … sami ste ugotovili). Omejeni smo na 3 strani bankomata, vendar lahko kodo enostavno nastavite za več strani;
2) druga LED označuje parametre stran 2 AND sveti, ko mikrokrmilnik pošilja prejšnji popravek (odpoklic popravka);
3) tretja LED označuje parametre stran 3 IN sveti med postopkom randomizacije.
Četrta LED ne dela nič v načinu krmilnika MIDI in se uporablja za globalno spremembo NAČINA.
Vse te funkcije se prenašajo kot sporočila MIDI, zato mora biti vaš sintetizator učinkovit za sprejem in razlago tovrstnih sporočil, da bo učinkovit
2. korak: "Skriti" zaporedje 16 korakov
Kot rečeno, sem med preizkušanjem krmilnika spoznal, da bi bilo super pustiti zaporedje zapiskov, da bi lahko prilagodil parametre sintetike in imel boljšo predstavo o končnem učinku na ton. Imam programski sekvencer (zelo mi je všeč seq24!), Vendar je ta strojna oprema skoraj POPOLNI 16-stopenjski sekvencer! Potem je bilo samo vprašanje kode za njegovo izvajanje.
Med načinom krmiljenja in načinom zaporedja lahko preklapljate s pritiskom na gumb #4 (gumb MODE).
Medtem ko v načinu sekvenciranja gumbi delujejo drugače, LED diode pa vam dajejo nove informacije:
- prvi gumb (gumb SHIFT) ob pritisku omogoča tempo, dolžino note, spreminjanje kanalov in oktav; vrednost tempa je podana s položajem prvega potenciometra, dolžina note se izračuna iz drugega položaja potenciometra, MIDI kanali iz tretjega in četrtega položaja potenciometra in oktava (-1 o do +2) iz petega lonca. Tempo lahko upravljate od 40 BPM (potenciometer #1 do konca obrnite v nasprotni smeri urinega kazalca, hkrati pa držite pritisnjeno tipko #1) do skoraj 240 BPM (potenciometer #1 obrnite do konca v smeri urinega kazalca, hkrati pa držite pritisnjeno tipko #1). Dolžino zapiskov lahko nastavite na polovico note, četrtino, osmico, noto osmerca, tako da obrnete lonček #2, hkrati pa držite pritisnjen gumb SHIFT. MIDI kanale (primarni in sekundarni kanal) lahko nastavite od 1 do 16. Osnovno območje not (od C2 do F#4) lahko znižate za eno oktavo ali povečate za eno ali dve oktavi.
Privzeto je tempo nastavljen na 120 BPM, dolžina note pa do četrtine.
- drugi gumb za zagon in ustavitev zaporedja zapiskov. Kot rečeno, če spremenite način s pritiskom na gumb #4 (MODE) med izvajanjem zaporedja, boste vstopili v način krmilnika, vendar se bo zaporedje nadaljevalo.
- tretji gumb je PANIKA! S pritiskom na vse zapiske se izklopijo.
- četrti se uporablja za preklapljanje med globalnimi načini (patter ali sekvencer), ko ni pritisnjen gumb #1, ali med načini zaporedja (glej v nadaljevanju), ko je pritisnjen #1.
V načinu zaporedja, če pritisnete gumb za izbiro načina, medtem ko držite gumb #1 (SHIFT) pritisnjen, lahko preklapljate med tremi različnimi načini zaporedja:
Mono zaporedje 1 - 16 korakov
2 - 16 korakov poli zaporedje: sprožijo se tudi note za eno oktavo nižje od tistih, ki jih definirajo lonci (to odvaja 2 glasova na utrip)
3 - 8 -stopenjsko poli -zaporedje, dvokanalno: dve vzporedni 8 -stopenjski sekvenci se pošljeta na dva različna kanala (CH1 in CH2 privzeto); z nastavitvijo enake vrednosti kanala tako na primarnem kot na sekundarnem kanalu lahko igrate dve vzporedni 8-stopenjski sekvenci, ki ju predvaja isti (polifoni) sintetizator.
O LED -diodah: takoj, ko vstopite v način sekvenciranja, zasvetijo vse štiri lučke. Ko zaženete zaporedje, bodo LED sledile zaporedju (ali zaporedjem). Na vsake štiri potenciometre sem postavil eno LED in zame je dovolj. Skico bi bilo preprosto spremeniti tako, da bi upravljala 16 LED, po eno za vsak korak.
Nepogrešljive funkcije zaporedja korakov, ki bi se komu zdele potrebne: MIDI sinhronizacija IN, koraki zadržani (lahko izključite le korak), življenjepis.
Izvedel sem uro OUT, vendar je nekako napačen. Za to sem preizkusil dva pristopa (enega z časovnimi prekinitvami in enega brez časovnih prekinitev), vendar sta bila oba nepopolna (ali popolnoma neuspešna). MIDI ura mora biti strogo popolna za dolgoročno delovanje. Signal ure je vseeno poslan in ga lahko onemogočite neposredno na skici (za podrobnosti glejte kasneje).
Upoštevajte, da je ta zaporedje korakov MIDI ali digitalno, če želite, zato mora biti za delo povezan s sintetizatorjem, ki omogoča sprejemanje in razlago tovrstnih sporočil
3. korak: Potrebna strojna oprema in gradnja
Po vseh teh besedah se zabavajmo!
Gremo po običajni poti Arduino. Uporabil sem Arduino MEGA zaradi velike količine analognih vhodov (želimo polno škatlo z gumbi, kajne ?!:)).
Arduino MEGA lahko obravnava zlasti 16 analognih vhodov (z nekaj prilagoditvami strojne opreme, tj. Z vmesnikom, lahko to povečate, vendar tukaj ne gremo po tej poti), zato bomo 48 sporočil MIDI poslali prek 16 potenciometrov. Vsak potenciometer bo nato nadzoroval tri parametre, enega za vsako "stran"; strani izberete s tipko za preklop.
Seznam strojne opreme:
- 1x Arduino MEGA
- 16x linearni potenciometri z enim obratom 10 K ohmov
- 16x gumbi za lončke
- 4 krat kratki gumbi
- 4x LED
- 6x 220 ohmski upor
- 1x MIDI priključek
- 1x škatla za projekte iz ABS -a
Nekaj kabla, spajkalne žice in šest do osem ur prostega časa.
Uporabil sem perfboard in nekaj zatičev, da sem uresničil nekakšen ščit, na katerega sem spajkal upore in usmeril kable. To ima to prednost, da vam omogoča, da vzamete Arduino in ga uporabite za druge projekte (na neki točki nam na Arduino ploščah zmanjka!). To tako ali tako ni obvezno, drug dober pristop pa bi lahko bil, da arduino MEGA pinheader in spajkalne kable odlepite neposredno na mestu.
Namesto uporov 220 ohmov sem uporabil 200 ohmske upore in vseeno delujejo odlično; Stavil bi, da bi celo 150 ohmski upori delovali odlično (tako za MIDI komunikacijo kot za LED).
Za oblikovanje škatle sem najprej na površino škatle nanesel nekaj lepilnega papirja, izmeril, kje je treba izvrtati luknje (imel sem 3 cm od luknje do luknje, da so se vsi lonci prilegali), naredil vodilne luknje in nato povečal na desno velikost, ki omogoča, da navoj loncev ali gumbi preidejo z mini vrtalnikom. Za dokončanje škatle sem porabil približno 2 uri. Spoznal sem tudi majhne luknje in prilepil LED diode.
Izvrtal sem tudi luknjo za priključek MIDI OUT in drugo za priključek za napajanje arduino (uporabil sem neposredno vgrajen priključek za napajanje USB in trdno zaklenil arduino MEGA na mestu).
OPOZORILO: Med vrtanjem vedno nosite zaščito za oči in roke, ne glede na material, na katerem delate (plastika, les, kovine, kompoziti … ni pomembno: ogroženi ste tako glede električnega orodja kot odrezkov/sekancev materiala) iz premičnega orodja).
Nato sem postavil vse lončke in gumbe ter komponente spajkal po priloženi sliki. Učinkovit način za zmanjšanje teže končnega predmeta (in dolžine kablov) je, da marjetice verižno povežete vse lončke tako na liniji 5V kot na liniji GND.
In preden kdo vpraša: Vem, ta škatla, ki sem jo uporabil, je grda! Ampak bilo je zastonj in nič ni boljšega:)
4. korak: Ožičenje
Ožičenje je preprosto, tako da na ploščo mikrokrmilnika Arduino priključite potenciometer (x16), potisni gumb (x4) in LED (x4). Vse osnove Arduina so zajete tukaj:)
Priloženo je ožičenje. Upoštevajte, da:
- Uporabljajo se vsi analogni zatiči (od A0 do A15), po en za vsak potenciometer;
- uporabljajo se 4 digitalni zatiči (vhodi) (od D51, D49, D47, D45), po en za vsak gumb;
- drugi 4 digitalni zatiči (izhodi) se uporabljajo za LED (D43, D41, D39, D37);
- MIDI izhodna povezava je zelo preprosta in zahteva dva 220 ohmska upora (vendar bo delovalo do 150 ohmov)
- Gumbi ne zahtevajo spustnih uporov, ker skica aktivira notranje Arduino uporne upore.
- Vsaka LED dioda zahteva trenutni omejevalni upor (200-220 ohmov je v redu za zelene LED).
Navedene digitalne zatiče sem uporabil za komoditeto, vendar niso "posebni" zatiči (tukaj ne uporabljamo zmožnosti pwm nekaterih zatičev ali kakšne druge značilnosti, specifične za pin): nastavite lahko svoje najljubše digitalne zatiče, vendar jih ne pozabite spremeniti ustrezno kodo ali pa vaši gumbi/LED ne bodo delovali!
Upoštevajte, da je povezava MIDI OUT na sliki pogled od spredaj (ne od zadaj).
5. korak: Programska oprema - nekaj povezav do teorije
Ne bom razlagal celotne teorije o sporočilih System Exclusive ali Control Change, ker je tam veliko dobrih člankov in je neumno prepisati že napisano.
Nekaj hitrih povezav za implementacijo Roland SysEx:
- https://erha.se/~ronny/juno2/Roland%20Juno%20MIDI%2… (ENGLESKO)
- https://www.2writers.com/eddie/tutsysex.htm (ENGLESKO)
- https://www.chromakinetics.com/handsonic/rolSysEx.h… (ENGLESKO)
- https://www.audiocentralmagazine.com/system-exclusi… (ITALIANO)
in nekaj povezav za MIDI na splošno:
-
-https://www.music-software-development.com/midi-tut…
6. korak: Programska oprema - skica
Tukaj je priložena skica, ki jo naložite v svoj Arduino Mega.
Poskušal sem, da je programer čim bolj "univerzalen", kar pomeni, da sem poskušal zmanjšati dele kode, specifične za sintetizator. Poskusil sem, da je koda čim preprostejša. Dodajanje zaporedja korakov je naredilo stvari bolj zapletene in koda bolj neurejena, vseeno se mi je splačalo. Ohranjanje kode "univerzalne" je zato postavitev krmilnika tako "naključna": sledi vrstnemu redu parametrov izvedbe MIDI proizvajalca sintetizatorja, opredeljenega v priročniku. Sprva bi lahko bilo zmedeno, a tega se boste zelo hitro navadili.
Privzeta koda/skica/vdelana programska oprema podpira "samo" 48 parametrov (tri strani s po 16 gumbi), zato ni mogoče nadzorovati vseh sporočil MIDI, ki jih podpira vaš sintetizator (pomislite na Access Virus ali Novation Supernova: sprejemajo več ali manj 110 parametrov, skladnih z MIDI). Skico lahko preprosto spremenite tako, da podpira več sporočil, če je potrebno.
Pravzaprav so podprta sporočila SysEx, združljiva z Roland Alpha-Juno, JX8P, Korg DW8000 in Oberheim Matrix 6. Kodo za sporočila, združljiva z Juno 106, sem pustil, če to potrebujete.
Za Matrico 6 sem moral izbrati parametre za nadzor. Izpustil sem tretjo ovojnico, drugo rampo in še kaj. Matrice tako ali tako ni mogoče nadzorovati prek MIDI, zato je tudi zunaj. Potrebujete posodobljeno vdelano programsko opremo (različica 2.14 ali novejša) in nastavite parameter "Master -> Sysex Enable" na "3".
Ura je nekako napačna (ura mora biti strogo popolna, da deluje, kot bi morala, in verjetno sta oba pristopa, ki sem jih sprejel, kadar nista učinkovita). Privzeto je onemogočeno.
Koda vsebuje komentarje, zato tukaj ni potrebe po dodatnem komentiranju.
Kot vedno: ne pozabite, da v resničnem življenju nisem koder in zagotovo obstajajo boljši načini za kodiranje tega, kar potrebujemo. Če ste kodirnik in imate predlog, ste dobrodošli! Prosim, pošljite mi kakršno koli različico, ki lahko poveča učinkovitost/uspešnost kode in jo bom vključil v glavno skico (očitno citiram sodelavca!).
Vedno se naučim kaj novega, če preberem dobro kodo za kodiranje;)
7. korak: Sorodni projekti
Kolikor vem, zunaj ni krmilnika in sekvencera parametrov MIDI (morda stari Behringer BCR2000 s spremenjeno vdelano programsko opremo?)
vseeno, če niste nagnjeni k uresničitvi takšne škatle, vendar vas zelo zanimajo poceni rešitve za daljinsko upravljanje parametrov sintetizatorja, razmislite o teh drugih možnostih:
- Urejevalnik CTRL MIDI: to je briljanten, brezplačen odprtokodni program, ki deluje na win/Linux/mac in lahko vaš računalnik spremeni v popoln krmilnik za sinteze SysEx
- Pretvornik CC "junosex" Davida Konsumerja: ta projekt zahteva manjše strojno delo na vaši strani in ideja je odlična - pretvornik CC v SysEx na osnovi arduina, ki vam omogoča uporabo običajnega krmilnika MIDI, ki ni SysEx (tj. Glavna tipkovnica AKAI MPK) za pogovor z vašim sintetizatorjem, pripravljenim za SysEx
Priporočena:
Preprost zaporedje: 16 korakov (s slikami)
Preprost zaporedje: Eden od ključev za ustvarjanje dobre glasbe je nepremišljeno ponavljanje. V tem je preprost sekvencer odličen. Vedno znova počne isto v zaporedju osmih not. Prilagodite lahko pogostost zapiska, trajanje zapiska in
DoReMiQuencer - programabilni MIDI zaporedje s tipkovnico: 7 korakov
DoReMiQuencer - Programabilni MIDI sekvencer s tipkovnico: Ta naprava je bila ustvarjena za uporabo z VCVRack, virtualnim modularnim sintetizatorjem, ki ga je ustvaril VCV, vendar lahko služi kot MIDI krmilnik splošnega namena, odvisno od izbranega načina. Opombe MIDI, preslikane v ke
Programabilni RGB LED zaporedje (z uporabo Arduino in Adafruit Trellis): 7 korakov (s slikami)
Programabilni RGB LED sekvencer (z uporabo Arduino in Adafruit Trellis): Moji sinovi so želeli, da bi njihove mize osvetlili barvni LED trakovi, jaz pa nisem hotel uporabljati krmiljenega RGB tračnega krmilnika, ker sem vedel, da jim bo s fiksnimi vzorci dolgčas imajo ti krmilniki. Mislil sem tudi, da bo to odlična priložnost za ustvarjanje
4 -stopenjski digitalni zaporedje: 19 korakov (s slikami)
Digitalni sekvencer v 4 korakih: CPE 133, Cal Poly San Luis Obispo Ustvarjalci projekta: Jayson Johnston in Bjorn Nelson V današnji glasbeni industriji, enem najpogosteje uporabljenih "ldquo; instrumentov" rdquo; je digitalni sintetizator. Vsaka zvrst glasbe, od hip-hopa do popa in predvečer
Naj bo vaš monitor neviden (skoraj skoraj): 4 koraki
Naj bo vaš monitor neviden (skoraj skoraj): Ustvarite ozadje na namizju, da boste svoje prijatelje in sodelavce zabavali in zmešali z uporabo samo digitalnega fotoaparata in malo igranja