Stworzony na początku lat 80. minionego wieku format cyfrowej komunikacji instrumentów muzycznych został zaprojektowany z myślą o przyszłości i mocno na wyrost w stosunku do ówczesnych możliwości tychże instrumentów. Takie myślenie zaowocowało jednak tym, że funkcjonuje już tak długo, a i tak wiele jego funkcji nie zostało wykorzystanych do dzisiaj. MIDI stało się swego rodzaju systemem czcionek dla instrumentów elektronicznych – zarówno sprzętowych jak i wirtualnych – za pomocą którego mogą się ze sobą porozumiewać. Umożliwia zaawansowane, wielokanałowe i wielogłosowe sterowanie wielu urządzeń jednocześnie i całkowicie niezależnie od siebie, zarówno pod względem elementów muzycznych, jak i artykulacyjnych oraz kontrolnych.
I choć sama koncepcja jak i jej realizacja naprawdę zasługują na Nobla (swoją drogą, twórcy MIDI, czyli Ikutaro Kakehashi z Rolanda i Dave Smith z Sequential otrzymali za to nagrodę Grammy w 2013 roku), to MIDI 1.0 nie jest pozbawiony wad, o których zresztą wiedziano od samego początku. Jedną z nich jest stosunkowo mała precyzja zmian kontrolerów, ograniczona do 127 wartości całkowitych. To sprawiało, że np. sterowanie pracą filtracji odbywa się schodkowo, jeśli producent urządzenia/wtyczki nie uwzględnił uśredniania zmian wartości. Protokół jest też jednokierunkowy, co oznacza, że dane urządzenie albo nadaje, albo odbiera komunikaty, nigdy jednocześnie. Funkcjonując w trybie szeregowym ma też ograniczoną przepustowość i przy dużej ilości danych pojawiają się opóźnienia dla najmłodszych bitów, skutkujące niekiedy „gubieniem” dźwięków w bardziej skomplikowanych aranżacjach. Prawdą natomiast jest, że wiele tych ograniczeń, jeśli nie wszystkie, można obejść wykorzystując większą liczbę portów i/lub kanałów, co jednak komplikuje nieco konfigurację i wymusza stosowanie narzędzi pośredniczących. Można też było narzekać na brak możliwości aplikowania różnego typu niuansów, tak jak np. zmiany wysokości pojedynczego dźwięku w całym akordzie. Wszystko to, a także dużo więcej, łącznie z kompatybilnością wsteczną z oryginalnym formatem, zostało uwzględnione w nowym protokole MIDI.
MIDI 2.0, czyli lepiej późno niż... później
Ogłoszenie specyfikacji MIDI 2.0 miało miejsce podczas targów NAMM w Anaheim, gdzie nastąpiło też robocze spotkanie producentów zainteresowanych wdrożeniem nowego formatu. Grono założycielskie okazało się jednak nieco mniej reprezentatywne niż w przypadku oryginalnego formatu MIDI, ponieważ zabrakło np. firm Korg, Sequential (wraz z Davem Smithem), Moog czy Kawai, ale formuła nowego przedsięwzięcia jest otwarta i każda zainteresowana firma może w każdej chwili do niego przystąpić. Wszystko odbywa się pod auspicjami MIDI Manufacturers Association, czyli organizacji, która od początku skupia wszystkich zainteresowanych wykorzystaniem i rozwojem MIDI (jej japońskim odpowiednikiem jest AMEI, która zachowała pewną odrębność z uwagi na specyfikę tamtejszego rynku). Aktualnie zrzeszonych jest w niej ponad 23 tysiące członków ze 113 krajów, a stroną organizacji jest midi.org, gdzie można znaleźć wszystkie niezbędne informacje.
„Ojcowie założyciele” MIDI 2.0 podczas spotkania w Anaheim. Pierwszy rząd: Florian Bomers (Bome Software), Kaz Hikawa (Crimson Technology), Athan Billias (Yamaha), Koichi Mizumoto (Roland), Mike Kent (M2Kimage). Drugi rząd: Rick Cohen (Qubiq), Franz Detro (Native Instruments), Evan Balster (imitone), Daisuke Miura (Yamaha), Shunsuke Tanaka (Crimson Technology), Takahisa Ishiguro (Stone System), Lawrence Levine (Horn). Trzymający baner: Andrew Mee (Yamaha), Rob Rampley (Media Overkill).
Jak stwierdził Gene Joly, aktualny prezes MIDI Manufacturers Association, „Format MIDI 2.0 powstawał dość długo, ponieważ jego twórcy chcieli, aby protokół zachował swoją funkcjonalność na kolejne dekady, był przygotowany na nadejście nowych technologii i oferował kompatybilność ze wszystkimi dotychczas wyprodukowanymi urządzeniami MIDI. Po raz kolejny pokazano, że branża potrafi wznieść się ponad podziały związane z konkurencją, połączyć swe siły i stworzyć coś, co przysłuży się artystom na całym świecie”. Piękne słowa, ale jak to się ma do aktualnej rzeczywistości?
MIDI 2.0 FAQ
Zacznijmy od odpowiedzi na kilka kluczowych pytań, które od razu nasuwają się w związku z nowym formatem. Przede wszystkim nie będzie on wymagał jakichkolwiek nowych standardów połączeń, zatem wszystkie aktualne zachowają rację bytu. MIDI 2.0 jest agnostyczny komunikacyjnie, co oznacza, że można go stosować poprzez istniejące połączenia DIN-5, USB, przez złącza TRS, porty szeregowe, Firewire, Ethernet/IP, Thunderbolt, bezprzewodowo oraz na drodze programowej (choć z pewnymi wyjątkami – patrz niżej). Jest też niezależny od rodzaju urządzenia/oprogramowania, pod warunkiem, że ma ono możliwość komunikacji w tym właśnie formacie cyfrowym. Transferem danych MIDI 2.0 zajmuje się nowy format Universal MIDI Packet, który nie może funkcjonować w ramach MIDI 1.0, ale obsługuje zarówno MIDI 1.0 jak i MIDI 2.0. To oznacza, że aktualne urządzenia MIDI nie mogą od razu obsługiwać MIDI 2.0 bez aktualizacji oprogramowania/firmware. Natomiast po jego aktualizacji format MIDI 1.0 będzie mógł być transmitowany bez przeszkód, co jest wymogiem wstecznej kompatybilności. Jak deklarują twórcy, „na pierwszy ogień” pójdzie USB, ponieważ to właśnie ten typ połączeń jest najczęściej wykorzystywany do transferu MIDI między urządzeniami a komputerem.
Universal MIDI Packet, jak sama nazwa wskazuje, to pakiety informacji MIDI, które składają się ze słów 32-bitowych, od jednego do czterech. W praktyce można zatem wysłać np. cztery słowa 32-bitowe, jedno 128-bitowe, dwa 64-bitowe, jedno 32-bitowe plus trzy 96-bitowe itd. Do tego potrzebny jest jednak szybki transfer, a zatem w praktyce USB albo sieć. MIDI 1.0 działające w oparciu o tradycyjne złącza DIN-5 pracuje w trybie strumieniowym, a nie pakietowym, a zatem dopóki nie zaistnieje taka potrzeba, gniazda te nie będą na razie obsługiwać protokołu MIDI 2.0. Pierwsze cztery bity w każdym komunikacie zawierają informacje Message Type, czyli informującą o tym, jakiego rodzaju dane znajdują się w pakiecie. Mogą to być informacje narzędziowe, systemowe, dane z uwzględnieniem System Exclusive (wówczas dane będą 64-bitowe), dane bez SysEx (128-bitowe) oraz informacje o wykorzystanych kanałach. Przewidziano też 10 informacji rezerwowych, do wykorzystania przez deweloperów w bardziej zaawansowanych konfiguracjach.
Sama implementacja sterowania poprzez MIDI 2.0 została znacząco uproszczona w porównaniu do oryginalnego formatu. Wprawdzie „tajemniczy” SysEx pozostał, ale zniknęły kontrolery rejestrowane (RPN) i przypisywalne (NRPN). Zastąpiono je kontrolerami o bardzo podobnych nazwach (Registered Controllers i Assignable Controller), ale o znacząco większej funkcjonalności i możliwościach. Liczba RPN i NRPN, czyli w praktyce liczba parametrów, którymi możemy sterować jednocześnie i niezależnie, w MIDI 1.0 wynosi maksymalnie 128. Teraz natomiast jest to 16.383 jednych i tyle samo drugich. Aby łatwiej się w takiej masie poruszać, podzielono je na 128 banków po 128 kontrolerów każdy. W oparciu o kilkanaście tysięcy możliwych do wykorzystania sterowalnych parametrów można już zarządzać naprawdę wielkimi systemami, a biorąc pod uwagę 32-bitową rozdzielczość sterowania, ich precyzja jest niedościgniona.
Ciekawe funkcje MIDI 2.0
MIDI 2.0 jest znacząco bardziej precyzyjnym formatem niż oryginał, a stało się to możliwe dzięki zastosowaniu nowych komunikatów Jitter Timestamps (które mogą funkcjonować także w ramach MIDI 1.0, jeśli ich obsługa zostanie zaimplementowana). Co ciekawe, funkcja indeksowania czasowego nie jest zależna od systemowej synchronizacji za pośrednictwem danych Master Clock czy innego typu synchronizacji nadajnik-odbiornik. Funkcjonuje całkowicie samodzielnie i znacząco poprawia precyzję, choć nie wpływa na synchronizację jako taką. Ta ostatnia w dużej mierze zależy od prawidłowego raportowania latencji przez poszczególne elementy całego systemu i nie jest kwestią formatu ani protokołu. Mówiąc inaczej, to od twórców danego urządzenia będzie zależała jego zdolność do zachowania optymalnej synchronizacji, kontrola jittera nie ma z tym nic wspólnego. Znacząco natomiast poprawiono rozdzielczość komunikatów kontrolerów ciągłych, czyli tych, które w praktyce odpowiedzialne są np. za zmiany głośności, częstotliwości filtrów, rezonansu itp. Dotychczas stosowane pakiety 7-bitowe pozwalają na zaprezentowanie 128 wartości (2 do potęgi 7). W przypadku nowego formatu wartości kontrolerów mogą być 16-bitowe, co zwiększa liczbę wartości dyskretnych użytych w komunikatach velocity do ponad 65.000.
Kontrolery odpowiedzialne za przekazywanie informacji o sile nacisku oraz odstrojeniu są 32-bitowe, a zatem ich precyzja przewyższa analogową! Skąd taki wniosek? Zakładając, że zakres dynamiki naszego słuchu to 120 dB, a pojedynczy bit informacji reprezentuje dynamikę 6 dB, do płynnych dla naszego słuchu zmian w zupełności wystarczą dane 20-bitowe. W przypadku danych 32-bitowych możemy mówić o teoretycznym zakresie dynamiki wynoszącym 192 dB. Tak wysoka precyzja odstrajania dźwięku znajdzie swoje pełne zastosowanie głównie przy praktycznej realizacji mikrotonalności oraz różnego typu skal muzycznych. Postęp w zakresie dokładności kontroli jest ogromny, choć do pełnego wykorzystania tych możliwości np. w sterownikach MIDI potrzebne będą dużo wyższej klasy manipulatory, czujniki, a przede wszystkim współpracujące z nimi przetworniki A/C, co nie pozostanie bez wpływu na cenę takich urządzeń. I w tym właśnie momencie można się zacząć zastanawiać, komu tak wysoka precyzja będzie potrzebna, skoro już i tak dzięki uśrednianiu wartości przejściowych podobne efekty można uzyskać za pośrednictwem danych 7-bitowym. Na odpowiedź na to pytanie będziemy musieli jeszcze poczekać, przyglądając się uważnie kolejnym nowym produktom z zaimplementowanym protokołem MIDI 2.0. Na razie jest tylko jeden – Roland A-88MKII – a jego cena oscyluje wokół 1.000 euro. Podejrzewam, że format ten rozpowszechni się głównie w droższych produktach, podczas gdy te najtańsze, przynajmniej jeszcze przez jakiś czas, pozostaną przy sprawdzonym MIDI 1.0.
Jedną z najistotniejszych cech MIDI 2.0 jest łatwość automatycznego konfigurowania dwóch różnych elementów systemu. Może się więc okazać, że niedługo zapomnimy o funkcji MIDI Learn.
MIDI-CI (Capability Inquiry), czyli „zapytanie o możliwości” to nowy pomysł, dzięki któremu podczas wymiany danych jego inicjator jest w stanie stwierdzić, czy może nawiązać łączność dwukierunkową z partnerem, a jeśli tak, to oba urządzenia określają wzajemnie swoje możliwości w tym zakresie. Odbywa się to na trzech płaszczyznach, uwzględniających konfigurację profilu (Profile Configuration), wymianę informacji o właściwościach (Property Exchange) oraz ustalenie protokołu komunikacji (Protocol Negotiation). Gdy na zapytanie nie uzyska się odpowiedzi, wówczas transmisja dokonuje się w oparciu o protokół MIDI 1.0. Wszystko dzieje się automatycznie, zatem nie jest potrzebna konfiguracja ze strony użytkownika (choć w praktyce zapewne trzeba będzie coś tu i ówdzie przełączyć, jak to zwykle bywa). Ciekawie przedstawia się konfiguracja profilu, dzięki której możemy przenosić możliwości manipulacyjne jednego urządzenia (programu) na inne i odwrotnie. W praktyce sprowadza się to do tego, że przypisanie sprzętowego kontrolera MIDI 2.0 do instrumentu funkcjonującego w ramach tego samego formatu dokonuje się bez konieczności pracochłonnego mapowania czy też wczytywania profilów z pliku. Oba elementy „dogadują się” odnośnie obsługi wspólnego języka komunikacji i w efekcie niemal natychmiast można aktywować wzajemne sterowanie na bazie najczęściej wykorzystywanych komunikatów. Jeśli w obu został wykorzystany ten sam profil, wówczas ta współpraca może być jeszcze bardziej zaawansowana i obejmować bardziej egzotyczne kontrolery.
Pierwszy instrument zgodny ze specyfikacją MIDI 2.0 to Roland A-88MKII, będący fortepianową klawiaturą sterującą z szeregiem funkcji dodatkowych.
Wymiana informacji o właściwościach (Property Exchange) dokonuje się w ramach komunikatów System Exclusive. Pozwala ona przenosić takie informacje, jak konfiguracja urządzeń, nazwy banków i presetów, ich metadane, listy kontrolerów oraz ich mapowania itp. Jest to nic innego jak ustandaryzowana forma takiej współpracy instrument/kontroler, z jaką mamy do czynienia choćby w przypadku Native Kontrol czy systemów Akai VIP. W tym wypadku staje się ona niezależna od producenta, a nawet platformy programowej, obejmując Windows, Mac, Linux, IOS czy protokoły internetowe. Umożliwia ona nie tylko sterowanie na poziomie brzmień, ale też obsługę programów DAW i uruchomionych w nim wtyczek. Całość opiera się na obiektowym języku JavaScript (JSON), zatem jest łatwa w implementacji w urządzeniach i aplikacjach.
Podsumowanie
Najważniejsza informacja jest taka, że MIDI 1.0 nie znika – wciąż pozostaje w użyciu i będzie respektowane przez MIDI 2.0. W zakresie funkcjonalności nic się nie zmienia, ale programiści i twórcy sprzętu otrzymali ustandaryzowane narzędzie do realizacji zadań, które do tej pory były wykonywane z użyciem własnych, indywidualnych protokołów, takich jak np. NI NKS czy Akai VIP. Nie należy się zatem spodziewać rewolucji na miarę pojawienie się MIDI w 1983, a raczej powolnej ewolucji w kierunku ujednolicenia pewnych rozwiązań. Praktyka pokazała, że takie działanie przynosi korzyści wszystkim, zarówno producentom jak i konsumentom. Z drugiej jednak strony partykularne interesy niektórych firm i dość bezwzględna walka o rynek mogą sprawić, że niektórzy producenci nie będą tak chętnie oferować kompatybilności z MIDI 2.0, ponieważ stosowanie ich własnych rozwiązań, póki co przynosi im większe profity. Ponadto cała branża nauczyła się świetnie funkcjonować z takim MIDI, jakie jest od blisko czterech dekad, w razie konieczności uzupełniając jego funkcjonalność o potrzebne dodatki (np. MPE).
Dave Smith (Sequential) oraz Ikutaro Kakehashi (Roland) w 2013 roku otrzymali nagrodę Grammy za opracowanie i wprowadzenie MIDI. Sporo wskazuje na to, że MIDI 2.0 nie będzie już wielkim krokiem w zakresie technologii, by zasłużyć na Grammy, ale nigdy nic nie wiadomo...
Byłbym zatem ostrożny, jeśli chodzi o kreślenie świetlanej przyszłości MIDI 2.0. Największym problemem tego formatu jest to, że do pełnego wykorzystania jego potencjału w zakresie zwiększenia rozdzielczości, potrzebne będzie zastosowanie precyzyjnych, znacznie droższych czujników, manipulatorów i konwerterów w klawiaturach sterujących. To w sposób istotny przełoży się na ich cenę detaliczną. I przypomnę też starą prawdę, że jeśli ktoś ma dobry pomysł, ale jest na niego za wcześnie, to pomysłodawcę nazywa się wizjonerem. Jeśli ma ten pomysł we właściwym czasie, to staje się milionerem. Jeśli natomiast pomysł pojawia się za późno, to wtedy takiego pomysłodawcę nazywa się... Mniejsza z tym. Przyszłość już nieraz pokazała, że jest nieprzewidywalna.
Więcej informacji: Witryna MIDI Association – www.midi.org