instructables-logo

instructables PICO MIDI SysEx Patcher

instructables-PICO-MIDI-SysEx-Patcher-fig-1

Enfòmasyon sou pwodwi

  • PICO MIDI SysEx Patcher pa baritonomarchetto se yon solisyon pyès ki nan konpitè ki fèt pou ogmante pwogramasyon vin.tage sentèz ki manke pwogramasyon. Li baze sou tablo mikwokontroleur Raspberry Pi Pico a epi li prezante yon ekspozisyon ki ap dirije ki entegre, de ankode rotary ak bouton pouse entegre, ak yon bouton pouse. Li gen ladan tou yon opinyon MIDI pou operasyon seri ak firmwèr louvri. Ka pwogramè a dwe mete ant kontwolè a mèt ak sentèz la pou pèmèt modifikasyon an tan reyèl nan paramèt pandan y ap jwe yon sekans, ak transfè a nan nenpòt lòt mesaj MIDI soti nan kontwolè a mèt nan sintèz la sib.
  • PICO MIDI SysEx Patcher sipòte plizyè vintage sentèz, ki gen ladan Roland Alpha Juno (1/2), Korg DW8000/EX8000, ak Oberheim Matrix 6/6R (> 2.14 firmwèr).

Enstriksyon Itilizasyon Pwodwi

  1. Konekte PICO MIDI SysEx Patcher ant kontwolè mèt ou a ak vin latage sentèz ou vle kreye yon patch pou.
  2. Vire sou kontwolè a mèt ak vin latage sentèz.
  3. Sèvi ak de ankode rotary yo pou navige ak modifye paramèt an tan reyèl pandan y ap jwe yon sekans.
  4. Sèvi ak bouton pouse a pou transfere nenpòt lòt mesaj MIDI soti nan kontwolè a mèt nan sintèz la sib.
  5. Al gade nan manyèl itilizatè a pou plis enfòmasyon detaye sou kijan pou itilize ekspozisyon an ak kijan paramèt yo gwoupe nan nivo lojisyèl.
    Nòt: Asire w ke vin outagPICO MIDI SysEx Patcher sipòte sintèz la anvan w sèvi ak li. Epitou, al gade nan seksyon deskripsyon pyès ki nan konpitè nan manyèl itilizatè a pou jwenn enfòmasyon sou eleman obligatwa yo ak kijan pou rasanble yo.

SOU PWODWI

  • Mwen gen yon kote ki mou pou vintage sentèz. Sèn pwodiksyon mizik aktyèl la enteresan, pa fè m mal, men mwen jwenn tèt mwen jwe ak klavye "demode" pi plis.
  • Yon dezavantaj ak enstriman mizik ki soti nan mitan ane 80 yo se pafwa mank nan pwogramasyon. Pwogramasyon kèk nan yo ka fatigan, ak lefèt ke lojisyèl twazyèm pati souvan pa sipòte pwotokòl SysEx pa ede.
  • Gen de apwòch pou fè fas a pwoblèm sa a de tout fason: lojisyèl (ki moun ki di Ctrlr?) ak pyès ki nan konpitè.
  • Evidamman di, nou ap fè fas ak yon solisyon pyès ki nan konpitè isit la.
  • Mwen te (mwen panse) deja ranfòse pwogramasyon nan kèk enstriman ikonik ki soti nan epòk an lò tankou Roland a-Juno, Oberheim Matrix 6, Korg DW8000, SCI Multitrack ak lòt moun ak yon pwogramè Combi SysEx ak sekanseur ki baze sou arduino MEGA. Dènye dejwe mwen an nan tablo mikrokontroleur Raspberry Pi Pico te fè m reflechi sou fason pou rezoud pwoblèm nan.
  • Franbwaz Pi Pico se yon mikwokontwolè bon mache ak pwisan epi li se chwa pi renmen mwen, dènyèman. Mwen adopte li pou nouvo pwojè, men tou pou revize kèk ansyen pwojè mwen yo.
  • Avèk limit memwa IC a ale (men yon kantite limite nan GPIOs) mwen te fini ak yon bagay ki gen yon koòdone trè diferan ak travay:ow ak respè pwojè anvan an.
  • Pi bon? Pi mal? Ou deside 🙂

