logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Chcialem zrobic kontroler MIDI i mam pytanie do was...

Frantick 22 Lis 2005 19:10 4950 9
REKLAMA
  • #1 2015982
    Frantick
    Poziom 11  
    Posty: 19
    Ocena: 1
    Chcialem zrobic kontroler MIDI i mam pytanie do was. Jestem w tym kompletnie zielony, a chcialem zrobic tylko jeden kontroler na 10 przyciskow zebym mogl zmieniac efekty w komputerze, niejest to cos robil bym nałogowo, wiec chcialem prosic was o podzielenie sie jakimis schematami i poradami jak to ustrojstwo skonstrulowac. Trohce juz szukałem i wiem ze teraz poza samym schematem kontrolera potrzebuje jeszcze schemat programatora i kod programu jaki mam wrzucic na pamiec flash ukladu. Opisze moze dokładniej oco mi chodzi. chce zrobic cos na wzor klawiatury midi czyli zebym mogl naciskajac jeden z tych przyciskow wyslac sygnal midi do kompa aby moc zmieniac efekty ale w wersji mini. i dotego zeby to zmieniac noga bo gram na gitarce i chce zrobic poprostu taki sterownik. Nowy kosztuje 500 PLN'ow a sam zrobil bym to o wiele taniej bo sam układ do programowania jak patrzylem taki PIC16F874 to kost 35 zł i do tego jeszcze pare rezystorow i kondensatorow tranzystorek moze jeszcze jakis :D i mam kontoler midi. z tym ze w takim wypadku musze sam skcecic jeszcze programator i tu chodzilo by mi aby taki programator mogl byc podłaczony przez port jojsticka w karcie dzwiekowej gdyz mam kabel midi-pc, a portu LPT niemam wiec zebym mogl sobie jakos wyslac programik dobrze by bylo zeby to wyslac przez port na dzwiekowce (niby jest jeszcze COM ale to znowu trzeba by mi dac jakis schemat kabla itd.) No i rzecz ostatnia czyli program zdaje sobie sprawe ze niejest to jakas super wymagajaca rzecz ale ja niejestem zabardzo obeznany w jezykach programowania (kiedys pascalem bym sobie zrobil jakies proste rzeczy ale to juz nie ta epoka ) i czy ktos gotowy wzor programu jaki wyslac mam mogl mi sklecic. i jeszcze najwazniejsze dac linka do oprogramowania jakie by mi wyslalo tego hex'a do ukladu. mam nadzieje ze zrozumieliscie o co mi chodzi :D jesli nie to bede rysował :):) moze to bedzie bardziej wymowne niz text.
  • REKLAMA
  • #2 2016280
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Programu Ci nikt nie napisze (za darmo)

    Programatorów na port MIDI nie ma i nie sądze żeby kiedykolwiek były. Masz do wyboru USB (drogo) albo COM (RS232)

    Myśle że lepiej zrobisz, jeśli kupisz to gotowe urządzenie, będzie przynajmniej działało.
  • REKLAMA
  • #3 2018860
    Frantick
    Poziom 11  
    Posty: 19
    Ocena: 1
    dzis kolega mi mowil ze mozna to zrobic jakos prosciej ze nietrzeba nawet programu pisac wystoraczy odpowiednia kosc i uklad. chodzi mi o proste cus ktore bedzie potrafio wyslac sygnal ze nacisnolem guzik bo same funkce juz w efektach przyporzadkuje. ja dziabne kalwisz 1 a tu mi na wejscie midi idzie sygnal ze nacisnolem kalw.1 niepotrzebuje zadnych wyswietlaczy itp.
  • REKLAMA
  • #4 2019375
    elektryk
    Poziom 42  
    Posty: 11029
    Pomógł: 439
    Ocena: 241
    Ja nie rozumiem po co tam ma być programator pod MIDI. Program wystarczy raz wgrać i będzie działać. Odnosze wrażenie że budujesz klawiaturę MIDI, w sieci znajdziesz troche projektów jak to zrobić.
  • REKLAMA
  • #5 2021069
    Frantick
    Poziom 11  
    Posty: 19
    Ocena: 1
    programatori MIDI byl poto zeby zmniejszyc koszta bo mam kabel midi :D, a ze raz wystarczy to wiem ale ja niemam zadnego programatora itd. dopiero zaczolem sie tym bawic gdyz potrzebuje skonsrułowac cos takiego.
    A co do klawiatury midi to poczesici masz racje choc ja potrzebuje wesje na jakies 9,10 przyciskow i nic wiecej zadnych wyswietlaczy wystarczy zeby wysylala sygnal note on/off dynamika pich itd sa mi niepotrzebne bo chce zbudowac sobie przełacznik nozny do efektow.
  • Pomocny post
    #6 2021287
    Dyski1
    Poziom 17  
    Posty: 218
    Pomógł: 11
    Ocena: 23
    Swego czasu robiłem z kolegą dokładnie to urządzenie czyli kontroler Midi. W obudowie jest umieszczonych 8 prków po 10kohm, sterowanie jest realizowane z pomocą procka 89C2051 i przetwornika MAX1011, efekt jest taki iż w programie muzycznym jest możliwość ptrzypisania każdemu z efektów odpowiedni adres midi co powoduje że kręcąc prkiem w kontrolerze obraca sie też gałka w programie. Program w procesorze jest tak napisany aby możliwe było rozszerzenie do 64 kanałów, dopinając kolejne przetworniki z prkami. Mogę to odsprzedać, ale nie wiem czy mam gdzieś jeszcze źródła, proc chyba nawet nie jest zabezpieczony przed odczytem więc można układ powielać.
    Na dniach podeślę fotki.

    Pozdrawiam

    Tak jak pisałem, poniżej kilka fotek mojej zabawki, sprzęt testowałem pod programem Rebirth, teoretycznie powinien działać w każdym programie gdzie jest możliwość zdefiniowania adresów midi pod gałki efektów.
    Załączniki:
    • Chcialem zrobic kontroler MIDI i mam pytanie do was... 4.jpg (116.26 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Chcialem zrobic kontroler MIDI i mam pytanie do was... 3.jpg (63.09 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Chcialem zrobic kontroler MIDI i mam pytanie do was... 2.jpg (55.37 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Chcialem zrobic kontroler MIDI i mam pytanie do was... 1.jpg (106.5 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #7 2040870
    Frantick
    Poziom 11  
    Posty: 19
    Ocena: 1
    o cos takiego mi chodzi tylko zeby zamiast potów były przyciski
    I ta wersja bardzo mi se podoba dosłownie kilka czesci jak dotad znalazłem potezne schematy z masa czesci i funkcji ktore mi sa niepotrzebne. mozna by tak cos wiecej na temat tego kontrolera?
  • #8 2041017
    Dyski1
    Poziom 17  
    Posty: 218
    Pomógł: 11
    Ocena: 23
    Źródła do tego układu wrzucę na Elkę na dniach, może coś z tym zrobisz :) możesz jednak zamiast przycisków zastosować potencjometr sprzęgnięty z pedałem, tak aby przy naciskaniu zmieniała się wartośc prka, a co za tym idzie wartości pod wskazanym adresem MIDI. Za bardzo na sprzęcie muzycznym się nie znam więc nie wiem jaka jest budowa wewnętrzna owego pedału, myślę jednak że za pomocą prków i przetworników będzie szersze spektrum w regulacji niż w przypadku samych przycisków.

    W poprzednim poście pomyliłem sie co do symbolu przetwornika, dokładnie jest to MAX1110 i MAX1111

    Pozdrawiam
  • #9 2044362
    Paweł Es.
    VIP Zasłużony dla elektroda
    Posty: 6981
    Pomógł: 1236
    Ocena: 693
    Po pierwsze to musisz określić jakie efekty chcesz zmieniać i jakie one mają numery poleceń (kontrolerów MIDI) np. w systemie General MIDI.

    MIDI jest interfejsem szeregowym pracującym z szybkością 31250 ± 1% bitów na sekundę (takie niestandardowe RS232). Dane przesyłane są w paczkach po 8 bitów, z jednym bitem startu i jednym stopu, bez bitów kontroli parzystości.
    Wejście urządzenia ma na wejściu transoptor (PC800 Sharpa ale na mniejszych odległościach może CNY17-2), który zamienia prąd w linii (ok. 5 mA) na przebiegi napięciowe - normalnie w stanie 1 prąd w linii płynie.

    Bajty poleceń mają ustawiony najstarszy bit czyli są dziesiętnie z zakresu
    128 do 255, bajty danych są z zakresu 0 do 127.
    Zwykle informacje są przesyłane w kolejności: bajt polecenia i po nim 1 lub dwa bajty danych.

    W bajcie polecenia kodowane są dwie informacje:

    - na 4 młodszych bitach -> kanał MIDI (0÷15) -> 1...16
    - na 3 nastepnych rozkaz:

    Nr rozkazu, opis rozkazu, dana 1 (0..127), dana 2 (0..127)

    $8x -> Wyłączenie nuty w kanale x, numer klawisza, szybkość wyłączania
    $9x -> Włączenie nuty w kanale x, numer klawisza, szybkość włączania
    $Ax -> Nacisk na klawisz, nr klawisza, nacisk
    $Bx -> Zmiana kontrolera, nr kontrolera, wartość
    $Cx -> Zmiana programu, nr programu
    $Dx -> Głośność względna kanał, wartość
    $Ex -> Odstrojenie, LSB, MSB

    w powyższym sumaryczna wartość wyraża się: MSB*128+LSB i jest liczbą ze znakiem zależnie od kierunku odstrojenia (Pitch Bend)

    $F0 -> System Exclusive dane zależne od konkretnego typu instrumentu zakończone bajtem $F7

    $F2 -> Song Position, LSB, MSB -> informacja dla sekwencerów skąd zaczynać dany utwór
    $F3 -> Song Select, numer -> Wybór utworu
    $F4 -> Nieużywany (oprogramowanie musi go ignorować)
    $F5 -> (Nieoficjalne) wybór magistrali, numer
    $F6 -> Żądanie zestrojenia instrumentów
    $F8 -> zegar taktujący (24 impulsy na ćwierćnutę)
    $F9 -> Nieuzywany
    $FA -> Start odtwarzania utworu (od początku)
    $FB -> Kontynuacja utworu od miejsca zatrzymania
    $FC -> Zatrzymanie odtwarzania utworu
    $FD -> Nieużywany
    $FE -> Active sensing
    $FF -> System Reset


    Jeżeli dane użyteczne nie są przesyłane to nadajnik powinien raz na 300 ms wysyłać kod Active Sensing (dziesiętnie 254) co sygnalizuje podłączonym urzadzeniom, że łącze jest w porządku.
    Nie wszystkie urządzenia reagują na brak tego kodu ale wszystkie muszą go tolerować. Jezeli urzadzenie reaguje na Active Sensing to jego brak spowoduje wyciszenie wszystkich głosów
  • #10 2047273
    Frantick
    Poziom 11  
    Posty: 19
    Ocena: 1
    Witam, bylo by fajnie moze cos bym zrobił z tego moze nawet przerobil na przyciski zobaczymy co z tego wyniknie :D

Podsumowanie tematu

✨ Dyskusja dotyczy budowy prostego kontrolera MIDI z około 10 przyciskami do sterowania efektami muzycznymi na komputerze, głównie jako przełącznik nożny do gitary. Poruszono kwestie braku gotowych programatorów MIDI, wskazując na alternatywy w postaci interfejsów USB (droższych) lub COM (RS232). Wskazano, że program do mikrokontrolera wystarczy wgrać jednokrotnie, a następnie urządzenie działa samodzielnie. Jeden z uczestników opisał własny projekt kontrolera MIDI opartego na mikrokontrolerze 89C2051 i przetworniku analogowo-cyfrowym MAX1110/MAX1111, wykorzystujący potencjometry do sterowania efektami, z możliwością rozszerzenia do 64 kanałów. Zaproponowano modyfikację projektu na przyciski zamiast potencjometrów. Omówiono również podstawy protokołu MIDI, w tym prędkość transmisji 31250 bitów/s, strukturę pakietów danych, znaczenie bitów startu i stopu oraz format poleceń i danych MIDI. Wskazano na konieczność określenia numerów kontrolerów MIDI odpowiadających sterowanym efektom. Podkreślono, że do budowy kontrolera potrzebne są schematy, program do mikrokontrolera oraz odpowiedni programator, a także elementy takie jak rezystory, kondensatory i tranzystory.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA