Cuntenuti
ammuccià
instructables PICO MIDI SysEx Patcher
Informazione di u produttu
- U PICO MIDI SysEx Patcher di baritonomarchetto hè una soluzione hardware pensata per aumentà a programabilità di vintage sintetizzatori chì mancanu programmabilità. Hè basatu annantu à a scheda di microcontroller Raspberry Pi Pico è presenta un display LED integratu, dui codificatori rotativi cù pulsanti integrati, è un buttone. Include ancu un input MIDI per u funziunamentu seriale è un firmware apertu. U programatore pò esse piazzatu trà u cuntrollu maestru è u sintetizzatore per permette mudificazione in tempu reale di i paràmetri mentre ghjucanu una sequenza, è u trasferimentu di qualsiasi altru missaghju MIDI da u cuntrollu maestru à u sintetizzatore di destinazione.
- U PICO MIDI SysEx Patcher sustene parechji vintage synths, cumpresi Roland Alpha Juno (1/2), Korg DW8000/EX8000, è Oberheim Matrix 6/6R (> 2.14 firmware).
Istruzzioni per l'usu di u produttu
- Cunnette u PICO MIDI SysEx Patcher trà u vostru controller maestru è u vintage sintetizzatore chì vulete creà un patch per.
- Accende u cuntrollu maestru è u vintage sintetizzatore.
- Aduprate i dui codificatori rotativi per navigà è mudificà i paràmetri in tempu reale mentre ghjucate una sequenza.
- Aduprate u buttone per trasfiriri qualsiasi altru missaghju MIDI da u cuntrollu maestru à u sintetizzatore di destinazione.
- Riferite à u manuale d'utilizatore per infurmazioni più dettagliate nantu à cumu utilizà a visualizazione è cumu i paràmetri sò raggruppati à livellu di software.
Nota: Assicuratevi chì u vostru vinutagU synth hè supportatu da u PICO MIDI SysEx Patcher prima di usà. Inoltre, riferite à a sezione di descrizzione di hardware di u manuale di l'usu per infurmazioni nantu à i cumpunenti necessarii è cumu assemblelli.
À PRODUTTU
- Aghju un bellu pezzu per vintage sintetizzatori. L'attuale scena di pruduzzione musicale hè eccitante, ùn mi sbagliate micca, ma mi trovu più à ghjucà cù tastiere "obsolete".
- Un inconveniente cù strumenti da a mità di l'anni 80 hè qualchì volta a mancanza di prugrammabilità. A prugrammazione di alcuni di elli pò esse tediosa, è u fattu chì i software di terzu spessu ùn sustene micca u protokollu SysEx ùn aiuta micca.
- Ci hè dui approcci per affruntà stu prublema in ogni modu: software (chì hà dettu Ctrlr?) è hardware.
- Inutili, avemu trattatu di una suluzione hardware quì.
- Aghju (pensu) digià stimulatu a prugrammabilità di certi strumenti iconichi di l'era d'oru cum'è Roland a-Juno, Oberheim Matrix 6, Korg DW8000, SCI Multitrack è altri cù un programatore combi SysEx è sequencer basatu in arduino MEGA. A mo dipendenza recente à a scheda di microcontroller Raspberry Pi Pico m'hà fattu pensà à cumu risolve u prublema.
- Raspberry Pi Pico hè un microcontroller economicu è putente è hè a mo scelta preferita, ultimamente. Aghju aduttatu per novi prughjetti, ma ancu per rivisite qualchì vechju prughjettu di u mio.
- Cù i limiti di memoria di IC andati (ma un numeru limitatu di GPIO) aghju finitu cù qualcosa cù una interfaccia assai diversa è u travagliu: u rispettu à u prughjettu precedente.
- Megliu ? Peggiu ? Decidi tu 🙂
Forniture
Segue a Bill of Materials (BOM):
- Microcontrollers, IC, Display
- 1x Raspberry Pi Pico (clone 30 GPIO)
- 1x optocoupler 6N138
- 1x display LED 1602A
- Condensatori, resistori è trimmers
- 3x resistenza 220 ohm
- 1x resistenza 330 ohm
- 1x resistenza 10K ohm
- 2 trimmers da 1000 ohm
1x 100nF condensatore non polarizatu
- Diodi è codificatori
- 1x diode 1N4148
- 1x diode 1N4004
- 2x codificatori ottici incrementali
- Altri
- 2x pomelli per pot (opzionale)
- 1 x canna DC
- 1x B3F 4050 Pulsante momentaneo Omron
- 2x connettori MIDI (DIN 5).
DISPOSIZIONI DI PRODUTTIU