Pwovizyon

Swiv Bill of Materials (BOM):

  • Mikwokontwolè, ICs, Display
    • 1x Franbwaz Pi Pico (30 GPIO script)
    • 1x 6N138 optocoupler
    • 1x 1602A ekspozisyon dirije
  • Kondansateur, Rezistans, ak taye
    • 3x 220 ohm rezistans
    • 1x 330 ohm rezistans
    • 1x 10K ohm rezistans
    • 2x 1000 ohm taye
      1x 100nF kondansateur ki pa polarize
  • Dyòd ak ankode
    • 1x 1N4148 dyod
    • 1x 1N4004 dyod
    • 2x ankode optik incrémentielle
  • Lòt moun
    • 2x bouton po (si ou vle)
    • 1x DC barik
    • 1x B3F 4050 Omron pouse bouton momantane
    • 2x MIDI (DIN 5) konektè

PWODWI LAYOUTS

instructables-PICO-MIDI-SysEx-Patcher-fig-2
instructables-PICO-MIDI-SysEx-Patcher-fig-3
instructables-PICO-MIDI-SysEx-Patcher-fig-4
instructables-PICO-MIDI-SysEx-Patcher-fig-5
instructables-PICO-MIDI-SysEx-Patcher-fig-6

ENSTRIKSYON ENSTALASYON

Etap 1: Karakteristik pwogramè yo

  • Fonksyon prensipal pwogramè PICO MIDI SysEx yo se:
    • Bati-an ekspozisyon dirije
    • Senp operasyon ak sèlman de ankode rotary ak yon bouton pouse
    • Antre MIDI, pou operasyon seri
    • Louvri mikrolojisyèl
  • Wi, teknikman ankode rotary sa yo gen yon bouton pouse entegre epi yo aktyèlman ap itilize, kidonk konte bouton an se "twa", pa "yon sèl".
  • Yo ta dwe mete pwogramè a ant kontwolè mèt ou a ak sentèz ou vle kreye yon patch pou.
  • Sa fè posib modifikasyon tan reyèl nan paramèt pandan y ap jwe yon sekans ak transfè a nan nenpòt lòt mesaj MIDI ou vle delivre soti nan kontwolè a mèt nan sintèz la sib.
  • Sentè ki sipòte kounye a yo se:
    • Roland Alpha Juno (1/2)
    • Korg DW8000/EX8000
    • Oberheim Matrix 6/6R (> 2.14 rmware)
  • Kòm plis detay dekri nan pwochen etap yo, ekspozisyon an ak gwoupman nan paramèt nan nivo lojisyèl jwe yon gwo wòl nan pwojè sa a. Kontinye lekti pou plis detay 🙂
Etap 2: Deskripsyon Materyèl
  • Entèfas
    • Nan pwogramè sa a mwen te vle adopte yon apwòch opoze ak respè pwojè anvan an: eleman koòdone yo isit la kenbe nan yon minimòm, ak sèlman de ankode incrémentielle wotasyon ak yon bouton meni (ok: twa bouton).
    • Li ka sanble yon etap bak diminye kantite bouton nan yon pwogramè ki fèt pou fè fas a mank de pwogramasyon nan mitan '80s synths. Se pa si ou konsidere sinergy a ak yon rmware kote tout paramèt yo rezonab kategori (gade pwochen etap) ak yon ekspozisyon ki ap dirije ki montre an tan reyèl kategori paramèt patch, non ak valè.
  • Ekspozisyon ki ap dirije
    Yon ekspozisyon dirije ki gwosè rezonab fè patch la pi bèl, sitou si ou vle pase tan sou li. Pwojè pwogramè pyès ki nan konpitè anvan mwen an ekipe ak yon ti ekspozisyon OLED. Li ase pou pyès ki nan konpitè paske enfòmasyon ki parèt yo limite nan pwopriyete sekans yo, men nan ka sa a tout non paramèt patch yo vizib, san yo pa bezwen yon fèy konparezon.
  • Microcontroleur
    • Kòm te di, mikrokontwolè nan itilize se Franbwaz Pi Pico la. Mikwokontwolè sa a pwisan tou de an tèm de pouvwa enfòmatik (jiska 133Mhz, doub nwayo) ak depo memwa (jiska 16Mb). Sa a gwo - dapre estanda jodi a - memwa pèmèt yo enkli kòd pwolib nan rmware a, fè nouvo apwòch la adopte.
    • Raspberry Pi Pico a tou bon mache, nan moman sa a, soo ...
  • MIDI
    • Tou de sikui MIDI IN ak MIDI OUT yo entegre.
    • MIDI OUT se obligatwa pou kapab voye mesaj MIDI epi nan okenn fason yo ta ka kite deyò.
    • MIDI IN nesesè tou, paske synth la pa t 'kapab resevwa mesaj nan nenpòt lòt enstriman (sa vle di klavye mèt oswa DAW) lè pwogramè a konekte. Sa vle di ke faz patch ak sekans yo ta nesesèman separe/distenk. Avèk yon sikwi MIDI IN entegre ou ka gen tou de yon sekans kouri ak posiblite pou modifye patch la an menm tan (sa vle di ou ta ka voye yon bèl bale lter an tan reyèl).
    • Sikwi MIDI IN a se yon sikwi opto-izole ki respekte spesifikasyon asosyasyon MIDI yo. Pa gen anyen nouvo anba solèy la.
  • Pwovizyon pou pouvwa
    • Pwogramasyon SysEx la ka mache nan de fason diferan: dirèkteman nan konektè USB-C nan tablo mikwo-kontwolè a, oswa lè l sèvi avèk PCB ki monte DC barik la. Tou de se legi, men mwen prefere dènye a paske:
      1. barik DC a pi solid
      2. D 'barik DC se dirèkteman konekte ak liy +5V PICO a (sa yo rele "Vsys" PIN) ki kontoune yon entèn.
        Dyòd pwoteksyon nan seri.
    • Yon sant pozitif PSU dwe itilize. Menm si yon dyòd pwoteksyon envès polarite la, ou pa vle aplike polarite envès paske li ta ka domaje PSU ou (pa pwogramè a akòz kout dyòd pwoteksyon GND ak + 5V nan sitiyasyon sa a).
  • Komisyon Konsèy Mikwokontwolè
    Mwen te deja chante lwanj yo nan Raspberry Pi Pico tablo mikrokontroleur. Isit la mwen vle jis ajoute yon avètisman. Gen de vèsyon nan tablo mikrokontwolè sa a (si nou neglije lefèt ke ou ka achte li ak memwa ki sòti nan 2Mb a 16Mb). Isit la mwen te itilize klonaj la 30 broch, ki gen yon pinout diferan ki gen rapò ak oKcial Pico la. Nan moman sa a, vèsyon an 9Mb se suKcient.
