logo-instructables

instruksi PICO MIDI SysEx Patcher

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

Informasi produk

  • PICO MIDI SysEx Patcher dening baritonomarchetto minangka solusi hardware sing dirancang kanggo nambah programmabilitas vin.tage synthesizers sing lack programmability. Iki adhedhasar papan mikrokontroler Raspberry Pi Pico lan nduweni tampilan LED sing dibangun, rong encoder rotary kanthi tombol push sing dibangun, lan tombol push. Uga kalebu input MIDI kanggo operasi serial lan perangkat kukuh mbukak. Programmer bisa diselehake ing antarane master controller lan synthesizer kanggo ngidini kanggo modifikasi nyata-wektu paramèter nalika muter urutan, lan transfer pesen MIDI liyane saka controller master kanggo synth target.
  • PICO MIDI SysEx Patcher ndhukung sawetara vintage synths, kalebu Roland Alpha Juno (1/2), Korg DW8000 / EX8000, lan Oberheim Matrix 6/6R (> 2.14 firmware).

Pandhuan Panggunaan Produk

  1. Sambungake PICO MIDI SysEx Patcher antarane master controller lan vintage synthesizer sampeyan pengin nggawe tembelan kanggo.
  2. Nguripake controller master lan vintage synthesizer.
  3. Gunakake rong encoder Rotary kanggo navigasi lan ngowahi paramèter ing wektu nyata nalika muter urutan.
  4. Gunakake tombol push kanggo mindhah pesen MIDI liyane saka pengontrol master menyang synth target.
  5. Deleng manual pangguna kanggo informasi sing luwih rinci babagan cara nggunakake tampilan lan cara paramèter diklompokaké ing tingkat piranti lunak.
    Cathetan: Priksa manawa vin Panjenengantage synth didhukung dening PICO MIDI SysEx Patcher sadurunge nggunakake. Uga, waca bagean katrangan hardware ing manual pangguna kanggo informasi babagan komponen sing dibutuhake lan cara ngumpulake.

TENTANG PRODUK

  • Aku duwe titik alus kanggo vintage synthesizer. Adegan produksi musik saiki nyenengake, aja salah, nanging aku paling seneng main karo papan tombol sing "lawas".
  • Siji drawback karo instrumen saka agêng 80s kadhangkala lack of programmability. Pemrograman sawetara bisa dadi mboseni, lan kasunyatan manawa piranti lunak pihak katelu asring ora ndhukung protokol SysEx ora mbantu.
  • Ana rong pendekatan kanggo ngadhepi masalah iki: piranti lunak (sing ujar Ctrlr?) lan hardware.
  • Ora perlu dikandhakake, kita lagi nangani solusi hardware ing kene.
  • Aku wis (Aku) wis ngedongkrak programmability sawetara instruments apik saka jaman emas kaya Roland a-Juno, Oberheim Matrix 6, Korg DW8000, SCI Multitrack lan liyane karo combi SysEx programmer lan sequencer adhedhasar arduino MEGA. Kecanduan anyar ing papan mikrokontroler Raspberry Pi Pico nggawe aku mikir maneh babagan carane ngatasi masalah kasebut.
  • Raspberry Pi Pico minangka mikrokontroler sing murah lan kuat lan dadi pilihan sing paling disenengi, akhir-akhir iki. Aku nganggo kanggo proyek anyar, nanging uga kanggo revisit sawetara proyek lawas saka mine.
  • Kanthi watesan memori IC ilang (nanging nomer winates saka GPIOs) Aku rampung munggah karo soko karo antarmuka banget di9erent lan karya: ow bab project sadurungé.
  • luwih apik? Luwih elek? Sampeyan mutusake 🙂

Pasokan

Tindakake Bill of Materials (BOM):

  • Mikrokontroler, IC, Tampilan
    • 1x Raspberry Pi Pico (30 klon GPIO)
    • 1x 6N138 optocoupler
    • 1x 1602A tampilan LED
  • Kapasitor, Resistor, lan Trimmers
    • Resistor 3x220 ohm
    • Resistor 1x330 ohm
    • Resistor 1x10k ohm
    • 2 x 1000 ohm pemangkas
      1x 100nF non polarized kapasitor
  • Dioda lan encoder
    • Dioda 1x 1N4148
    • Dioda 1x 1N4004
    • 2x encoder optik tambahan
  • liyane
    • 2 x pot knob (opsional)
    • 1 x tong DC
    • 1x B3F 4050 Omron tombol push sedhela
    • 2x konektor MIDI (DIN 5).

LAYOUT PRODUK

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

INSTRUKSI INSTALASI

