Informacje ogólne oraz struktura kodu
Warstwa fizyczna łącza
Rodzaje komunikatów występujących w systemie MIDI
Rodzaje połączeń za pomocą standartu MIDI
Rejestracja i odtwarzanie kodu MIDI za pomocą sekwencera
Nietypowe sterowniki MIDI
Synchronizacja za pomocą MIDI
Metody wykrywania częstotliwości podstawowej
Informacje ogólne oraz struktura kodu MIDI - Musical Instrument Digital Interface powstał w 1983 roku.
Interfejs MIDI jest połączeniem asynchronicznym dwukierunkowy, którego prędkość transmisji wynosi 31,25bit/s (+-1%). Informacja składa się z bajtów, do których dodatkowo dołączone są bity startu i stopu. Bity te umożliwiają odbiornikowi na rozróżnienie początku i końca każdego z bajtów. Tak utworzona grupa 10 bitów, pomimo swej długości zwana jest bajtem.
Rys. 1 Struktura pojedynczego bajtuWszystkie informacje w kodzie MIDI przesyłane są w z góry określanej formie status+dane zwanej potocznie message. Liczba bajtów danych mieści się w zakresie od: 0 do n, gdzie n jest dowolną liczbą naturalną. Słowo statusowe mówiące o typie informacji ma MSB=1, natomiast bajt danych zaczyna się MSB=0.
Rys. 2 Struktura kodu MIDI
Warstwa fizyczna łącza Fizyczne połączenie następuje poprzez 5-pinowe złącze DIN (z wyjątkiem urządzeń firmy Octave Plateau, które używają złącz Canon XLR i Lake People używających jacków). Logiczne 0 reprezentowane jest przez napięcie +5V, a 1 przez 0V. W związku z możliwością wystąpienia zakłóceń kable połączeniowe nie powinny być dłuższe niż 15m. Interfejs MIDI zawiera trzy typy złącz: MIDI In, MIDI Out i MIDI Thru. W celu uniknięcia jakichkolwiek niepożądanych zjawisk elektrycznych, każde wejście MIDI In wyposażone jest w optoizolator.
Rys. 3 Schemat połączenia MIDI
Rys. 4 Schemat działania MIDI Thru
Rodzaje komunikatów występujących w kodzie MIDI: - Komunikaty kanałowe (Channel Messages)
- Komunikaty głosowe (Voice Messages)
- Komunikaty trybu pracy (Mode Messages)
- Komunikaty systemowe (System Messages)
- Komunkaty wspólne (System Common Messages)
- Komunikaty synchronizacji systemu (Real-Time Messages)
- Komunikaty niestandardowe (System Exclusive)
Rodzaje połączeń za pomocą standartu MIDI Łącząc port MIDI Out instrumentu A z portem MIDI In instrumentu B, syntetyzer B odpowiada automatycznie na naciśnięcie klawisza w syntetyzerze A. W takim przypadku tylko jeden przewód kabla MIDI jest wykorzystywany. Połączyć w analogiczny sposób można też urządzenie MIDI z modułem brzmieniowym.Takie zestawienie urządzeń pozwala również na:
- wymianę parametrów opisujących brzmienie
- transmisję próbek PCM
- transmisję plików
Rys. 5 Połączenie najprostsze: MIDI Out - MIDI In
Rys. 6 Sterowanie modułem brzmieniowymŁącząc port MIDI Out instrumentu A z portem MIDI In instrumentu B i odwrotnie MIDI Out instrumentu B z MIDI In instrumentu A otrzymujemy typ połączenia zwanego: łącza z handshakeingiem. Połączenie takie umożliwia wzajemne sterowanie obu instrumentów oraz przesyłanie innych komunikatów niestandardowych.
Rys.7 Połączenie handshakeW celu umożliwienia sterowania poprzez MIDI dwóch kolejnych urządzeń stosuje się port MIDI Thru. Port ten retransmituje kod MIDI, który pojawia się na wejściu MIDI In. Liczba w ten sposób połączonych urządzeń jest teoretycznie nieograniczona, jednakże każde przejście sygnału przez instrument (optoizolator) powoduje powstanie średnio 2ms opóźnienia.Drugą zasadniczą wadą takiego połączenia jest degradacja sygnału o co za tym idzie poprawna jego interpretacja.
Rys. 8 Połączenie MIDI Thru
Rys. 9 Degradacja jakości sygnału po przejściu przez optoizolatorMIDI Thru box jest alternatywą dla połączenia łańcuchowego urządzeń MIDI. Mieści on w sobie port MIDI In i wiele portów MIDI Thru. Przychodzące sygnały do portu MIDI In Midi Thru box'u są duplikowane i trafiają do portu MIDI Thru. Taka technika łączenia urządzeń MIDI chroni przed degradacją jakości sygnału, jak również uwalnia porty MIDI Thru, które mogą byc wykorzystane do innych połączeń. W analogiczny sposób można też sterować modułami brzmieniowymi.
Rys. 10 Połączenie z wykorzystaniem MIDI Thru box'u
Rys. 11 Obsługa kilku modułów brzmieniowychW przypadku, gdy chce się sterować instrumentem (C) równocześnie przy pomocy dwóch inny (A, B) wymagane jest odpowiednie połączenie kodu MIDI z obu tych urządzeń - zadanie to realizuje MIDI merger. W związku z tym, że transmisja jest asynchroniczna, informacja kodowa dobiega do do MIDI merger'a równocześnie. W urządzeniu następuje nadanie priorytetów jednej z informacji tak, że jest ona wysyłana pierwsza.
Rys. 12 Wykorzystanie MIDI merger'a
Rejestracja i odtwarzanie kodu MIDI za pomocą sekwencera Sekwencer jest urządzeniem umożliwiającym rejestrację, odtwarzanie i edycję kodu MIDI.
Rys. 13 Rejestracja MIDI za pomocą sekwencera
Rys. 14 Odtwarzanie MIDI za pomocą sekwencera
Nietypowe sterowniki MIDI
Rys. 15 Sterowanie urządzeniem MIDI dowolnym źródłem dźwięku
Synchronizacja za pomocą MIDI Kod MIDI dzięki specjalnym komunikatom umożliwia synchronizację urządzeń w studiu nagraniowym. Używając dosłownie jednego klawisza można rozpocząć proces nagrywania lub odtwarzania kolejnych utworów. Synchronizację pomiędzy różnymi urządzeniami zapewnia synchronizator MIDI/SMPTE.
Rys. 16 Synchronizacja za pomocą MIDI
Piotr Synak