instructables-logo

instructables PICO MIDI SysEx Patcher

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

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

  1. Cunnette u PICO MIDI SysEx Patcher trà u vostru controller maestru è u vintage sintetizzatore chì vulete creà un patch per.
  2. Accende u cuntrollu maestru è u vintage sintetizzatore.
  3. Aduprate i dui codificatori rotativi per navigà è mudificà i paràmetri in tempu reale mentre ghjucate una sequenza.
  4. Aduprate u buttone per trasfiriri qualsiasi altru missaghju MIDI da u cuntrollu maestru à u sintetizzatore di destinazione.
  5. 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

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

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è:
      1. a canna DC hè più robusta
      2. 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).
  • 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.

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

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) 😉

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

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 😉

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

Documenti / Risorse

instructables PICO MIDI SysEx Patcher [pdfManuale d'istruzzioni
PICO MIDI SysEx Patcher, MIDI SysEx Patcher, SysEx Patcher, Patcher, PICO MIDI SysEx

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *