| PC Help |
| уроци | | | софтуер | | | хардуер | | | речник | |
| | | връзки | ||||||||
| Цикъл лекции за MIDI 3. Стандарти GM / GS / XG / GM2 Цялата история на MIDI е всъщност един стремеж към унификация, по-добро управление и приближаване на звученето при отделните инструменти и техните производители. Но, както ще видим по-долу, капиталистическият модел на конкуренция се явява пречка за истинска стандартизация, защото никоя фирма няма да позволи универсалното приемане на нейния фирмен стандарт от другите, защото ще изгуби контрола върху него (освен ако предварително не се е отказала от такъв контрол). Затова се правят компромиси от рода на GM или твърде закъснелия GM2. Нека обаче да не избързваме, а да разгледаме нещата конкретно и в хронологичен ред. Ще редуваме технически данни с по-общи и икономически разсъждения, защото тези неща са неразривно свързани помежду си. По-долу става дума изключително за японските фирми Roland и Yamaha и това не е случайно. Това са "двата кита", на които се крепи MIDI. В главите за техните фирмени стандарти GS и XG ще отваряме по една скоба за историята и особеностите на всяка една от тези фирми. Засега само ще отбележим, че поначало в областта на електронните музикални инструменти (разбира се, не единствено там) надмощието на японците е тотално. Няма нито една конкурентна западна фирма, която да може да се сравнява по обем на произведената продукция с тези два гиганта от Далечния изток. 4.1. Общ MIDI-стандарт (General MIDI / GM) През 1991 г. става очевидно, че проблемът с несъвместимостта на програмите, ударните инструменти и контролерите при отделните инструменти и производители се е превърнал в нетърпима пречка възприемането на MIDI като стандарт за масовия потребител, а не само в студийната или сценичната работа на музикантите. (Ако се опитате да възпроизведете композиция, създадена за един инструмент на друг, нищо няма да звучи правилно.) Тогава бе създаден стандарт, който унифицира имената на инструментите за всяка от 128-те възможни програми, имената на ударните инструменти и техния канал, а също така някои контролери Стандартът постави и някои минимални изисквания към възможностите на синтезаторите. Той бе наречен "General MIDI" (общ MIDI-стандарт). Интересното е обаче, че той възниква практически едновременно с фирмения стандарт на Roland GS (вж. по-долу). Защо е така? От висотата на изминалите 10 години не е трудно да се намери отговорът. Roland просто са искали нарочно да "пробутат" на публиката по-нисък стандарт, за да "блесне" техният по-висок стандарт GS... и да могат да продават по-добре своята серия синтезатори "Sound Canvas". Наистина този "двоен стандарт" се оказа изключително печеливш ход за тях. Те и досега обират лаврите от успеха си през 1991 г., а Yamaha не може да навакса и досега трите години изоставане с XG. Но за Roland - по-късно. Нека първо да видим какво точно се стандартизира с GM и на какви изисквания трябва да отговарят GM-синтезаторите. 4.1.1. Канали и полифония Синтезаторът трябва да може да свири едновременно 16 различни тембъра с поне 24 динамично заемани гласа общо за мелодичните и ритмичните (ударни) инструменти или поне 16 гласа за мелодичните и 8 за ударните. За ритмичната партия е стандартизиран канал 10. Приоритетът на отделните партии не се стандартизира. 4.1.2. Нотни съобщения Всички гласове, вкл. ударните, трябва да реагират на скоростта на съобщенията за включване на нота, но не се изисква да отговарят на скоростта на съобщенията за изключване на нотата. Ритмичният канал трябва да игнорира съобщенията за изключване на нотата. включително и тези, кодирани като включване на нота с нулева скорост. Задава се честота на нотата "Ла" от първа октава 440 Hz. При мелодичните звуци трябва да се използва равномерно темпериран строй. Нотите с номера от 36 до 96 трябва да звучат вярно, а останалите могат да дублират тези в най-близката октава. В ритмичния канал ноти от 60 до 72 трябва да звучат със съответния тембър и височина на тона (останалите по аналогия на мелодичния канал могат да се дублират с друг близък звук). 4.1.3. Организация и избор на звуците Въвежда се организация на 128 мелодични звука в 16 групи от по 8 звука всяка. Те са познати под името "Набор звуци за GM" (GM Sound Set) - вж. таблицата. Не се стандартизира нито самото звучене, нито методът, по който звуците се генерират, а само ориентировъчните имена на звуците. Няма стандартизирани банки от звуци, въпреки че използването им се допуска. Когато се приеме съобщение за смяна на програмата, то не се прилага към вече звучащите ноти, а към следващите. 4.1.4. Ритмичен канал За ударните се заделя канал 10 и се въвежда една таблица (карта) на ударните, в която на нотите с номера от 35 до 81 се присвояват звуци на конкретни ударни инструменти. Както и при мелодичните инструменти, единственото, което се стандартизира с това са ориентировъчните имена на инструментите. 4.1.5. Контролери Стандартизират се следните номера на контролери:
Не се поддържат нито по-новите регистрирани параметри, нито съобщенията "Увеличаване на данните" (96) и "Намаляване на данните (97). Данните за регистрираните параметри се въвеждат директно с контролери 6 (старши байт) и 38 (младши байт). 4.1.6. Съобщения за изменение на височината на тона и на клавишния натиск Синтезаторът трябва да реагира на съобщенията за изменение на височината на тона (En) и за канален натиск (Dn) за всички мелодични гласове. Обхватът на изменение на височината на тона по подразбиране е +/-2 полутона и може да се изменя с RPN 0, но не се дефинира законът на това изменение, нито пък ефектът от съобщението за канален натиск. 4.1.7. Системни съобщения Единствените стандартизирани системни съобщения в този стандарт са следните Универсалните специални системни съобщения в нереално време:
Сензорът за активност (FEh) само се препоръчва да бъде използван, без да бъде задължителен. Не се поддържа нито едно друго системно съобщение. Вижда се, че стандартизацията, наложена от GM е крайно недостатъчна и затова още със самото му създаване, та чак до въвеждането на GM2 през 2000 г. съществува необходимост от по-точно дефиниране на редица функции на синтезаторите. Това се осъществява във фирмените стандарти GS и XG. 4.2. Общ стандарт за синтезатори на Roland (General Synthesizer / GS) Японската фирма Roland играе ключова роля в MIDI-индустрията, защото е една от създателките на самия MIDI-стандарт заедно с американската фирма Sequential Circuits (която отдавна е в историята). Roland е основана в средата на XX век и никога не е разполагала с персонал повече от неколкостотин души, включително фабриката в Европа, която се намира в Италия (естествено). Защо тогава въпреки скромните си размери тази фирма има такова огромно влияние, което дори несравнимо по-голямата Yamaha не е в състояние да отнеме? Първо, има непотвърдени слухове, че всъщност Roland се е отцепила от Yamaha, т.е. не е започнала от нулата. (Казвам слухове, защото за разлика от факта, че една друга японска фирма /Корг/ е всъщност тайно закупена от Yamaha, което, макар и неизвестен, е реален факт, това още не е ясно дали е вярно). Второ, както обясних в началото, "двойният стандарт" GM/GS осигурява неоспоримо лидерство на Roland е началото на деветдесетте години на XX век. Официално обявената причина за създаването на този двоен стандарт е, че не може да се стандартизират изисквания, на които не всички производители са в състояние да отговорят (или желаят да го сторят). Това в известен смисъл е вярно. Трябва да се има предвид обаче, че за разлика от Yamaha, Roland няма собствена фабрика за интегрални схеми, нито собствени разработки на такива. Те използват процесори на Hitachi и памети от същата и други фирми, от които обаче поръчват достатъчни количества, за да могат да си позволят собствена маркировка на корпуса и най-важното, масково програмиране на вграденото програмното осигуряване на сигналните процесори. Тогава защо и други фирми да не могат да го направят? Може би ключът на успеха е другаде? Ще Ви оставя сами да си отговорите на този въпрос, като Ви посоча само един факт. До въвеждането на стандарта GM и малко след това, докъм 1992 г., в MIDI-стандарта са въведени много нови под-стандарти, които разширяват значително областта на приложение на MIDI. Дотогава съществува т. нар. Международна MIDI-асоциация (IMA), чийто председател Lachlan Westfall е и член на изпълнителния съвет на MMA. А после - внимание! - IMA бива разпусната, а председател на MMA става бившият служител на американския отдел на Roland, Tom White. Оттогава насам в MIDI не влиза нито един нов стандарт, с изключение на DLS, който е ориентиран изключително към игрите, а General MIDI 2 е одобрен чак през януари 2000 г., и то като... подобие на GS! По този начин позицията на Roland се "бетонира". Както е казал другарят Й. В. Сталин, кадрите решават всичко! Дори и от прословутите си GS-звуци Roland успяха да направят луди пари - те и досега получават огромни хонорари от включването на силно орязана версия от тези звуци както в Mac-OS, така и в Windows (от 98 насам). При това съдят всеки, който се осмели да обяви продукта си за GS-съвместим (напр. френската фирма Dream, поделение на Atmel). Затова дори Yamaha не посмя да обяви своя продукт TG300B за GS-съвместим, а просто, че уж имаше разширение на GM-режима, което "съвсем случайно" съвпадаше по почти всички параметри с GS :-) Сегашните XG-продукти на Yamaha са също GS-съвместими, разбира се, но това отново се обявява просто като "режим TG300B" (понеже тогава номерът мина :-) Банките на XG-стандарта пък се превключват с младшия байт на банката, а не със старшия, както при GS - отново за избягване на евентуални съдебни проблеми с Roland... За да свършим с общите приказки, ще спомена само, че дори разшифровката на съкращението "GS" като "General Synthesizer" не е потвърдена официално от Roland, а е дело на независими експерти. Дотолкова "на тъмно" и обкръжена от ореол на умишлена тайнственост работи тази фирма. Опитайте се да им пишете, да видим дали ще Ви отговорят. Все едно от умрял писмо да чакаш! Случаят с Yamaha не е такъв, както съм се убедил лично. Е добре, нека все пак да разгледаме накратко какво точно се стандартизира с GS. Това са следните параметри:
и незадължителни контролери:
По отношение на специалните системни съобщения се добавя съобщението "GS Reset" (F0 41 10 42 12 40 00 7F 00 41 7F), което действа като "GM System On", но разрешава приемането на всички специфични за GS NRPN. Използват се и много други специални системни съобщения за редактиране на параметрите на гласовете и ефектите и глобални съобщения за присвояване на гласове и канали, алтернативни неравномерно темперирани ладове и маршрутизация на ефектите. 4.3. Разширен общ MIDI-стандарт на Yamaha (eXtended General MIDI / XG) Фирмата Yamaha е основана още през втората половина на XIX век с предмет на дейност - производство на органи и хармониуми. Всъщност основният й предмет на дейност винаги си е оставал музикалните инструменти. Постепенно те са усвоили производството на абсолютно всички видове музикални инструменти, вкл. електрически и електронни, а също така на Hi-Fi и студийна музикална техника. Чак през 50-те години на XX век започва производството на мотоциклети и моторолери. Така че противно на общото мнение, това не е фирма за мотори, а за музикални инструменти (вижте емблемата й с трите преплетени камертона във формата на буквата "Y"). Моторите са по-скоро "ширпотреба" :-) Безспорно това е най-голямата фирма за музикални инструменти в света, с многохиляден персонал. В областта на MIDI техният най-голям "удар" си остава ненадминатият DX7 - първият управляван по MIDI цифров синтезатор с цена под $10000, излязъл през 1983 г. - годината на въвеждане на MIDI. След MiniMoog на Роберт Муг това е и най-известният синтезатор в света. Yamaha никога повече не можа достигне онова ниво. В момента най-големият им бизнес са интегралните схеми и софтуерните синтезатори, но това е друга тема... Стандартът XG се появява през 1994 г. - цели 3 години след GS. Макар че той е по-съвършен, това закъснение е фатално, затова Yamaha едва ли ще достигне скоро Roland по популярност на своя стандарт (с изключение на операторите на персонални компютри, музикантите за съжаление все още използват повече GS). Но това не е беда, защото както споменах в началото, всички XG-инструменти са съвместими с GS в т. нар. "режим TG300B". Естествено, звуците са други, но освен ако не сте се пристрастили към звуците на Roland, XG-звуците сигурно ще ви харесат повече. Разбира се, както казват руснаците, "по вкусу и цвету товарищей нету", така че можете да не ми вервате :-) Е добре, нека все пак да разгледаме разликите между GS и XG. Първата и най-голяма разлика е, че XG е дефиниран на 3 нива според класа на синтезатора. Тук са дадени основните разлики за най-ниския клас (ниво):
Останалите стойности на старшия байт банка не се използват. Общният брой на стандартизираните мелодични звуци е 520. Ако е избран несъществуващ в дадена банка звук, се свири съответният му "събрат" от банката GM. (Ако е избран несъществуващ тип банка обаче, ще се "свири" тишина, защото не е ясно дали това е банка с ударни, ефекти или мелодични звуци.) Типът на всеки канал (мелодичен / ударен) може да се смени просто със смяна на банката му, в реално време.
За разлика от GS, за всички педални контролери с две стойности (включено / изключено), стойности от 0 до 63 означават "изключено", а стойности от 64 до 127 - "включено".
Съобщението за включване на режим XG ("XG System On") се дефинира като F0 43 1n 4C 00 00 7E 00 F7, където "n" е номерът на устройство (при GS също има такъв номер, но байтът преди F7 се влияе от него, защото се използва за установяване на нулевата контролна сума модул 80h на Roland). Всеки XG-инструмент трябва да разпознава унивесалното специално системно съобщение "обща сила на звука" (Master Volume). Незадължително, но удобно е съобщението "обща настройка" на Yamaha (F0 43 1n 27 30 00 00 mm ll cc F7), където "n" е номер на устройство, "mm" е старшия, "ll" - младшия байт на стойността на настройката (както при RPN за груба и фина настройка), а "cc" е контролна сума, която се игнорира. За разлика от RPN за настройка, това съобщение настройва всички канали наведнъж. 4.4. Общ MIDI-стандарт - версия 2 (General MIDI 2) Пред всички тези чудесни фирмени стандарти (GS и XG), първата версия на GM доста бледнее, нали? Както изтъкнах в началото, това си беше преднамерено. Но тъй като разликата между GM и XG стана огромна, все пак се наложи да се обнови старият GM, за да се създаде ново базово ниво за равнение. През януари 2000 г. най-сетне беше утвърдена тази нова версия 2 на GM. Всъщност тя дублира донякъде GS и XG, като замества много от фирмените специални системни съобщения с универсални такива. Новост е възможността за пренасочване на произволен контролер или дори клавиш за установяване на някои важни параметри на звука, с което се увеличават изразните възможности. Разбира се, добавят се гласове и ефекти и се разширява таблицата с дефинираните инструменти. Тя обаче поразително прилича на таблицата на GS. Това, както изтъкнахме по-горе, не е случайно... Все едно, този стандарт, макар и всеобщ, е толкова закъснял, че едва ли някога ще достигне популярността на фирмените стандарти GS и XG. За съжаление аз имам само откъслечни сведения за този стандарт, което не ми позволява да му направя преглед тук, както направих това за другите стандарти. Ще дам само едно-единствено съобщение - това за включване на системата GM2 (F0 7E 7F 09 03 F7). Оттук нататък всичко е във Вашите ръце. Тъй като стандартът умишлено не се разпространява свободно и безплатно от MMA, не ни остава нищо друго освен да се надяваме, че все пак някога някой добър човек ще го сканира и публикува свободно в Интернет, а на Вас пожелавам да го откриете бързо, ако (когато?) това стане. Никак няма да Ви се разсърдя, ако тогава ми изпратите препратка към него :-) С това тази предълга лекция приключва. Последната лекция включва преговор на материала за MIDI и съкратен превод на спецификацията на Стандартните MIDI-файлове. Благодаря за вниманието! Лекция 1 - Въведение. Апаратна част Лекция 2 - Протокол. Канални съобщения Лекция 3 - Системни съобщения Лекция 4 - Стандарти GM / GS / XG / GM2 Лекция 5 - MIDI - преговор и Стандартни MIDI-файлове | |