Langkah 1: Fitur Programmer

  • Fungsi utama programmer PICO MIDI SysEx yaiku:
    • Tampilan LED sing dibangun ing
    • Operasi prasaja kanthi mung rong encoder rotary lan tombol push
    • input MIDI, kanggo operasi serial
    • Bukak Firmware
  • Ya, kanthi teknis encoder rotary kasebut duwe tombol push sing dibangun lan bener-bener digunakake, mula jumlah tombol kasebut "telu", dudu "siji".
  • Programmer kudu diselehake ing antarane pengontrol master lan synthesizer sing pengin digawe tembelan.
  • Iki ndadekake modications wektu nyata paramèter nalika muter urutan lan transfer pesen MIDI liyane sing pengin dikirim saka master controller kanggo synth target.
  • Synths sing didhukung saiki yaiku:
    • Roland Alpha Juno (1/2)
    • Korg DW8000/EX8000
    • Oberheim Matrix 6/6R (> 2.14 rmware)
  • Minangka luwih verbose diterangake ing sawetara Langkah sabanjure, tampilan lan klompok paramèter ing tingkat lunak muter peran utama ing project iki. Terus maca kanggo rincian liyane 🙂
Langkah 2: Deskripsi Hardware
  • Antarmuka
    • Ing programmer iki aku wanted kanggo nganggo pendekatan ngelawan bab project sadurungé: Unsur antarmuka kene katahan ing minimal, karo mung loro encoders incremental rotative lan tombol menu (ok: telung tombol).
    • Iku bisa uga koyone langkah mundur ngurangi jumlah tombol ing programmer lair kanggo ngadhepi lack of programmability saka agêng '80s synths. Iku ora yen nimbang sinergi karo rmware ngendi kabeh paramèter cukup categorized (ndeleng Langkah sabanjure) lan tampilan LED nuduhake ing wektu nyata kategori parameter patch, jeneng lan nilai.
  • Tampilan LED
    Tampilan LED sing ukurane cukup nggawe patching luwih nyenengake, utamane yen sampeyan pengin nglampahi wektu. Proyek programmer hardware sadurunge dilengkapi tampilan OLED cilik. Iku cukup kanggo hardware kasebut amarga informasi sing ditampilake diwatesi kanggo sifat urutan, nanging ing kasus iki kabeh jeneng paramèter patch katon, tanpa perlu sheet perbandingan.
  • Mikrokontroler
    • Minangka ngandika, mikrokontroler sing digunakake yaiku Raspberry Pi Pico. Mikrokontroler iki kuat saka segi daya komputasi (nganti 133Mhz, dual core) lan panyimpenan memori (nganti 16Mb). Sing ageng - minangka saben standar dina - memori ngidini kanggo kalebu strings verbose ing rmware, nggawe pendekatan anyar adoptable.
    • Raspberry Pi Pico uga murah, saiki, banget…
  • MIDI
    • Sirkuit MIDI IN lan MIDI OUT wis dibangun.
    • MIDI OUT diwajibake supaya bisa ngirim pesen MIDI lan ora bisa ditinggalake.
    • MIDI IN uga perlu, amarga sintesis ora bisa nampa pesen saka piranti liyane (yaiku master keyboard utawa DAW) nalika programmer disambungake. Iki tegese fase patching lan urutan kudu dipisahake / beda. Kanthi sirkuit MIDI IN dibangun ing sampeyan bisa duwe urutan mlaku lan kamungkinan kanggo modiy tembelan ing wektu sing padha (IE sampeyan bisa ngirim Sapuan lter becik ing wektu nyata).
    • Sirkuit MIDI IN minangka sirkuit opto-isolasi babagan spesifikasi asosiasi MIDI. Ora ana sing anyar ing sangisore srengenge.
  • Power Supply
    • Programmer SysEx bisa didhukung kanthi rong cara sing beda: langsung saka konektor USB-C saka papan mikrokontroler, utawa kanthi nggunakake tong minyak DC sing dipasang ing PCB. Loro-lorone sah, nanging aku luwih seneng sing paling anyar amarga:
      1. tong DC luwih mantep
      2. Input tong DC disambungake langsung karo garis +5V PICO (sing diarani pin "Vsys") sing ngliwati internal.
        pangayoman diode ing seri.
    • PSU positif tengah kudu digunakake. Sanajan ana dioda proteksi polaritas kuwalik, sampeyan ora pengin ngetrapake polaritas kuwalik amarga bisa ngrusak PSU sampeyan (dudu programmer amarga proteksi dioda shorting GND lan +5V ing kahanan kaya ngono).
  • Papan mikrokontroler
    Aku wis sung pujian saka Papan mikrokontroler Raspberry Pi Pico. Ing kene aku mung pengin nambah bebaya. Ana rong versi papan mikrokontroler iki (yen kita nglirwakake kasunyatan manawa sampeyan bisa tuku kanthi memori saka 2Mb nganti 16Mb). Ing kene aku wis nggunakake klon 30 pin, sing duwe pinout sing beda karo Pico oKcial. Ing wayahe, versi 9Mb wis suKcient.
Langkah 3: Kategorisasi Parameter Programmer
  • Nggulung liwat 30+ paramèter kanthi cara urutan (siji sawise liyane) ora praktis. Nanging, Programmer iki ngaku nyederhanakake antarmuka "penggeser data tunggal" saka synthesizer sing didhukung. Kepiye carane?
  • Solusi sing bisa ditindakake kanggo ndeleng target yaiku, kanggo kula, nglumpukake paramèter ing kategori. Cathegorization ndadekake paramèter luwih gampang diakses kanthi ngurangi jumlahe, lan luwih gampang kanggo nemokake.
  • Kategorisasi ngetutake prinsip sing padha kanggo kabeh synthesizer sing didhukung lan, ing maksudku, meh padha karo struktur blok fisik sing khas saka synthesizer analog sing ditresnani: osilator -> voltage lters kontrol -> voltage dikontrol ampliers. Sumber modulasi lan e9ects sabanjure (luwih rinci ing ngisor iki
  • Korg DW8000
    • DW8000 (lan EX8000) paramèter patch ngendi wis layed mudhun uga dening Korg, supaya Programmer categorizationfollows slavishly kelompok panel ngarep.
    • Parameter diklompokaké ing 8 kategori:
      • Osilator 1
      • Osilator 2
      • Voltage Filter sing Dikontrol
      • Voltage Dikontrol Amplier
      • Osilator Frekuensi Kurang
      • roda
      • Tundha Digital
      • Liyane (portamento)
        Deleng Step headersheet kanggo rincian babagan subkategori.
    • Filter lan amplier duwe amplop khusus siji. Ing kasus iki, amplop paramenters diklompokaké karo voltage unsur kontrol tujuan.
    • Kabeh parameter DW8000 didhukung, kajaba mode / saluran MIDI.
  • Roland a-JUNO
    • Sanajan Roland a-Juno duwe paramèter tembelan sing winates, urutane ing implementasine MIDI sing paling mbingungake antarane synthesizer sing didhukung. Sampeyan njupuk sawetara wektu kanggo grup implementasine MIDI ing cara sing padha kanggo urutan panel ngarep (sanajan ora padha).
    • Misi wis rampung, nanging:
      • Osilator
      • Voltage Filter sing Dikontrol
      • Voltage Dikontrol Amplier
      • amplop
      • LFO
      • Chorus lan mlengkung
        Deleng Step headersheet kanggo rincian babagan subkategori.
    • Kabeh 36 parmeter Roland a-Juno didhukung dening Programmer. Paramèter amplop siji (bisa ditugasake) diklompokaké ing grup khusus.
  • Matriks Oberheim 6
    • Oberheim M6 / M6r minangka synthesizer paling maju lan nduweni kerumitan rute sing luar biasa sanajan dibandhingake karo instrumen saiki.
    • Wektu tought kita sing "kerumitan" bisa dadi piso loro lading ing donya produksi musik, lan anané kemungkinan manipulasi paramèter langsung ndadekake Matrix 6 salah siji sing paling diremehake "pabrik swara" metu ana ing syarat-syarat engineering swara.
    • Saka 99 paramèter sing didhukung synth, "mung" 52 wis kalebu ing rmware Programmer. Aku dibagi dadi 9 klompok:
      • Osilator 1
      • Osilator 2
      • Voltage Filter sing Dikontrol
      • Voltage Dikontrol Amplier
      • Ramps
      • Amplop 1
      • Amplop 2
      • LFO 1
      • LFO 2
        Deleng Step headersheet kanggo rincian babagan subkategori.
    • Aku nyoba kanggo matesi paramèter kanggo nomer cukup dening ninggalake metu saka persamaan envelope katelu, TCTerms trek, klik, etc.. Iku bakal bisa kanggo nangani kabeh, tho, thanks kanggo ukuran memori Raspberry Pi Pico.
    • Parameter sing ora ditangani dening Programmer ora "dipateni", nanging bisa diakses liwat panel synth!
    • Modulasi Matriks banget rumit kanggo dilebokake, mula ditinggalake.

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

Langkah 4: Cara Gunakake

  • Nalika wiwitan urip, pilihan synth lan kaca menu saluran MIDI ditampilake.
    • Puter kenop KIRI (Knob PARAMETER) kanggo milih saluran MIDI sing dirungokake synth target.
    • Puter kenop KANAN (knob NILAI) kanggo milih synthesizer sing arep dikirimi pesen MIDI.
  • Sampeyan kudu nindakake operasi iki kapan wae sampeyan ngreset Programmer. Iku banget prasaja sing loro variabel dening wiwitan synth lan saluran MIDI permanen diganti thanks kanggo alam open source saka rmware.
  • Saiki kita bisa metu saka mode menu kanthi mencet tombol "Menu". Kanggo ngganti parameter patch sing didhukung:
    • Puter encoder rotary tangan kiwa (tombol PARAMETER) kanggo milih kategori kapentingan parameter (jeneng ing sisih ndhuwur tampilan LED)
    • Pes tombol push encoder rotary tangan kiwa kanggo ngalih menyang pilihan parameter nyata (jeneng ing sisih ngisor tampilan LED)
    • Pilih parameter nyata sing pengin diowahi kanthi muter encoder tangan kiwa (tombol PARAMETER)
    • Puter encoder rotary tangan tengen menyang nilai parameter sing dikarepake. Sampeyan bisa maju nilai parameter 10-by-10 kanthi mencet tombol push rotary encoder tengen
  • Nilai parameter patch dikirim MIDI sanalika nilai kasebut diganti kanggo patching "nyata-wektu".
  • Baleni prosedur kanggo parameter apa wae sing sampeyan minati.
  • Yen sampeyan pengin bali menyang layar menu, mung pencet tombol menu.
  • Mangga sok dong mirsani sing:
    • Parameter programer kabeh diinisialisasi dadi nilai "nol" nalika Programmer pisanan diuripake sawise mati utawa nalika sampeyan milih synthesizer beda ing menu.
    • Nalika Nilai parameter diganti, Nilai sing katahan ing memori anggere Programmer durung ngreset utawa nguripake o9.
    • Yen sampeyan ngganti nilai parameter saka panel ngarep synthesizer, parameter Programmer ora dianyari (padha ora sinkron).
      >>HERE<< minangka repositori sketsa (Github) kanthi versi paling anyar. Dadi open source, sampeyan olèh ngowahi sketsa ing karsa lan x bug (deleng Langkah sabanjure) 😉

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

Langkah 5: Watesan Sketsa / bug

  • Ana papan kanggo perbaikan utama ing sketsa saiki, awal.
  • Ing exampNanging, kita bisa nambah fungsi kanggo nyimpen saluran midi lan synthesizer tinimbang kudu milih nalika wiwitan saben Programmer diuripake. Amarga jumlah memori sing isih gratis, luwih becik ndhukung sawetara synthesizer liyane. Iku uga bakal becik kanggo njaluk lan nyimpen paramèter patch saiki lan duwe Programmer lan synthesizer nyelarasake.
  • Aku kudu laporan uga saperangan kewan omo ngganggu ing pengulangan pisanan iki kode. Pisanan sampeyan nguripake salah siji saka loro encoders optik, perpustakaan (Aku Upaminipun iku perpustakaan LCD, nanging aku ora yakin) initializes lan ndadekake Programmer unresponsive kanggo sawetara (loro utawa telung) detik. Ora masalah gedhe, nanging ngganggu.
  • bug liyane mundhut sawetara SysEx send (saben siji encoder optik siji direkam, nanging kadhangkala boten ditransfer menyang MIDI metu). Iki pancen soko kanggo x.

Langkah 6: Matur nuwun

  • PCB sing digambarake ing Instructable iki disponsori dening JLCPCB, produsen teknologi dhuwur khusus ing produksi PCB sing bisa dipercaya lan biaya-e9.
  • Padha o9er a: layanan Déwan PCB exible karo perpustakaan ageng luwih saka 350.000 komponen ing Simpenan. Printing 3D wis "bubar" ditambahake menyang portofolio layanan supaya siji bisa nggawe produk lengkap kabeh ing sak panggonan!
  • Layanan pelanggan responsif lan mbiyantu lan PCB minangka regane dhuwit.
  • Kontribusi ing realisasi proyek iki penting banget ... matur nuwun! 🙂
  • Kanthi ndhaptar ing situs JLCPCB liwat LINK INI (a, link liated) sampeyan bakal nampa seri kupon kanggo pesenan. Ndhaptar ora ana biaya, mula bisa dadi kesempatan sing apik kanggo nyoba layanan kasebut 😉

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

Dokumen / Sumber Daya

instruksi PICO MIDI SysEx Patcher [pdf] Instruksi Manual
PICO MIDI SysEx Patcher, MIDI SysEx Patcher, SysEx Patcher, Patcher, PICO MIDI SysEx

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *