Reklama

    Czym jest MIDI i jak go używać?

    MiniaturkaOd roku 1981 wielu producentów wytwarzało syntezatory sterowane wewnętrznie sygnałami cyfrowymi. Sygnały te zawierały informacje takie jak: który klawisz został naciśnięty i jaka gałka została przekręcona. Mogły one być rejestrowane w postaci cyfrowych sekwencji.

    Jednak każda firma miała inny system zapisu i odczytu tych informacji, tak więc sekwencer Rolanda mógł pracować tylko z syntezatorem tej samej firmy itd. Dzięki porozumieniu głównych producentów tego typu sprzętu powstał wspólny system MIDI (Musical Instrument Digital Interface), będący uniwersalną formą komunikacji pomiędzy sekwencerami i syntezatorami różnych firm. Inauguracja systemu MIDI w 1983 roku rozpoczęła bezprecedensowy okres w historii elektronicznego przemysłu muzycznego.

    Jak działa MIDI?

    MIDI zostało wymyślone po to, by przenosić proste zbiory poleceń. Idea tego systemu jest taka, że grając na jednym keyboardzie (klawiaturze sterującej) posiadającym MIDI, możesz sterować innym urządzeniem (syntezatorem, modułem brzmieniowym) poprzez sygnał MIDI. Dokonuje się to dzięki poleceniom note-on i note-off. Każdej informacji note-on towarzyszy informacja key velocity, która mówi o sile nacisku na dany klawisz. Można w ten sposób podawać jeszcze wiele parametrów charakteryzujących dany dźwięk, takich jak wysokość tonu, modulacja dźwięku itp. Czasowa synchronizacja pomiędzy poszczególnymi dźwiękami realizowana jest za pomocą informacji MIDI clock. Przez lata MIDI było systematycznie rozwijane, co pozwalało na bardziej kompleksową komunikację pomiędzy urządzeniami, lecz oryginalna Specyfikacja MIDI nigdy nie została zmieniona. Dzięki temu instrumenty zbudowane np. w 1984 roku, mimo iż nie mają wielu nowoczesnych funkcji, nadal są w stanie pracować ze współcześnie wyprodukowanymi.

    Co jest zadaniem MIDI?

    Dzisiaj podstawowym zadaniem MIDI jest sekwencja i sterowanie syntezatorów (lub samplerów) z głównej klawiatury sterującej (master keyboard) lub ze ścieżek MIDI w sekwencerze. Jest również używane do przesyłania informacji z syntezatora do urządzeń rejestrujących, do sterowania mikserów cyfrowych i procesorów efektów oraz do synchronizowania pracy różnych urządzeń za pomocą MIDI Time Code. MIDI ma jednak swoje ograniczenia. Protokół pozwala na maksymalny poziom szybkości transmisji 31,25 kbodów (bod - jednostka szybkości przepływu informacji). Początkowe założenia opiewały na 16 oddzielnych kanałów informacji muzycznej w jednym kablu, co wydawało się dużo na tamte czasy.

    Zdjęcie

    Transmisja danych

    Transmisja danych MIDI odbywa się w formacie szeregowym, czyli bit za bitem z szybkością 31.250 bitów na sekundę. To wystarczająco szybko, by tą metodą przekazać ilość danych towarzyszących nawet najbardziej wyrafinowanym wykonaniom muzycznym.

    Teraz trochę liczb. Na przesłanie pojedynczej informacji MIDI note-on potrzeba ok. 1 milisekundy (dokładniej 0,96ms). W przypadku MIDI każdy bajt składa się z dziesięciu bitów, a informacja note-on zajmuje trzy bajty (pierwszy to numer kanału będący częścią bajtu statusu, drugi to numer nuty, a trzeci to velocity – szybkość nacisku klawisza). Przesłanie informacji o naciśnięciu 10-głosowego akordu zajmie 10ms: komunikat opisujący dziesiątą nutę w akordzie dotrze do odbiornika 10 milisekund po odebraniu komunikatu opisującego pierwszą nutę.

    Sterując urządzeniem generującym dźwięki (np. modułem brzmieniowym) z klawiatury sterującej MIDI trzeba brać to opóźnienie pod uwagę, ale nawet grając najbardziej wymyślne akordy nigdy nie uderzamy wszystkich dźwięków z idealną precyzją, stąd jego wpływ na stronę wykonawczą jest praktycznie rzecz biorąc pomijalny.

    Nieco inaczej sprawa wygląda w przypadku przesyłaniu komunikatów MIDI wewnątrz komputera, gdzie nie występują żadne ograniczenia wynikające z konieczności transmisji szeregowej „po kablu”. Oczywiście należy liczyć się z pewną zwłoką w reakcji aplikacji odbierającej komunikat MIDI (syntezatora programowego) od aplikacji nadawczej (sekwencera MIDI), ale owe opóźnienie nawet w przypadku powolnych komputerów nie powinno przekroczyć 2ms.

    Jeśli jednak gramy na klawiaturze MIDI wyzwalając dźwięki w zainstalowanym w komputerze syntezatorze wirtualnym, wówczas oprócz opóźnienia w przesłaniu danych z klawiatury do syntezatora należy wziąć pod uwagę tzw. latencję, czyli czas potrzebny komputerowi na przeliczenie danych wygenerowanych przez syntezator i wyemitowanie dźwięku na wyjściu karty dźwiękowej.

    Choć współczesne interfejsu audio potrafią zejść z poziomem latencji do 1.5ms, to jednak w praktyce latencja rzędu 10ms jest całkiem przyzwoitym wynikiem. Sumując to z kolejnymi 10ms, wynikającymi z czasu transmisji szeregowej z klawiatury do komputera, otrzymujemy 20ms i jednocześnie odpowiedź na pytanie, dlaczego niektórzy bardziej wymagający instrumentaliści nie przepadają za grą z wykorzystaniem instrumentów wirtualnych zainstalowanych w komputerze, preferując rozwiązania sprzętowe.

    Zdjęcie

    Kanały MIDI

    Kanały w MIDI odgrywają taką samą rolę jak kanały w telewizorze podłączonym do sieci kablowej – na każdym można przesłać inną informację. Mając telewizor z podglądem wielu kanałów, można oglądać wiele kanałów jednocześnie. Odpowiednikiem takiego telewizora z możliwością równorzędnego podglądu wielu kanałów jest w świecie MIDI syntezator (lub moduł czy sampler) multitimbralny.

    W przypadku MIDI pojedynczym kablem lub za pośrednictwem wirtualnego portu MIDI można przesłać do 16 kanałów, z których każdy – trzymając się analogii do telewizji kablowej – zawiera inną treść, czyli w naszym wypadku opisuje co ma grać dany instrument zarówno w sferze pojedynczych dźwięków jak i całych akordów. Zadaniem użytkownika jest określenie tych samych kanałów po stronie odbiorczej i nadawczej. Chodzi o to, że kanał, na którym przesyłamy informacje o grze perkusji, musi sterować tym blokiem syntezatora lub samplera, który odpowiada za odtwarzanie dźwięków perkusji, a nie np. fortepianu.

    Chcąc w swej aranżacji wykorzystać więcej niż 16 instrumentów, musisz skorzystać z dodatkowego portu MIDI – w świecie fizycznym jest to dodatkowe gniazdo MIDI, a w świecie wirtualnym kolejny port, którego nazwę powinieneś znaleźć w opcjach ustawień sekwencera i programowego syntezatora/samplera. Chcąc za pośrednictwem MIDI odtwarzać partię, do wykonania której potrzebne są 64 instrumenty, musisz dysponować czterema portami MIDI – zarówno po stronie sterowania jak i odtwarzania. Coraz więcej współcześnie produkowanych instrumentów wyposażonych jest w interfejs USB, który pozwala na transmisję znacznie większej liczby kanałów za pośrednictwem jednego kabla, bez kłopotliwych wielokrotnych połączeń. USB ma jednak rację bytu w przypadku transmisji do i z komputera; jeśli chcemy podłączyć klawiaturę sterującą ze sprzętowym modułem lub syntezatorem, to w dalszym ciągu będziemy potrzebować kabli i gniazd MIDI.

    General MIDI

    General MIDI to standard wprowadzony do użycia w 1991 roku. Wprawdzie od chwili rozpowszechnienia syntezatorów wirtualnych coraz bardziej traci on na znaczeniu, jednak warto przypomnieć sobie, czym jest i do czego może być potrzebny.

    Od samego początku występował problem współpracy pomiędzy różnymi urządzeniami MIDI, ponieważ każdy producent używał własnej metody zapisu programów w pamięci. Informacja MIDI o numerze programu np. 18 w jednym syntezatorze uruchamiała dźwięk fletu, w innym organy Hammonda, a w jeszcze innym – zestaw perkusyjny. Sprawa nabrała znaczenia, gdy pomiędzy różnymi studiami nagraniowymi i twórcami zaczęły krążyć dyskietki zarejestrowane w systemie SMF (Standard MIDI Files – patrz niżej). To spowodowało zintensyfikowanie prac nad ustaleniem wspólnego standardu, który został określony mianem General MIDI (GM).

    General MIDI wprowadził listę 128 brzmień, które w każdym syntezatorze kompatybilnym z tym standardem muszą odpowiadać za barwę konkretnego instrumentu bądź efektu. I tak – pierwsze sześć programów to różne odmiany brzmienia typu Piano, od 16 do 20 mamy różnego typu organy, od 24 do 32 – gitary, od 32 do 39 – basy, itd. aż do 128. Aranżer, który zapisał swoje pomysły za pomocą sekwencera w standardzie SMF, może być pewien, że po odtworzeniu na innym instrumencie, ustawiony przez niego slap electric bass będzie brzmiał przynajmniej podobnie (choć z tym akurat bywa różnie – trudno od instrumentu za 600 zł wymagać, by jego bank General MIDI brzmiał tak, jak w instrumencie za 6.000 zł).

    Coraz częściej można spotkać się (szczególnie w przypadku banków brzmień dla samplerów) z zestawami General MIDI, w których poszczególne brzmienia są znakomicie spróbkowanymi instrumentami oryginalnymi, a nie ich syntetycznymi odpowiednikami, których plastikowe brzmienie kojarzono z tanimi instrumentami klasy keyboard.

    Oprócz zgodności brzmień GM ma swoje dodatkowe wymagania. Instrumenty GM muszą dysponować co najmniej 24-głosową polifonią i muszą współpracować z 16 kanałami MIDI jednocześnie. Zestaw perkusyjny musi mieć określony strój – bęben centralny (stopa) w niskim C, werbel w D, itd., a jednocześnie musi odpowiadać perkusyjnej części MIDI na kanale 10. Parametry, których GM nie narzuca, to górne możliwości danego instrumentu. Może on mieć dowolną polifonię powyżej 24 i dowolną liczbą programów powyżej 128, a mimo to w dalszym ciągu będzie sklasyfikowany jako instrument kompatybilny z GM.

    Choć General MIDI nie ma już takiego znaczenia jak kiedyś (zresztą jego pozycja jako standardu zawsze była dość niepewna), to jednak w dalszym ciągu jest chętnie stosowane właśnie z uwagi na to, iż zachowuje główną myśl aranżacyjną zawartą w utworze. Plik zapisany w standardzie SMF i odtwarzany na różnych instrumentach jest jak dyrygent, który dyryguje różnie brzmiącymi orkiestrami, ale zawsze o tym samym składzie instrumentalnym. I o to w tym wszystkim chodziło.

    Obrazek

    Sekwencer MIDI

    Sekwencer MIDI jest elektronicznym odpowiednikiem pozytywek na taśmy perforowane i występuje zarówno w postaci programowej jak i sprzętowej. Sekwencer nie rejestruje samych dźwięków, lecz dane określające owe dźwięki – na podobieństwo perforowanej taśmy papierowej stosowanej w pozytywkach. Jeżeli umieścisz taśmę perforowaną w rozstrojonej pozytywce lub w pozytywce z brakującymi strunami, otrzymasz dźwięk zmieniony, nawet gdy taśma jest taka sama jak poprzednio. W ten sam sposób sekwencer wysyła polecenia w formie komunikatów MIDI do modułu odbiorczego, syntezatora czy samplera.

    Praca z sekwencerem przypomina trochę pracę komputerowego edytora tekstów. Tak jak w edytorze możesz pisać, przenosić i wycinać bloki liter (w przypadku MIDI odpowiednikiem liter są nuty). Możesz zmienić wygląd, wielkość pisma, przenosić dane lub zachowywać je na dysku. Sekwencer musi mieć jednak większe możliwości niż przeciętny edytor tekstu, ponieważ informacja MIDI zawiera w sobie dużo więcej treści niż tekst. Sekwencer organizuje swoje informacje muzyczne w postaci ścieżek, przez co upodabnia się do wielośladu. Każda ścieżka jest zazwyczaj pojedynczym kanałem MIDI – na podobieństwo partii piana lub basu w partyturze. Ścieżki mogą być wyłączane (tak jak w wielośladzie) i w ten sposób słyszysz tylko te partie, które Cię w danym momencie interesują.

    Podstawową metodą edycji w sekwencerze jest kwantyzacja, używana do automatycznego wyrównania w czasie pojedynczych nut. Sekwencer robi to przez przesuwanie każdej nuty w czasie do przodu lub do tyłu, tak by umieścić ją dokładnie w rytmie. Użytkownik sam definiuje siatkę kwantyzacji, czyli decyduje o wartości najmniejszej jednostki tempa muzycznego rozpoznawanego przez sekwencer. Aby wykonywać tę czynność – podobnie jak i wiele pozostałych – sekwencer musi posiadać wewnętrzny zegar dający punkt odniesienia i stabilną bazę czasową. Częstotliwość zegara sekwencera podaje się w jednostkach zwanych PPQ (pulses per quarter-notes – impulsy na ćwierćnutę), która waha się od 24 do 960.

    Zdjęcie

    Standard MIDI Files (SMF)

    Standard MIDI Files (SMF) to sposób wymiany informacji pomiędzy jednym sekwencerem a drugim, będący czymś na kształt jednolitego formatu zapisu tekstu w przypadku edytorów, jakim jest np. RTF czy TXT. Każdy sekwencer używa własnego formatu do zapisywania informacji na dysku i do rzadkości należą wypadki, gdy sekwencer wyprodukowany przez jedną firmę może bez konwersji czytać pliki stworzone na sekwencerze innej firmy. Jednak większość sekwencerów ma możliwość zapisu i odtwarzania danych w standardzie SMF. Niektóre typy informacji są charakterystyczne tylko dla danego typu sekwencera i zostaną utracone w procesie konwersji, lecz informacje o charakterze typowo muzycznym pozostaną niezmienione. SMF jest zwykle używany jako platforma wymiany danych między różnego typu programami komputerowymi, sprzętowymi sekwencerami i urządzeniami (keybordami, stacjami roboczymi) MIDI.

    Oryginalna specyfikacja MIDI zakładała istnienie trzech typów SMF: 0, 1 i 2, ale obecnie stosowane są tylko dwa pierwsze. W przypadku SMF w formacie 0 wszystkie informacje zapisane są na jednej ścieżce. Ponieważ każde zdarzenie MIDI zawiera w sobie informację o numerze kanału, ścieżka taka może być bez problemu rozbita na pojedyncze ścieżki zawierające informacje o poszczególnych instrumentach wykorzystywanych w aranżacji – np. w przypadku sekwencerów z rodziny Cakewalk używa się do tego celu skryptu Tracks.CAL. Plik SMF w formacie 1 zawiera informacje MIDI w formacie wielościeżkowym, włącznie z nazwami poszczególnych ścieżek – i jest gotowy do natychmiastowego użycia i edycji.

    Synchronizacja MIDI

    Synchronizacja jest jednym z najważniejszych aspektów współpracy urządzeń lub programów wykorzystujących do komunikacji protokół MIDI. Najprostszą formą synchronizacji jest wprowadzona wraz pierwotną specyfikacją MIDI synchronizacja MIDI Sync (MIDI Clock). Uwzględnia ona transmisję następujących komunikatów: Start (nakazujących urządzeniu podporządkowanemu rozpoczęcie odtwarzania z chwilą początku songu), Stop (zatrzymujących odtwarzanie), Continue (nakazujących odtwarzanie od wskazanego miejsca) oraz Song Position Pointer (nakazujących skok w odtwarzaniu do określonego miejsca w songu). Urządzenie nadrzędne (Master) wysyła do urządzenia podporządkowanego (Slave) komunikaty zegarowe z częstotliwością 24 impulsów na ćwierćnutę. MIDI Sync jest bazą czasową zależną od tempa – jeżeli główny sekwencer przyspiesza, wysyła więcej impulsów na sekundę, co powoduje przyspieszanie urządzenia Slave.

    Jeśli zachodzi potrzeba synchronizacji dźwięku i obrazu należy skorzystać z innego typu synchronizacji – MIDI Time Code. Jest ona formą synchronizacji SMPTE i odnosi się do czasu rzeczywistego wyrażonego w godzinach, minutach, sekundach i ramkach. SMPTE jest złożonym sygnałem audio nagrywanym na specjalnych ścieżkach urządzenia rejestrującego przy pomocy generatora kodu czasowego (Time Code). Urządzenie odczytujące ten kod może być w każdej chwili dosynchronizowane do dowolnego miejsca na nośniku, na którym zapisano kod czasowy. Kod SMPTE nie może być używany do przesyłania za pomocą przewodu MIDI, gdyż MIDI jest sygnałem cyfrowym. Aby urządzenia MIDI mogły odczytywać SMPTE i dostosowywać się do niego, muszą być wyposażone w sprzętowy lub programowy konwerter SMPTE na MIDI Time Code (MTC). MTC jest odpowiednikiem SMPTE, ale zamiast w oparciu o sygnał audio pracuje na bazie specjalnych komunikatów MIDI. Po otrzymaniu komunikatu MTC sekwencer MIDI przelicza go na takty, bity i impulsy zegara, które korespondują z odpowiadającymi im jednostkami czasu rzeczywistego. Synchronizacja MTC nie przenosi zmian tempa.

    Ani SMPTE ani MIDI nie są jednak wystarczająco dokładne, by zapewnić dobrą synchronizację w procesie cyfrowej rejestracji sygnału. Najwyższej jakości urządzenia cyfrowe audio są synchronizowane wzajemnie za pomocą sygnału zwanego wordclock. Ten sygnał zegarowy jest zgodny z pojedynczym impulsem próbkującym. Specjalizowane urządzenia używają do synchronizacji zarówno SMPTE jak i wordclock oraz jakiegoś innego odnośnika synchronizującego.

    Komunikaty MIDI

    Komunikaty MIDI dzielą się na siedem kategorii o różnej funkcjonalności i przeznaczeniu: Note, Key Aftertouch, Channel Aftertouch, Controller, Program Change, Pitch Bend i System Exclusive. W ramach kategorii Note sklasyfikowano komunikaty Note On i Note Off, informujące o włączeniu i wyłączeniu nuty.

    W niektórych klawiaturach MIDI, oprócz informacji o naciśnięciu i puszczeniu klawisza, przetwarzane i wysyłane na zewnętrz są komunikaty o sile nacisku – Aftertouch. Parametr ten może służyć do określenia głośności granego dźwięku, jego modulacji lub zmian brzmienia. Aftertouch występuje w postaci Key Aftertouch – różny dla poszczególnych klawiszy – i Channel Aftertouch – jednakowy dla wszystkich klawiszy.

    Kontrolery MIDI (Controllers)

    Bardziej szczegółowego omówienia wymagają kontrolery (Controllers), pozwalające regulować różne aspekty edytowanej barwy lub parametry sterowanego urządzenia. Choć często w odniesieniu do nich używa się określenia "ciągłe" (CC), należy sobie wyjaśnić, że takimi nie są.

    Zakres regulacji każdego parametru w MIDI waha się od 0 do 127. Zmiana jakiegokolwiek parametru nie odbywa się zatem płynnie, ale maksymalnie w 127 skokach. Numery niektórych kontrolerów są zarezerwowane i nie pozwalają na wykorzystanie ich w charakterze kontrolerów ciągłych. Tak jest np. w przypadku kontrolera CC64 przypisanego do pedału sustain, który ma tylko dwa stany: włączony (127) i wyłączony (0). Dowolnie natomiast można definiować kontrolery o numerach 32-63.

    Kontroler Pitch Bend

    Kontroler Pitch Bend, odpowiedzialny za płynną (teoretycznie) zmianę wysokości dźwięku został zdefiniowany jako regulator o 14-bitowej rozdzielczości, ale w praktyce wielu producentów stosuje rozdzielczość 7-bitową ze standardową regulacją od 0 do 127. Efektem takiego stanu rzeczy są różnice w wyświetlaniu wartości Pitch Bend w różnych sekwencerach – w jednych zawiera się ona między -64 a +64 co odpowiada rozdzielczości 7-bitowej, a w innych między -8192 a +8192, co odpowiada rozdzielczości 14-bitowej.

    System Exclusive

    System Exclusive to specjalne informacje MIDI charakterystyczne dla danego instrumentu. Dzięki nim można zmieniać parametry, których nie da się zmienić za pomocą standardowych poleceń MIDI. Tą metodą można też przenosić programy do i z edytorów programowych oraz uaktualniać system operacyjny syntezatora bądź urządzenia wykorzystującego MIDI. W tym ostatnim przypadku odbywa się to dzięki plikom SMF zawierającym odpowiedni zestaw komunikatów SysEx.

    Rozpowszechnianie za pośrednictwem internetu to obecnie najpopularniejsza forma dystrybucji nowych systemów operacyjnych dla instrumentów i urządzeń. Ściągnięty z sieci plik MID zawierający nowy system operacyjny zapisujemy na twardym dysku naszego komputera i ładujemy do sekwencera MIDI. Wyjście MIDI z komputera podłączamy do wejścia instrumentu, który przełączamy w tryb odczytu nadchodzących komunikatów SysEx (szczegóły w instrukcji obsługi dostarczonej przez producenta). Teraz należy włączyć odtwarzanie w sekwencerze i nie robić nic aż do momentu całkowitego zakończenia procesu, co zostanie zasygnalizowane przez urządzenie odbierające komunikaty.

    Co warto jeszcze wiedzieć?

    MIDI w komputerze to obecnie powszechnie panujący standard. W jednej maszynie mamy sekwencer i syntezatory, a jedyne czego potrzebujemy to klawiatura sterująca, która pozwoli nam na ręczne wgrywanie nut. Tak po prawdzie, to nawet ona nie jest potrzebna, szczególnie wtedy gdy umiejętność logicznego naciskania klawiszy jest Ci obca, bądź preferujesz gatunki muzyczne nie wymagające takiego wyzwalania dźwięków.

    Zdecydowana większość obecnie dostępnych syntezatorów wirtualnych komunikuje się z sekwencerem za pośrednictwem protokołu VST lub DXi i nie wymaga instalowania dodatkowych portów MIDI. Jeśli jednak korzystasz z syntezatora pracującego w trybie stand-alone (jako samodzielny program, którego nie można otworzyć "wewnątrz" sekwencera, jak ma to miejsce w przypadku instrumentów w formacie VST lub DXi) wówczas należy zainstalować wirtualne porty MIDI. Zgłaszają się one jako dodatkowe wejścia i wyjścia we wszystkich programach wykorzystujących MIDI, pozwalając łączyć je ze sobą w celu wymiany informacji. Wirtualne porty stanowią odpowiednik sprzętowych gniazdek MIDI i łączących je kabli, oferując takie same możliwości w zakresie transmisji danych. Najpopularniejszymi programami instalującymi wirtualne porty są darmowe MIDIYoke, Hubi’s Midi Loopback i Virtual MIDI Router.


    Autor: Artur Kraszewski
    Źródło: www.eis.com.pl

    Statystyka

    Odsłon artykułów:
    4123575
    © 1999-2018 DJ WORLD. All Rights Reserved.