instrukcje-logo

Instructables PICO MIDI SysEx Patcher

instructables-PICO-MIDI-SysEx-Patcher-rys.-1

Informacje o produkcie

  • PICO MIDI SysEx Patcher firmy baritonomarchetto to rozwiązanie sprzętowe zaprojektowane w celu zwiększenia programowalności vintage syntezatory, które nie są programowalne. Oparta jest na płytce mikrokontrolera Raspberry Pi Pico i posiada wbudowany wyświetlacz LED, dwa enkodery obrotowe z wbudowanymi przyciskami oraz przycisk. Zawiera również wejście MIDI do pracy szeregowej i otwarte oprogramowanie układowe. Programator można umieścić między kontrolerem głównym a syntezatorem, aby umożliwić modyfikację parametrów w czasie rzeczywistym podczas odtwarzania sekwencji oraz przesyłanie dowolnego innego komunikatu MIDI z kontrolera głównego do syntezatora docelowego.
  • PICO MIDI SysEx Patcher obsługuje kilka vintagSyntezatory, w tym Roland Alpha Juno (1/2), Korg DW8000/EX8000 i Oberheim Matrix 6/6R (oprogramowanie > 2.14).

Instrukcje użytkowania produktu

  1. Podłącz PICO MIDI SysEx Patcher między kontrolerem głównym a winemtagsyntezator, dla którego chcesz utworzyć łatkę.
  2. Włącz główny kontroler i vintagsyntezator.
  3. Użyj dwóch obrotowych enkoderów, aby nawigować i modyfikować parametry w czasie rzeczywistym podczas odtwarzania sekwencji.
  4. Użyj przycisku, aby przesłać dowolny inny komunikat MIDI z kontrolera głównego do syntezatora docelowego.
  5. Więcej szczegółowych informacji na temat korzystania z wyświetlacza i grupowania parametrów na poziomie oprogramowania można znaleźć w instrukcji obsługi.
    Notatka: Upewnij się, że twój vintagSyntezator jest obsługiwany przez PICO MIDI SysEx Patcher przed jego użyciem. Zapoznaj się również z sekcją opisu sprzętu w instrukcji obsługi, aby uzyskać informacje na temat wymaganych komponentów i sposobu ich montażu.

O PRODUKCIE

  • Mam słabość do Vintage syntezatory. Obecna scena produkcji muzycznej jest ekscytująca, nie zrozumcie mnie źle, ale ja najczęściej gram na „przestarzałych” klawiaturach.
  • Wadą instrumentów z połowy lat 80-tych jest czasem brak programowalności. Programowanie niektórych z nich może być żmudne, a fakt, że oprogramowanie firm trzecich często nie obsługuje protokołu SysEx, nie pomaga.
  • W każdym razie istnieją dwa podejścia do rozwiązania tego problemu: oprogramowanie (kto powiedział Ctrlr?) i sprzęt.
  • Nie trzeba dodawać, że mamy tu do czynienia z rozwiązaniem sprzętowym.
  • Już (chyba) zwiększyłem programowalność niektórych kultowych instrumentów ze złotej ery, takich jak Roland a-Juno, Oberheim Matrix 6, Korg DW8000, SCI Multitrack i innych za pomocą programatora combi SysEx i sekwencera opartego na arduino MEGA. Moje niedawne uzależnienie od płytki mikrokontrolera Raspberry Pi Pico skłoniło mnie do zastanowienia się, jak rozwiązać ten problem.
  • Raspberry Pi Pico to tani i wydajny mikrokontroler, który ostatnio jest moim ulubionym wyborem. Przyjmuję go do nowych projektów, ale także do ponownego odwiedzenia mojego starego projektu.
  • Po zniknięciu limitów pamięci IC (ale ograniczonej liczby GPIO) otrzymałem coś z bardzo innym interfejsem i pracą w stosunku do poprzedniego projektu.
  • Lepsza? Gorzej? Ty decydujesz 🙂

Zaopatrzenie