ISTRUZIONI PER L'INSTALLAZIONE
Passu 1: Funzioni di u prugrammatore
- E funzioni principali di u prugrammatore PICO MIDI SysEx sò:
- Display LED integratu
- Funzionamentu simplice cù solu dui codificatori rotativi è un buttone
- Ingressu MIDI, per u funziunamentu seriale
- Firmware apertu
- Iè, tecnicamente, quelli codificatori rotativi anu un buttone integratu è in realtà sò in usu, cusì u numeru di buttone hè "trè", micca "unu".
- U programatore deve esse situatu trà u vostru controller maestru è u sintetizzatore per quale vulete creà un patch.
- Questu permette di mudificà i paràmetri in tempu reale mentre ghjucanu una sequenza è u trasferimentu di qualsiasi altru missaghju MIDI chì vulete trasmette da u controller maestru à u sintetizzatore di destinazione.
- I sintetizzatori attualmente supportati sò:
- Roland Alpha Juno (1/2)
- Korg DW8000/EX8000
- Oberheim Matrix 6/6R (> 2.14 rmware)
- Cum'è più verbosely discrittu in i prossimi Passi, a visualizazione è u raggruppamentu di i paràmetri à u livellu di u software ghjucanu un rolu maiò in stu prughjettu. Cuntinuà à leghje per più dettagli 🙂
Passu 2: Descrizzione Hardware
- Interfaccia
- In questu programatore, aghju vulsutu aduttà un accostu oppostu cù u rispettu di u prughjettu precedente: L'elementi di l'interfaccia sò quì mantenuti à u minimu, cù solu dui codificatori incrementali rotativi è un buttone di menu (ok: trè buttoni).
- Pò esse un passu in daretu chì riduce u nùmeru di manichi in un programatore natu per affruntà a mancanza di prugrammabilità di i sintetizzatori di a mità di l'anni 80. Ùn hè micca s'ellu si cunsiderà a sinergia cù un rmware induve tutti i paràmetri sò ragiunate categorizzati (vede u prossimu Passu) è un display LED chì mostra in tempu reale a categuria, u nome è u valore di i paràmetri di patch.
- Display LED
Un display LED di dimensioni ragiunate rende u patching più piacevule, soprattuttu se vulete passà u tempu nantu à questu. U mo prughjettu di programatore hardware precedente hè dotatu di un picculu display OLED. Hè abbastanza per quellu hardware perchè l'infurmazioni affissate sò limitati à e proprietà di a sequenza, ma in questu casu tutti i nomi di i paràmetri di patch sò visibili, senza a necessità di un fogliu di paragone. - Microcontroler
- Comu dissi, u microcontroller in usu hè u Raspberry Pi Pico. Stu microcontroller hè putente sia in quantu à a putenza computazionale (finu à 133Mhz, dual core) è a memoria di almacenamiento (finu à 16Mb). Questa memoria enormosa - cum'è per i normi di l'oghje - permette di include strings verbose in u rmware, facendu u novu approcciu aduttatu.
- U Raspberry Pi Pico hè ancu economicu, per u mumentu, cusì ...
- MIDI
- I circuiti MIDI IN è MIDI OUT sò integrati.
- MIDI OUT hè ubligatoriu per esse in gradu di mandà missaghji MIDI è in nisun modu puderia esse lasciatu fora.
- MIDI IN hè ancu necessariu, perchè u sintetizzatore ùn puderia micca riceve messagi da qualsiasi altru strumentu (vale à dì u teclatu maestru o DAW) quandu u programatore hè cunnessu. Questu significa chì e fasi di patching è sequencing seranu necessariamente separati / distinti. Cù un circuitu MIDI IN integratu, pudete avè una sequenza in esecuzione è a pussibilità di mudificà u patch à u stessu tempu (vale à dì pudete mandà una bella spazzata di ltru in tempu reale).
- U circuitu MIDI IN hè un circuitu opto-isolatu chì rispettu e specificazioni di l'associazione MIDI. Nunda di novu sottu à u sole.
- Alimentazione elettrica
- U programatore SysEx pò esse alimentatu in duie manere diverse: direttamente da u cunnessu USB-C di a scheda di microcontroller, o usendu u baril DC montatu in PCB. Tutti dui sò legittimi, ma preferiscu l'ultime perchè:
- a canna DC hè più robusta
- L'input di canna DC hè direttamente cunnessu cù a linea + 5V di PICO (u pinnu chjamatu "Vsys") chì bypassa un internu.
prutezzione diode in serie.
- Un PSU pusitivu centru deve esse usatu. Ancu s'ellu ci hè un diodu di prutezzione di polarità inversa, ùn vulete micca applicà a polarità invertita perchè puderia dannà u vostru PSU (micca u programatore per via di a prutezzione di diode shorting GND è + 5V in tale situazione).
- U programatore SysEx pò esse alimentatu in duie manere diverse: direttamente da u cunnessu USB-C di a scheda di microcontroller, o usendu u baril DC montatu in PCB. Tutti dui sò legittimi, ma preferiscu l'ultime perchè:
- Cunsigliu di microcontroller
Aghju digià cantatu i lodi di a scheda di microcontroller Raspberry Pi Pico. Quì vogliu solu aghjunghje un avvisu. Ci sò duie versioni di sta scheda microcontroller (se trascuratemu u fattu chì pudete cumprà cù memoria chì varieghja da 2Mb à 16Mb). Eccu aghju utilizatu u clone di 30 pins, chì hà un pinout differente cù u rispettu à l'oKcial Pico. À u mumentu, a versione 9Mb hè suKcient.
Passu 3: Categorizazioni di i parametri di u prugramma
- Scrolling through 30+ parameters in una manera sequenziale (unu dopu à l'altru) ùn hè micca praticu. Tuttavia, stu Programmatore pretende a simplificazione di l'interfaccia "single data slider" di sintetizzatori supportati. Cumu hè questu?
- Una suluzione pussibule per vede u mira era, per mè, raggruppamentu di parametri in categurie. A categorizazione rende i paràmetri più accessibule riducendu u so numeru, è rende più faciule per localizà elli.
- A categorizazione hà seguitu u listessu principiu per tutti i sintetizzatori supportati è, in i mo intenzioni, s'assumiglia à a struttura tipica di bloccu fisicu di i nostri amati sintetizzatori analogichi: oscillatori -> vol.tage ltri cuntrullati -> voltaghè cuntrullatu ampbugie. I fonti di modulazione è l'effetti sò dopu (più dettagli in i seguenti
- Korg DW8000
- I paràmetri di patch DW8000 (è EX8000) sò digià stabiliti bè da Korg, cusì a categorizazione di u prugrammatore seguita servilmente u raggruppamentu di u pannellu frontale.
- I paràmetri sò raggruppati in 8 categurie:
- Oscillateur 1
- Oscillateur 2
- Voltage Filtru cuntrullatu
- Voltage Cuntrollatu Amplier
- Oscillatore à bassa frequenza
- Rota
- Ritardo digitale
- Altri (portamentu)
Vede l'intestazione Step per i dettagli nantu à e sottocategorie.
- Filtru è ampLier anu una busta dedicata ognuna. In questu casu, i paramenti di buste sò raggruppati in u voltagE elementu cuntrullatu di destinazione.
- Tutti i paràmetri DW8000 sò supportati, cù l'eccezzioni di i modi / canali MIDI.
- Roland à-JUNO
- Ancu s'è u Roland a-Juno hà un numeru limitatu di paràmetri di patch, a so sequenza in l'implementazione MIDI hè a più confusa trà u sintetizzatore supportatu. Mi pigliò un pocu di tempu per raggruppà l'implementazione MIDI in una manera simile à a sequenza di u pannellu frontale (ancu s'ellu ùn hè micca listessu).
- A missione cumpleta, però:
- Oscillator
- Voltage Filtru cuntrullatu
- Voltage Cuntrollatu Amplier
- Busta
- LFO
- Coro è curvatura
Vede l'intestazione Step per i dettagli nantu à e sottocategorie.
- Tutti i 36 parmetri Roland a-Juno sò supportati da u prugrammatore. I paràmetri di busta unicu (assignable) sò raggruppati sottu un gruppu dedicatu.
- Matrice di Oberheim 6
- L'Oberheim M6 / M6r hè u sintetizzatore più avanzatu di u lottu è presenta una cumplessità di routing incredibile ancu paragunatu cù strumenti d'oghje.
- U tempu ci hà amparatu chì "a cumplessità" pò esse un cuteddu di dui lame in u mondu di a produzzione musicale, è l'absenza di pussibulità di manipulazione di parametri diretti facenu a Matrix 6 una di a "fabbrica di suoni" più sottovalutata in quantu à l'ingegneria di u sonu.
- Di i 99 paràmetri chì u sintetizzatore sustene, "solu" 52 sò stati inclusi in u rmware di u Programmer. I categorizzati in 9 gruppi:
- Oscillateur 1
- Oscillateur 2
- Voltage Filtru cuntrullatu
- Voltage Cuntrollatu Amplier
- Ramps
- Buste 1
- Buste 2
- LFO 1
- LFO 2
Vede l'intestazione Step per i dettagli nantu à e sottocategorie.
- Aghju pruvatu à limità i paràmetri à un numeru raghjone, lascendu fora di l'equazioni u terzu bustu, punti di traccia, clics, etc. Saria pussibule di trattà tutti, in ogni modu, grazia à a dimensione di memoria Raspberry Pi Pico.
- I paràmetri chì ùn sò micca trattati da u Programmatore ùn sò micca "disabilitati", ma accessibili per mezu di u pannellu di sintetizzatore, in ogni modu!
- A Matrix Modulation era troppu cumplessa per esse inclusa, cusì hè stata abbandunata.



Passu 4: Cumu aduprà
- À a prima accensione, a selezzione di sintetizzatore è a pagina di menu di u canali MIDI hè visualizata.
- Girate a manopola LEFT (mantella PARAMETER) per selezziunà quale canale MIDI ascolta u sintetizzatore di destinazione.
- Girate a manopola RIGHT (mantella VALUE) per selezziunà u sintetizzatore à quale vulete mandà i vostri missaghji MIDI.
- Avete bisognu di fà sta operazione ogni volta chì resettate u Programmer. Hè assai simplice per avè e duie variabili chì deniscenu u sintetizzatore di partenza è u canale MIDI cambiatu permanentemente grazia à a natura open source di u rmware.
- Avà pudemu esce da u modu di menu pressendu u buttone "Menu". Per cambià qualsiasi paràmetru di patch supportatu:
- Girate l'encoder rotativu di a manca (maniglia PARAMETER) per selezziunà a categuria d'interessu di u paràmetru (nomi in a parte superiore di u display LED)
- Pess u buttone di codificatore rotativu di a manu manca per passà à a selezzione di i paràmetri attuale (nomi in a parte inferiore di u display LED)
- Selezziunate u paràmetru attuale chì vulete mudificà girendu l'encoder di a manu sinistra (mantella PARAMETER)
- Girate l'encoder rotativu di a manu diritta à u valore di u paràmetru desideratu. Pudete avanzà i valori di i paràmetri 10 per 10 pressendu u buttone di codificatore rotativu à diritta.
- I valori di i paràmetri di Patch sò trasmessi MIDI appena u valore hè cambiatu per patching "in tempu reale".
- Repetite a prucedura per ogni paràmetru di u vostru interessu.
- Se vulete vultà à u screnu di u menù, basta appughjà u buttone di menu.
- Per piacè nutate chì:
- I paràmetri di u prugrammatore sò tutti inizializzati à un valore di "zero" quandu u prugrammatore hè prima attivatu dopu un arrestu o quandu selezziunate un sintetizzatore diversu in u menu.
- Quandu u valore di un paràmetru hè cambiatu, quellu valore hè guardatu in memoria finu à chì u Programmatore ùn hè micca stata resettata o disattivata.
- Se cambiate un valore di paràmetru da u pannellu frontale di sintetizzatore, u paràmetru di u Programmer ùn hè micca aghjurnatu (ùn sò micca sincronizzati).
>> QUI<< hè u repositoriu di sketch (Github) cù l'ultima versione. Essendu open source, site benvenutu per mudificà u sketch à a vostra vuluntà è x i bug (vede u prossimu Passu) 😉


Passu 5: Sketch Limits / bugs
- Ci hè spaziu per migliurà maiò in u sketch attuale, preliminare.
- In example, pudemu aghjunghje una funzione per salvà u canali midi è sintetizzatore invece di avè da selezziunà à l'iniziu ogni volta chì u Programmer hè attivatu. Data a quantità di memoria chì hè sempre libera, saria ancu piacevule per sustene alcuni altri sintetizzatori. Saria ancu piacevule per uttene è almacenà i paràmetri di u patch attuale è avè u prugrammatore è u sintetizzatore sincronizatu.
- Aghju da signalà ancu un paru di bug fastidiosi in questa prima iterazione di u codice. A prima volta chì girate unu di i dui codificatori ottici, una biblioteca (supponu chì hè a biblioteca LCD, ma ùn sò micca sicuru) inizializza è rende u Programmatore senza risposta per alcuni (dui o trè) seconde. Ùn hè micca grande, ma fastidiosu.
- Un altru bug hè a perdita di qualchì mandatu SysEx (ogni turnu di codificatore otticu hè registratu, ma qualchì volta nunda hè trasferitu à u MIDI out). Questu hè certamente qualcosa à x.
Passu 6: Riconoscimenti
- U PCB stampatu in questu Instructable hè statu patrocinatu da JLCPCB, un fabricatore d'alta tecnulugia specializatu in a produzzione di PCB d'alta affidabilità è costu-e9ective.
- O9er un serviziu di assemblea PCB flessibile cù una biblioteca enormosa di più di cumpunenti 350.000 in stock. A stampa 3D hè stata "recentemente" aghjunta à a so cartera di servizii per chì unu pò creà un pruduttu finitu cumpletu in un locu!
- U so serviziu di u cliente hè responsive è utile è PCB un grande valore per i soldi.
- A so cuntribuzione à a realizazione di stu prughjettu era essenziale sooo... mille grazie! 🙂
- Iscrivendu à u situ JLCPCB via QUESTU LINK (un ligame liatu) riceverete una serie di cuponi per i vostri ordini. A registrazione ùn costa nunda, cusì puderia esse una bella opportunità per pruvà u so serviziu 😉


Documenti / Risorse
![]() |
instructables PICO MIDI SysEx Patcher [pdfManuale d'istruzzioni PICO MIDI SysEx Patcher, MIDI SysEx Patcher, SysEx Patcher, Patcher, PICO MIDI SysEx |





