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