Zgodnie z listą materiałów (BOM):

  • Mikrokontrolery, układy scalone, wyświetlacz
    • 1x Raspberry Pi Pico (klon 30 GPIO)
    • 1x transoptor 6N138
    • 1x wyświetlacz LED 1602A
  • Kondensatory, rezystory i trymery
    • Rezystor 3x 220 omów
    • Rezystor 1x 330 omów
    • 1x rezystor 10K omów
    • 2x trymery 1000 omów
      1x kondensator niespolaryzowany 100nF
  • Diody i enkodery
    • 1x dioda 1N4148
    • 1x dioda 1N4004
    • 2x inkrementalne enkodery optyczne
  • Inni
    • 2x pokrętła do garnków (opcjonalnie)
    • 1x lufa prądu stałego
    • 1x przycisk chwilowy B3F 4050 Omron
    • 2x złącza MIDI (DIN 5).

UKŁADY PRODUKTÓW

instructables-PICO-MIDI-SysEx-Patcher-rys.-2
instructables-PICO-MIDI-SysEx-Patcher-rys.-3
instructables-PICO-MIDI-SysEx-Patcher-rys.-4
instructables-PICO-MIDI-SysEx-Patcher-rys.-5
instructables-PICO-MIDI-SysEx-Patcher-rys.-6

INSTRUKCJA INSTALACJI

Krok 1: Funkcje programisty

  • Główne funkcje programatora PICO MIDI SysEx to:
    • Wbudowany wyświetlacz LED
    • Prosta obsługa za pomocą tylko dwóch enkoderów obrotowych i przycisku
    • Wejście MIDI, do pracy szeregowej
    • Otwórz oprogramowanie układowe
  • Tak, technicznie te enkodery obrotowe mają wbudowany przycisk i faktycznie są w użyciu, więc liczba przycisków to „trzy”, a nie „jeden”.
  • Programator powinien być umieszczony pomiędzy głównym kontrolerem a syntezatorem, dla którego chcesz utworzyć łatkę.
  • Umożliwia to modyfikację parametrów w czasie rzeczywistym podczas odtwarzania sekwencji i przesyłanie dowolnego innego komunikatu MIDI, który chcesz dostarczyć z kontrolera głównego do syntezatora docelowego.
  • Obecnie obsługiwane syntezatory to:
    • Roland Alpha Juno (1/2)
    • Korga DW8000/EX8000
    • Oberheim Matrix 6/6R (> 2.14 rmware)
  • Jak dokładniej opisano w kilku następnych krokach, wyświetlanie i grupowanie parametrów na poziomie oprogramowania odgrywa główną rolę w tym projekcie. Czytaj dalej, aby uzyskać więcej informacji 🙂
Krok 2: Opis sprzętu
  • Interfejs
    • W tym programatorze chciałem przyjąć odwrotne podejście w stosunku do poprzedniego projektu: elementy interfejsu są tutaj ograniczone do minimum, z tylko dwoma obrotowymi enkoderami inkrementalnymi i przyciskiem menu (ok: trzy przyciski).
    • Może wydawać się krokiem wstecz, zmniejszając liczbę pokręteł w programatorze stworzonym, by stawić czoła brakowi programowalności syntezatorów z połowy lat 80. Nie jest tak, jeśli weźmiemy pod uwagę synergię z oprogramowaniem rmware, w którym wszystkie parametry są rozsądnie skategoryzowane (patrz następny krok) i wyświetlaczem LED pokazującym w czasie rzeczywistym kategorię, nazwę i wartość parametru patcha.
  • Wyświetlacz LED
    Rozsądny wyświetlacz LED sprawia, że ​​patchowanie jest przyjemniejsze, zwłaszcza jeśli chcesz spędzić na nim czas. Mój poprzedni projekt programisty sprzętowego jest wyposażony w malutki wyświetlacz OLED. Dla tego sprzętu jest to wystarczające, ponieważ wyświetlane informacje ograniczają się do właściwości sekwencji, ale w tym przypadku wszystkie nazwy parametrów patcha są widoczne, bez potrzeby arkusza porównawczego.
  • Mikrokontrolery
    • Jak wspomniano, używanym mikrokontrolerem jest Raspberry Pi Pico. Ten mikrokontroler jest potężny zarówno pod względem mocy obliczeniowej (do 133 MHz, dwurdzeniowy), jak i pamięci (do 16 MB). Ta ogromna – jak na dzisiejsze standardy – pamięć pozwala na umieszczanie w oprogramowaniu pełnych ciągów znaków, dzięki czemu nowe podejście jest możliwe do przyjęcia.
    • Raspberry Pi Pico jest obecnie również tanie, więc…
  • MIDI
    • Oba obwody MIDI IN i MIDI OUT są wbudowane.
    • MIDI OUT jest obowiązkowe, aby móc wysyłać komunikaty MIDI iw żaden sposób nie można go pominąć.
    • MIDI IN jest również konieczne, ponieważ syntezator nie mógłby inaczej odbierać komunikatów z żadnego innego instrumentu (np. klawiatury głównej lub DAW), gdy programator jest podłączony. Oznacza to, że fazy łatania i sekwencjonowania byłyby z konieczności rozdzielone/odrębne. Z wbudowanym obwodem MIDI IN możesz mieć zarówno uruchomioną sekwencję, jak i możliwość jednoczesnej modyfikacji patcha (tj. możesz wysłać ładne przemiatanie ltra w czasie rzeczywistym).
    • Obwód MIDI IN jest optoizolowanym obwodem zgodnym ze specyfikacjami asocjacji MIDI. Nic nowego pod słońcem.
  • Zasilacz
    • Programator SysEx może być zasilany na dwa sposoby: bezpośrednio ze złącza USB-C na płytce mikrokontrolera lub za pomocą beczki DC zamontowanej na płytce drukowanej. Oba są legalne, ale wolałbym najnowszy, ponieważ:
      1. lufa DC jest bardziej wytrzymała
      2. Wejście baryłkowe DC jest bezpośrednio połączone z linią +5V PICO (tzw. pin „Vsys”), która omija wewnętrzny
        szeregowe zabezpieczenie diod.
    • Należy użyć środkowego dodatniego zasilacza. Nawet jeśli jest tam dioda zabezpieczająca przed odwrotną polaryzacją, nie chcesz stosować odwrotnej polaryzacji, ponieważ może to uszkodzić zasilacz (nie programator, ponieważ zabezpieczenie diody zwiera GND i +5V w takiej sytuacji).
  • Płytka mikrokontrolera
    Płytkę mikrokontrolera Raspberry Pi Pico już wychwalałem. Tutaj chcę tylko dodać ostrzeżenie. Istnieją dwie wersje tej płytki mikrokontrolera (jeśli pominiemy fakt, że można ją kupić z pamięcią od 2Mb do 16Mb). Tutaj używałem 30-pinowego klonu, który ma inny układ pinów w stosunku do oKcial Pico. W tej chwili wystarczy wersja 9Mb.
