Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Dekoder MIDI do nożnego kontrolera

Marchewka12 11 Nov 2017 20:12 822 7
  • #1
    Marchewka12
    Level 7  
    Cześć, jestem gitarzystą i chciałbym zrobić looper do mojego nożnego kontrolera MIDI . Próbowałem na arduino i przekaźnikach lecz gdy wysyłałem komunikat CC to wyświetlał w nie zamierzony sposób. Szukałem w necie i znalazłem alternatywę na rozwiązanie na PIV 16F84. Oto link do tej strony:
    http://victorseraphine.com/decomidi_english.htm
    Mam pytanie:
    1.Czy on będzie w stanie odczytać komunikat, jeżeli wyślę mu preset składający się powiedzmy z 5 Control Change? Z tego co przeczytałem, to można do max.10.
    2.Na jakim kanale działa ten dekoder?
    3.Da się do projektu dodać MIDI THRU/OUT?
    4.Czy jest możliwość zdublowania tego układu z tym, że na 1 mam kolejno np. 1-10 przekaźników a na drugim 11-32?
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
  • Helpful post
    #2
    Plumpi
    Heating systems specialist
    Co chcesz tym osiągnąć i dlaczego ma być sterowanie MIDI?
    Poza tym na jakie komunikaty MIDI ma to reagować?
    Chodzi Ci o CC (Control Change)?

    W opisie tego kontrolera jest informacja, że działa on na kanale 1 a reaguje na komunikaty Note ON i Note OFF czyli wciśnięcie i zwolnienie klawisza. Nie reaguje na dynamikę. W opisie autor błędnie napisał Notes ONE. Zapewne chodziło o Note ON.

    Jeżeli chodzi o MIDI Thru to robi się to sprzętowo.
    Najprościej zaraz za transoptorem 6N136 podać sygnał na wejście bramki Schmitt, a następnie poprzez rezystory ograniczające prąd na gniazdo MIDI Thru.
    Ponadto zamiast transoptora 6N136 trzeba zastosować transoptor PC900
    6N136 będzie powodował przekłamania komunikatów MIDI.

    (Uwaga poprawiłem, bo pomyłkowo wpisałem transoptor CNY17, który średnio się nadaje do tego układu). Jedyny transoptor, który w 100% prawidłowo działa w standardzie MIDI to transoptor PC900
    W tym standardzie przyjęta jest bardzo niska wartość pętli prądowej na poziomie 5mA, przy której większość transoptorów nie działa lub działa nieprawidłowo.
    Transoptory PC900 są trudno dostępne, dlatego często w amatorskich rozwiązaniach wykorzystywane są właśnie CNY17 lub 6N136 z którymi jednak są problemy
    )
  • #3
    Marchewka12
    Level 7  
    Chciałbym aby dekoder odbierał i rozpoznawał komunikaty MIDI, gdyż mam nożny sterownik który który wysyła komunikaty CC. Pod każdy włącznik w sterowniku mogę na dowolnym kanale zaprogramować komendę CC. Chciałbym aby po naciśnięciu na dany przycisk na kontrolerze urządzenie odbiorcze załączało przekaźnik który załączałby odpowiedni efekt bądź kanał we wzmacniaczu.
  • #4
    Plumpi
    Heating systems specialist
    Jeżeli masz kontroler, który wysyła CC to ten układ, który znalazłeś się do tego nie nadaje, bo on reaguje na komunikaty Note On i Note Off. Poza tym ignoruje trzeci bajt komunikatu, czyli siłę uderzenia w klawisz (Velocity).
    W przypadku komunikatów CC urządzenie musiałoby odczytać wszystkie 3 bajty.

    Poza tym trzeba by wiedzieć czy Twój kontroler wysyła tylko i wyłącznie podstawowe komunikaty czy może także wysyła precyzery?
    A może całe sterowanie odbywa się tylko wysyłając jeden rodzaj CC, ale z różnymi wartościami?


    Tutaj kiedyś się rozpisywałem na temat standardu MIDI i budowy komunikatów
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=6851858#6851858
    Może Ci się przyda.
  • #5
    Marchewka12
    Level 7  
    Szukałem kiedyś takiej tabelki która ma w sobie mapę komunikatów MIDI. Dzięki, że mi o niej przypomniałeś, zapewne się przyda. Jeżeli chodzi dokładnie o to, jakie urządzenie chcę zbudować, jest to powiedzmy taki looper.
    http://www.lordriffenstein.com/?page_id=519
    Jeżeli chodzi o urządzenie generujące komunikaty to mam starszą wersję tego urządzenia
    http://www.lordriffenstein.com/?page_id=479
  • #6
    Plumpi
    Heating systems specialist
    Nie pozostaje więc jak usiąść i tworzyć samemu program na jakimś mikrokontrolerze. Tylko czy kiedykolwiek programowałeś?
    Nie jest to skomplikowane, ale trzeba trochę posiedzieć.
    Trzeba skonfigurować UART. Ustawić prędkość transmisji na 31250 bit/sek. Czasami trzeba dobrać odpowiedni kwarc, aby uzyskać odpowiednią prędkość UART-a.
    Ustawić przerwania.
    Odczytać kolejne bajty transmisji.
    Porównać odebrane bajty ze wzorcem.
    Wystawić odpowiednie wartości na portach.

    Kiedyś trochę grzebałem w mikrokontrolerach. Głównie architektura 8051 i AVR.
    Niestety nie podejmuję się pomóc w zakresie tworzenia programu, bo już przeszło 10 lat nic nie robiłem w mikrokontrolerach. Musiałbym trochę posiedzieć, aby sobie przypomnieć architekturę i programowanie, na co po prostu brak mi czasu.
    Myślę, że na Elektrodzie znajdą się ludzie, którzy pomogą.
    Ale jak będziesz miał jakieś pytania w standardzie MIDI to służę pomocą, bo tu w miarę jestem na bieżąco, a zajmowałem się tym standardem prawie 30 lat.
  • #8
    Marchewka12
    Level 7  
    Znalazłem odpowiedź. :) Jest to wykonalne na Arduino MEGA z tym, że za dużo komend dawałem przez co nie był w stanie czytać informacji. Dziękuję za pomoc która na pewno się przyda przy innych projektach związanych z MIDI.