Для того чтобы читателю было легче понять суть проблемы, я, рискуя нарваться на редакторские ножницы (риск — благородное дело. — Ред.), сделаю маленькое лирическое отступление. Несколько лет назад я купил дочернюю плату с волновым синтезатором. Это был Ensoniq Soundscape DB, который в те времена стоил целых 100 долларов (сейчас — 12).
Надев Ensoniq на Sound Blaster 16 и вооружившись мощнейшей программой-секвенсором Cubase, я соорудил первую в жизни MIDI-композицию. И отправился к другу — владельцу настоящего Sound Blaster 32, чтобы «гордо продемонстрировать свое гениальное творение».
Открыв файл медиаплейером и нажав «пуск», я предвкушал эффект, который должна была произвести моя песенка, но... мы оба были поражены какофонией, донесшейся из колонок. Инструменты вроде бы были на месте, но звучали они иначе, некоторых вообще не было слышно, и общее впечатление было ужасным. Друг удивился, я тоже, ведь дома это звучало совсем иначе. И вот, прихватив несколько «демонстрашек», прилагавшихся к SB32, мы отправились ко мне...
Секрет Генерала Миди
Как выяснилось, виноват был не бластер (хотя его стандартный мегабайт звучал чуть менее реалистично, чем у Ensoniq'а). Да и его эффектные (при воспроизведении на нем же) демо-файлы на Ensoniq'е выглядели вяло и бесцветно. Мы столкнулись с недостатком MIDI, за который его частенько ругают (и особенно ругают сторонники так называемых трекеров [1], музыкальные файлы которых содержат в себе образцы используемых звуков — сэмплы и поэтому звучат на разных звуковых картах одинаково). Да, любое устройство, совместимое с General MIDI, получив, например, сообщение «Program Change 0», переключится на звук рояля. Однако разные рояли звучат по-разному. А разные производители записывают разные рояли. И обрабатывают их по-разному. Более того, соотношение между громкостью разных инструментов стандартом GM также не декларируется. Поэтому схожим образом на разных синтезаторах будут звучать только отдельные партии инструментов. И даже MIDI-композиция, которая будет отлично звучать на восьмидолларовой таблице волн, на 250-долларовом Roland SCD-15 может воспроизводиться из рук вон плохо. Поэтому некорректны заявления типа: «Я хочу купить такую звуковую карту, на которой мои MIDI-файлы будут звучать хорошо» — ведь MIDI-файл создается с привязкой к конкретному синтезатору.