Elektroda.pl
Elektroda.pl
X
Relpol przekaźniki
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

komputer - układ - organy kościelne

31 Maj 2006 09:30 6991 11
  • Poziom 10  
    Witam.
    Mam taki ciekawy pomysł.
    Szukam schematu to "urządzenia" które zamieni sygnały MIDI z komputera na 60-cio klawiszowe wyjście.

    innymi słowy komputerem chcę sterować organy w kościele.

    Organy działają w ten sposób, że naciskam klawisze i następuje złączenie elektrycznego styku, który w konsekwencji uruchamia cewkę przekaźnika i następuje otorzenie zaworu powietrza i piszczałka gra.

    Powstała w mojej głowie idea stworzenia interfejsu łączącego komputer i włączając plik MIDI sterowałby tymi 60 klawiszami za pomocą tablicy przekaźników.

    Organy elektornicze typu Johhanus czy inne mają wyjście MIDI i można takie połączenia robić. Puszcza się muzykę z komputera (np Bacha) i brzmieniami organów np Johhanusa graja same organy.

    Gdyby któś mi pomógł opracować taki interfejs do mojego pomysły to chętnie bym go wykonał i zastosował w moich organach.

    Jarosław Raczek - organista
  • Relpol przekaźniki
  • Relpol przekaźniki
  • Poziom 42  
    Pomysł nierealny. Z wielu powodów. Przede wszystkim z takiego, że zapis MIDI nie określa manuału/pedału ani użytych rejestrów. O ile na upartego możnaby zrezygnować z użycia rejestrów korzystając tylko i wyłącznie z regulatora crescendo na podstawie volume, to brak określenia manuału/pedału byłby już całkiem kłopotliwy i brzmienie utworu byłoby - delikatnie mówiąc - sztuczne.
    Znając wykonania MIDI Toccaty i Fugi d-moll (weimarskiej) czuję wręcz obrzydzenie dla samego pomysłu - już sobie wyobrażam, jak partię grana na pedale gra pierwszy manuał :(
  • Poziom 12  
    Zaraz zaraz przecież utwór w midi możemy zapisać na 16 kanałach wieć dlaczego nie mozna dzielic na manuały???I manual 1 kanal II 2 kanal 3 pedal itp. Na którymś kanale mozna by zapisać registracje głosów (jakie maja być przełaczane) i kanał ten wyciszyć tylko problem gdyż trzebaby dodatkowo napisać program do tego.
  • Poziom 12  
    sprawdzilem w hauptwerku na 5 czy 6 kanale mozna zapisac registracje
  • Poziom 12  
    Może ktoś podac link gdzie wyjaśnione jest PO POLSKU co trzeba wiedziec o standardzie midi aby napisać program na mikrokontrolerze ???? Ja swoje organy
    http://karolrogala.republika.pl/organy.htm zbudowałem na czyimś układzie (podłączone do kompa - hauptwerk) a chciałbym spróbować sam napisać.
  • Pomocny dla użytkowników
    Pytania do Pana Raczka:

    Do zbudowania takiego interfejsu są potrzebne następujące informacje:

    1. Ile klawiszy mają klawiatury tego instrumentu, z rozpisaniem na każdy manuał (w oktawie jest 12 klawiszy).

    2. Jaki rodzaj styku jest pod klawiszem (zwierny, przełączny)

    3. Prąd o jakim napięciu jest przełączany tymi stykami (12V, 24V, inne) ?

    4. Czy styk podaje do układu wykonawczego masę zasilania czy +zasilania

    5. Jaki prąd płynie przez styk klawisza po zamknięciu obwodu (wymaga zmierzenia lub znalezienia dokumentacji ) ?

    6. Jak są zmieniane barwy (rejestry) też elektrycznie a jeżeli tak to jak jest dokonywane kluczowanie ?

    7. Czy istnieje jakaś dokumentacja do tych obecnych organów, z której można by szczytać dane do powyższych pytań ?

    ------------------------------------------------------------------------------------

    Krótki opis MIDI (po polsku ;):

    Interfejs MIDI (Musical Instruments Digital Interface) jest łączem szeregowym o przesyle danych podobnym do RS232. Jednak są pewne różnice:

    - prędkość transmisji jest stała i wynosi 31250 bitów/s +/-1%
    - ramka transmisji jest stała: 1 bit startu, 8 bitów danych, 1 bit stopu
    - z powyższego wynika, że 1 bajt jest transmitowany 320 µs
    - sygnał jest przesyłany pętlą prądową, tj. logiczne 0 oznacza, że w lini płynie ok. 5mA prądu, logiczne 1 - brak przepływu prądu.

    Odbiornik sygnału MIDI musi mieć na wejściu transoptor do zamiany sygnału prądowego na napięciowy.
    Zalecane typy transoptorów to PC900 (Sharp), 6N138 (HP). W ostateczności można zastosować CNY17-3. Transoptor ma dość ostre wymagania na czasy przełączania - 2µs.

    Złącza interfejsu MIDI są gniazdami DIN5. Używane są styki 4 i 5 każdego gniazda jako zaciski pętli prądowej i styk 2 jako podłączenie ekranu kabla (od strony nadajnika). Styki 1 i 3 pozostają niepodłączone.

    Kabel połączeniowy to skrętka w ekranie o długości maksymalnie 15 metrów.

    W systemie MIDI nie ma rozwidleń, zawsze 1 wyjście pracuje na 1 wejście.

    [img]https://obrazki.elektroda.pl/94_1209265819.gif[img]

    TXD - wyjście portu szeregowego procesora
    RXD - wejście portu szeregowego procesora

    To tyle od strony sprzętowej, teraz od strony programowej ...

    Komunikaty MIDI są 1, 2 lub 3 bajtowe.

    Bajty sterujące mają ustawiony najwyższy bit (czli są zawsze większe od 127).
    Bajty danych są zawsze z zakresu 0..127.
    To jest pierwsza podstawa do selekcji tego co nadchodzi po łączu do instrumentu.
    Po rozpoznaniu bajtu sterującego dekoder musi też wiedzieć ile bajtów danych ma iść za nim ponieważ w MIDI istnieje takie zjawisko jak "RUNNING STATUS". Pozwala on na kompresję ilości przesyłanych bajtów komunikatów tego samego rodzaju.
    Normalnie komunikat składa się z bajtu polecenia oraz 1 lub 2 bajtów danych. Jeżeli wysyłamy np 3 komunikaty tego samego rodzaju, to są one "pakowane" w postaci: bajt polecenia, dana1, dana2 i kolejne dane interpretowane wg bajtu polecenia. Sposób interpretacji zmienia kolejny bajt polecenia (z ustawionym 7 bitem)

    Komunikaty czasu rzeczywistego (np. baza czasu dla sekwencera) nie zmieniają trybu RUNNING STATUS i muszą być obsługiwane natychmiastowo (mogą znajdować się między bajtami danych) potem procesor wraca do obsługi normalnego ciągu danych.

    Komunikaty systemowe (F0 do F7) kasują tryb "running status".

    UWAGA: PRocesor musi dekodowac wszystkie możliwe kombinacje nawet jeżeli instrument ich nie obsługuje.

    Komunikaty:

    NOTE ON - włączenie dźwięku (K, D,V)

    K=90H+kanał (0-15)
    D=numer dźwięku MIDI 16-C subkontra
    V=1..127 prędkość uderzenia w klawisz (jeżeli klawiatura nie jest dynamiczna to przesyłane jest 64)
    V=0 oznacza to samo co NOTE OFF (program musi rozpoznać to)

    NOTE OFF - wyłączenie dźwięku (K, D, V)

    K=80H+kanał MIDI (0-15) 0 => 1 kanał , 15-> 16 kanał
    D=numer dźwięku MIDI 16-C subkontra
    V=1..127 - prędkość zwalniania klawisza (o ile klawiatura to obsługije)

    AFTERTOUCH (K, D, A) - siła nacisku na konkretny klawisz pozwala na modulowanie parametrów dźwięku przez "masowanie" klawisza.

    K=A0H+kanał
    D=numer dźwięku
    A=siła nacisku na klawisz

    PROGRAM CHANGE (k, B)- zmiana barwy w danym kanale

    K - C0h+kanał
    B - numer barwy 0 do 127

    CHANNEL PRESSURE (K, G)- głośność kanału

    K=D0h+kanał
    G= głośność (0...127)

    PITH WHEEL - (K, L, H) kółko do odstrajania dźwięku

    K=E0h+kanał
    L= młodszy bajt odstrojenia (0...127)
    H= starszy bajt odstrojenia

    ODSTROJENIE=L+128*H
    ODSTROJENIE=8192 (2000H) -> położenie centralne (brak odstrojenia)

    Powyższe to tylko kilka komunikatów ale jest jeszcze masę innych, które muszą być rozpoznane i albo zignorowane albo obsłużone.
    Tak więc napisanie takiego dekodera nie jest proste.

    Czytaj tu (niestety) po angielsku:

    http://www.borg.com/~jglatt/tech/midispec.htm

    http://helion.pl/ksiazki/midi.htm
  • Poziom 1  
    witajcie mam problem .
    czy moze ktos zna jakis strony z ktorych mozna pobrac style muzyczne do gem wk3 ?