Etap 3: Cathegorizations paramèt pwogramè yo
  • Defile nan plis pase 30 paramèt nan yon fason sekans (youn apre lòt) pa pratik. Sepandan, pwogramè sa a reklamasyon senplifikasyon nan koòdone "sèl done kurseur" nan sentèz sipòte. Kòman sa ye?
  • Yon solisyon posib pou wè sib la te, pou mwen, gwoupman paramèt nan kategori. Cathegorization fè paramèt yo pi aksesib lè yo redwi kantite yo, epi li fè li pi fasil pou aktyèlman lokalize yo.
  • Cathegorization te swiv menm prensip la pou tout sentèz yo sipòte epi, nan entansyon mwen, sanble ak estrikti nan blòk fizik tipik nan sentèz analòg renmen anpil nou yo: osilateur -> voltage kontwole lters -> voltage kontwole ampmanti. Sous modulasyon ak efè yo se pwochen (plis detay nan sa ki annapre yo
  • Korg DW8000
    • DW8000 (ak EX8000) patch paramèt kote deja kouche byen pa Korg, se konsa cathegorization nan pwogramè swiv slavishly gwoup panèl la devan.
    • Paramèt yo gwoupe nan 8 kategori:
      • Osilateur 1
      • Osilateur 2
      • Voltage Kontwole Filter
      • Voltage Kontwole Ampmanti
      • Osilator frekans ki ba
      • Rou
      • Reta dijital
      • Lòt moun (portamento)
        Gade fèy header Etap pou plis detay sou souskategori yo.
    • Filtre ak amplier gen yon anvlòp dedye chak. Nan ka sa a, anvlòp paramantè yo gwoupe nan vol latage eleman ki kontwole destinasyon.
    • Tout paramèt DW8000 yo sipòte, eksepsyon de mòd/chanèl MIDI.
  • Roland a-JUNO
    • Menm si Roland a-Juno a gen yon kantite limite nan paramèt patch, sekans yo nan aplikasyon MIDI a se pi konfizyon ant sentèz la sipòte. Li te pran m 'kèk tan yo gwoup aplikasyon an MIDI nan yon fason ki sanble ak sekans nan panèl devan (menm si se pa menm bagay la).
    • Men, misyon reyalize:
      • Osilator
      • Voltage Kontwole Filter
      • Voltage Kontwole Ampmanti
      • Anvlòp
      • LFO
      • Refren ak koube
        Gade fèy header Etap pou plis detay sou souskategori yo.
    • Tout 36 paramèt Roland a-Juno yo sipòte pa pwogramè a. Paramèt anvlòp sèl (ki ka bay) yo gwoupe anba yon gwoup devwe.
  • Oberheim Matrice 6
    • Oberheim M6/M6r a se sentèz ki pi avanse nan anpil la epi li prezante yon konpleksite wout enkwayab menm konpare ak enstriman mizik jodi a.
    • Tan an te anseye nou ke "konpleksite" kapab yon kouto de lam nan mond pwodiksyon mizik la, ak absans posiblite manipilasyon paramèt dirèk fè Matrix 6 la youn nan "sound factory" ki pi meprize yo deyò an tèm de jeni son.
    • Nan 99 paramèt synth la sipòte, "sèlman" 52 yo te enkli nan rmware pwogramè a. Mwen kategorize yo an 9 gwoup:
      • Osilateur 1
      • Osilateur 2
      • Voltage Kontwole Filter
      • Voltage Kontwole Ampmanti
      • Ramps
      • Anvlòp 1
      • Anvlòp 2
      • LFO 1
      • LFO 2
        Gade fèy header Etap pou plis detay sou souskategori yo.
    • Mwen te eseye limite paramèt yo nan yon nimewo rezonab pa kite soti nan ekwasyon an twazyèm anvlòp la, pwen tras, klik, elatriye Li ta posib okipe yo tout, de tout fason, gras a gwosè a memwa Franbwaz Pi Pico.
    • Paramèt ki pa okipe pa pwogramè a pa "enfim", men aksesib atravè panèl la synth, de tout fason!
    • Modulation Matrix la te twò konplèks pou yo ka enkli, kidonk li te kite deyò.

      instructables-PICO-MIDI-SysEx-Patcher-fig-7
      instructables-PICO-MIDI-SysEx-Patcher-fig-8
      instructables-PICO-MIDI-SysEx-Patcher-fig-9

Etap 4: Kouman pou itilize

  • Nan premye limen, seleksyon sintèz la ak paj meni chanèl MIDI parèt.
    • Vire bouton GÒCH la (bouton PARAMETRE) pou chwazi ki chanèl MIDI synth sib la ap koute.
    • Vire bouton DWA (bouton VALUE) pou chwazi sentèz ou vle voye mesaj MIDI ou yo.
  • Ou pral bezwen fè operasyon sa a nenpòt ki lè ou reset pwogramè a. Li trè senp pou gen de varyab ki detekte sentèz la kòmanse ak chanèl MIDI pou tout tan chanje gras a nati sous louvri nan rmware la.
  • Koulye a, nou ka soti nan mòd meni pa peze bouton an "Meni". Pou Chanje nenpòt paramèt patch sipòte:
    • Wotasyon ankode rotary men gòch la (bouton PARAMETER) pou chwazi kategori enterè paramèt la (non nan pati siperyè ekspozisyon ki ap dirije a)
    • Pess bouton an pouse bouton rotary men gòch la pou chanje nan seleksyon aktyèl paramèt la (non nan pati ki pi ba nan ekspozisyon an ki ap dirije)
    • Chwazi paramèt aktyèl la ou vle modifye pa wotasyon ankode men gòch la (paramèt bouton)
    • Wotasyon ankode rotary men dwat la nan valè paramèt vle a. Ou ka avanse valè paramèt 10-pa-10 lè w peze bouton an pouse men dwat rotary encoder.
  • Valè paramèt patch yo transmèt MIDI le pli vit ke valè a chanje pou patch "an tan reyèl".
  • Repete pwosedi a pou nenpòt paramèt ki enterese w.
  • Si ou vle retounen nan ekran meni an, tou senpleman peze bouton meni an.
  • Tanpri remake ke:
    • Paramèt pwogramè a yo tout inisyalize nan yon valè "zewo" lè pwogramè a limen an premye apre yon fèmen oswa lè ou chwazi yon sentèz diferan nan meni an.
    • Lè yon valè paramèt chanje, valè sa a se kenbe nan memwa osi lontan ke pwogramè a pa te reset oswa vire o9.
    • Si ou chanje yon valè paramèt nan panèl devan sentèz la, paramèt Pwogramè a pa mete ajou (yo pa nan senkronizasyon).
      >>ISIT<< se depo tras la (Github) ak dènye vèsyon an. Kòm sous ouvè, ou akeyi modifye desen an ak x pinèz yo (gade pwochen etap la) 😉

      instructables-PICO-MIDI-SysEx-Patcher-fig-10
      instructables-PICO-MIDI-SysEx-Patcher-fig-11
      instructables-PICO-MIDI-SysEx-Patcher-fig-12

Etap 5: Trase Limit / pinèz

  • Gen plas pou gwo amelyorasyon nan desen aktyèl la, preliminè.
  • Nan example, nou ta ka ajoute yon fonksyon pou konsève pou chanèl midi ak sentèz olye pou yo chwazi li sou demaraj chak fwa pwogramè a vire sou. Etandone kantite memwa toujou gratis li ta bon tou pou sipòte kèk lòt sentèz. Li ta bon tou pou jwenn ak estoke paramèt patch aktyèl yo epi gen pwogramè ak sentèz senkronize.
  • Mwen dwe rapòte tou yon koup nan pinèz anmèdan nan sa a iterasyon premye nan kòd la. Premye fwa ou vire youn nan de ankode optik yo, yon bibliyotèk (mwen ta kwè se bibliyotèk LCD a, men mwen pa sèten) inisyalize epi fè Pwogramè a pa reponn pou kèk (de oswa twa) segonn. Pa yon gwo zafè, men anmèdan.
  • Yon lòt ensèk se pèt kèk voye SysEx (yo anrejistre chak vire ankode optik, men pafwa pa gen anyen transfere nan MIDI soti). Sa a se definitivman yon bagay nan x.

Etap 6: Rekonesans

  • PCB ki foto nan Instructable sa a te patwone pa JLCPCB, yon manifakti gwo teknoloji espesyalize nan pwodiksyon PCB ki trè serye ak pri-efikas.
  • Yo ofri yon sèvis asanble PCB: esib ak yon gwo bibliyotèk ki gen plis pase 9 konpozan nan stock. Enpresyon 350.000D te "dènyèman" te ajoute nan pòtfolyo sèvis yo pou yon moun ka kreye yon pwodwi konplè fini tout nan yon sèl kote!
  • Sèvis kliyan yo reponn ak itil ak PCB yo yon gwo valè pou lajan an.
  • Kontribisyon yo nan reyalizasyon pwojè sa a te esansyèl sooo... mèsi anpil! 🙂
  • Lè w enskri sou sit JLCPCB atravè LINK SA a (yon lyen ki asosye) w ap resevwa yon seri koupon pou kòmand ou yo. Enskripsyon pa koute anyen, kidonk li ta ka yon bèl opòtinite pou bay sèvis yo yon eseye 😉

    instructables-PICO-MIDI-SysEx-Patcher-fig-13
    instructables-PICO-MIDI-SysEx-Patcher-fig-14

Dokiman / Resous

instructables PICO MIDI SysEx Patcher [pdfManyèl Enstriksyon
PICO MIDI SysEx Patcher, MIDI SysEx Patcher, SysEx Patcher, Patcher, PICO MIDI SysEx

Referans

Kite yon kòmantè

Adrès imel ou p ap pibliye. Jaden obligatwa yo make *