Krok 3: Kategoryzacja parametrów programatora
  • Przewijanie ponad 30 parametrów w sposób sekwencyjny (jeden po drugim) nie jest praktyczne. Niemniej jednak ten programista twierdzi, że jest uproszczeniem interfejsu „pojedynczego suwaka danych” obsługiwanych syntezatorów. W jaki sposób?
  • Możliwym rozwiązaniem, aby namierzyć cel, było dla mnie grupowanie parametrów w kategoriach. Kategoryzacja sprawia, że ​​parametry są bardziej dostępne poprzez zmniejszenie ich liczby i ułatwia ich faktyczne zlokalizowanie.
  • Kategoryzacja opierała się na tej samej zasadzie dla wszystkich obsługiwanych syntezatorów i w moich intencjach przypomina typową fizyczną strukturę blokową naszych ukochanych syntezatorów analogowych: oscylatory -> voltagltry kontrolowane -> objtage kontrolowane ampkłamcy. Następne są źródła i efekty modulacji (więcej szczegółów w dalszej części
  • Korga DW8000
    • Parametry krosowania DW8000 (i EX8000) zostały już dobrze określone przez Korga, więc kategoryzacja programisty jest niewolniczo zgodna z grupowaniem na panelu przednim.
    • Parametry pogrupowane są w 8 kategoriach:
      • Oscylator 1
      • Oscylator 2
      • Tomtage Filtr kontrolowany
      • Tomtage Kontrolowane Ampkłamca
      • Oscylator niskiej częstotliwości
      • Koło
      • Opóźnienie cyfrowe
      • Inni (Portamento)
        Zobacz Arkusz nagłówka kroku, aby uzyskać szczegółowe informacje na temat podkategorii.
    • Filtruj i ampkażdy ma po jednej dedykowanej kopercie. W tym przypadku parametry obwiedni są zgrupowane w objętościtagkontrolowany element przeznaczenia.
    • Obsługiwane są wszystkie parametry DW8000, z wyjątkiem trybów/kanałów MIDI.
  • Roland a-JUNO
    • Nawet jeśli Roland a-Juno ma ograniczoną liczbę parametrów łat, ich kolejność w implementacji MIDI jest najbardziej zagmatwana wśród obsługiwanych syntezatorów. Trochę czasu zajęło mi pogrupowanie implementacji MIDI w sposób podobny do sekwencji na przednim panelu (nawet jeśli nie w taki sam sposób).
    • Misja wykonana, ale:
      • Oscylator
      • Tomtage Filtr kontrolowany
      • Tomtage Kontrolowane Ampkłamca
      • Koperta
      • LFO
      • Chór i gięcie
        Zobacz Arkusz nagłówka kroku, aby uzyskać szczegółowe informacje na temat podkategorii.
    • Programator obsługuje wszystkie 36 parametrów Roland a-Juno. Pojedyncze (możliwe do przypisania) parametry obwiedni są zgrupowane w dedykowanej grupie.
  • Matryca Oberheima 6
    • Oberheim M6/M6r to najbardziej zaawansowany syntezator z całej serii, charakteryzujący się niesamowitą złożonością routingu, nawet w porównaniu z dzisiejszymi instrumentami.
    • Czas nauczył nas, że „złożoność” może być nożem o dwóch ostrzach w świecie produkcji muzycznej, a brak możliwości bezpośredniej manipulacji parametrami sprawia, że ​​Matrix 6 jest jedną z najbardziej niedocenianych „fabryk dźwięków” pod względem inżynierii dźwięku.
    • Z 99 parametrów obsługiwanych przez syntezator „tylko” 52 zostały uwzględnione w rmware Programmera. Podzieliłem je na 9 grup:
      • Oscylator 1
      • Oscylator 2
      • Tomtage Filtr kontrolowany
      • Tomtage Kontrolowane Ampkłamca
      • Ramps
      • Koperta 1
      • Koperta 2
      • LFO 1
      • LFO 2
        Zobacz Arkusz nagłówka kroku, aby uzyskać szczegółowe informacje na temat podkategorii.
    • Starałem się ograniczyć parametry do rozsądnej liczby, pomijając w równaniu trzecią obwiednię, punkty śledzenia, kliknięcia itp. Tak czy inaczej, dałoby się je wszystkie obsłużyć dzięki wielkości pamięci Raspberry Pi Pico.
    • Parametry nieobsługiwane przez Programmer nie są „wyłączane”, ale i tak dostępne przez panel syntezatora!
    • Modulacja Matrix była zbyt złożona, aby ją uwzględnić, więc została pominięta.

      instructables-PICO-MIDI-SysEx-Patcher-rys.-7
      instructables-PICO-MIDI-SysEx-Patcher-rys.-8
      instructables-PICO-MIDI-SysEx-Patcher-rys.-9

Krok 4: Jak używać

  • Przy pierwszym włączeniu wyświetlana jest strona wyboru syntezatora i menu kanału MIDI.
    • Obracaj LEWYM pokrętłem (pokrętłem PARAMETER), aby wybrać kanał MIDI, którego słucha docelowy syntezator.
    • Obracaj PRAWYM pokrętłem (pokrętłem VALUE), aby wybrać syntezator, do którego chcesz wysyłać komunikaty MIDI.
  • Będziesz musiał wykonać tę operację za każdym razem, gdy resetujesz programator. Bardzo łatwo jest trwale zmienić dwie zmienne określające początkowy syntezator i kanał MIDI dzięki otwartemu charakterowi rmware.
  • Teraz możemy wyjść z trybu menu, naciskając przycisk „Menu”. Aby zmienić dowolny obsługiwany parametr poprawki:
    • Obracając lewym enkoderem obrotowym (pokrętłem PARAMETER) wybrać interesującą kategorię parametru (nazwy w górnej części wyświetlacza LED)
    • Naciśnij lewy przycisk enkodera obrotowego, aby przejść do właściwego wyboru parametrów (nazwy w dolnej części wyświetlacza LED)
    • Wybierz aktualny parametr, który chcesz zmodyfikować, obracając lewy enkoder (pokrętło PARAMETER)
    • Obróć prawy enkoder obrotowy do żądanej wartości parametru. Możesz zmieniać wartości parametrów o 10 na 10, naciskając prawy przycisk enkodera obrotowego
  • Wartości parametrów krosowania są przesyłane przez MIDI, gdy tylko wartość zostanie zmieniona w celu krosowania „w czasie rzeczywistym”.
  • Powtórz procedurę dla dowolnego interesującego Cię parametru.
  • Jeśli chcesz wrócić do ekranu menu, po prostu naciśnij przycisk menu.
  • Proszę zauważyć, że:
    • Wszystkie parametry Programatora są inicjowane do wartości „zero” przy pierwszym włączeniu Programatora po wyłączeniu lub po wybraniu innego syntezatora w menu.
    • W przypadku zmiany wartości parametru wartość ta jest przechowywana w pamięci tak długo, jak Programator nie został zresetowany lub wyłączony9.
    • Jeśli zmienisz wartość parametru z panelu przedniego syntezatora, parametr Programmer nie zostanie zaktualizowany (nie są zsynchronizowane).
      >>TUTAJ<< to repozytorium szkiców (Github) z najnowszą wersją. Będąc open source, możesz dowolnie modyfikować szkic i usuwać błędy (patrz następny krok) 😉

      instructables-PICO-MIDI-SysEx-Patcher-rys.-10
      instructables-PICO-MIDI-SysEx-Patcher-rys.-11
      instructables-PICO-MIDI-SysEx-Patcher-rys.-12

Krok 5: Szkicuj ograniczenia/błędy

  • W bieżącym, wstępnym szkicu jest miejsce na znaczne ulepszenia.
  • W examppliku, moglibyśmy dodać funkcję zapisywania kanału midi i syntezatora zamiast konieczności wybierania go przy każdym uruchomieniu Programmera. Biorąc pod uwagę ilość wciąż wolnej pamięci, miło byłoby również obsługiwać inne syntezatory. Byłoby również miło pobrać i zapisać bieżące parametry patcha oraz zsynchronizować programator i syntezator.
  • Muszę również zgłosić kilka irytujących błędów w tej pierwszej iteracji kodu. Przy pierwszym przekręceniu jednego z dwóch enkoderów optycznych biblioteka (przypuszczam, że jest to biblioteka LCD, ale nie jestem pewien) inicjuje się i powoduje, że Programator nie odpowiada na kilka (dwie lub trzy) sekundy. Niby nic wielkiego, ale irytujące.
  • Innym błędem jest utrata niektórych wysyłek SysEx (każdy pojedynczy obrót enkodera optycznego jest rejestrowany, ale czasami nic nie jest przesyłane do wyjścia MIDI). To jest zdecydowanie coś do x.

Krok 6: Podziękowania

  • Płytka drukowana przedstawiona w tym Instruktażu była sponsorowana przez JLCPCB, zaawansowanego technologicznie producenta specjalizującego się w produkcji niezawodnych i ekonomicznych płytek PCB.
  • Oferują:elastyczną usługę montażu PCB z ogromną biblioteką ponad 9 350.000 komponentów w magazynie. Druk 3D został „niedawno” dodany do ich portfolio usług, dzięki czemu można stworzyć w pełni wykończony produkt w jednym miejscu!
  • Ich obsługa klienta jest responsywna i pomocna, a płytki PCB mają świetny stosunek jakości do ceny.
  • Ich wkład w realizację tego projektu był tak bardzo… wielkie dzięki! 🙂
  • Rejestrując się na stronie JLCPCB poprzez TEN LINK (powiązany link) otrzymasz serię kuponów na swoje zamówienia. Rejestracja nic nie kosztuje, więc może to być dobra okazja, aby wypróbować ich usługi 😉

    instructables-PICO-MIDI-SysEx-Patcher-rys.-13
    instructables-PICO-MIDI-SysEx-Patcher-rys.-14

Dokumenty / Zasoby

Instructables PICO MIDI SysEx Patcher [plik PDF] Instrukcja obsługi
Patcher PICO MIDI SysEx, Patcher MIDI SysEx, Patcher SysEx, Patcher, PICO MIDI SysEx

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *