MIDI. Назначение и специфика

Краткое описание
Что такое MIDI, отличия формата MIDI от формата Wave, качество звучания MIDI-файлов

Что такое MIDI, и чем такие файлы отличаются от Wave-файлов

Что такое MIDI

Стандарт MIDI (акроним от Musical Instruments Digital Interface, в буквальном переводе — цифровой интерфейс музыкальных инструментов) представляет собой «язык», на котором «общаются» MIDI-совместимые устройства. Иными словами, этот стандарт описывает определённые сообщения (двоичные команды), которыми могут обмениваться различные MIDI-устройства.

Ключевой особенностью интерфейса MIDI является то, что с его помощью устройства обмениваются именно логическими командами, и никакого отношения к передаче звука как такового MIDI не имеет.

Пример
Рассмотрим взаимодействие двух устройств: MIDI-клавиатуры и синтезатора звуков. При нажатии на MIDI-клавиатуре клавиши, соответствующей, к примеру, ноте ЛЯ третьей октавы, MIDI-клавиатура даст синтезатору команду «начать воспроизведение ноты ЛЯ третьей октавы». Когда клавиша будет отпущена, клавиатура, послав другое сообщение, прикажет синтезатору прекратить воспроизведение ноты ЛЯ третьей октавы. При этом звук, издаваемый синтезатором, будет различаться в зависимости от конкретной последнего и его настроек. По MIDI же, подчеркну, передаются только команды и никакого звука.

Следует заметить, что потенциальная сфера применения MIDI не ограничивается только музыкальными инструментами. С таким же успехом можно управлять, например, светомузыкальным оборудованием, а при большом желании — даже промышленными роботами. :)

Очевидно, любая последовательность MIDI-сообщений может быть сохранена в виде обычного файла. Один из форматов хранения последовательностей MIDI-сообщений (SMF — Standard MIDI File) также регламентируется стандартом.

Модификации MIDI

Существует ряд модификаций стандарта MIDI:

  • GM (General MIDI),
  • GS (General Standard),
  • XG (eXtended General).

Каждая из них, помимо основных MIDI-сообщений (одно из которых рассмотрено в примере чуть выше), описывает количество и конкретный набор инструментов (тембров), которые обязательно должны поддерживаться устройством, совместимым соответственно с GM, GS или XG. Фактически эта характеристика имеет смысл только применительно к синтезаторам звуков и означает, что синтезатор с поддержкой, например, GM должен уметь воспроизводить звук любого из 128 предусмотренных спецификацией инструментов. Каждому инструменту соответствует строго определённый номер. Кроме того, MIDI-устройства должны обладать строго определённым количеством независимых MIDI-каналов, каждому из которых может быть назначен свой тебмр и соответствовать собственная последовательность MIDI-событий. Смена тембра, аналогично началу и окончанию воспроизведения ноты, производится также после получения MIDI-синтезатором уникального MIDI-сообщения. Таким образом, обеспечивается схожее звучание одного и того же MIDI-файла на разных MIDI-синтезаторах с поддержкой одного и того же стандарта.

Например, любой синтезатор с поддержкой GM обладает следующими возможностями: 16 каналов, каждому из которых может быть назначен собственный тембр (инструмент). Выбрать тембр можно произвольным образом по его номеру из совокупности определённых стандартом GM тембров, включающих 128 как живых, так и синтезированных инструментов, куда входят фортепиано, гитара, струнные, флейта и др. Кроме того, можно использовать как минимум один набор ударных звуков.

Предусмотрен также ряд так называемых MIDI-контроллеров, позволяющих влиять на характер звучания воспроизводимой синтезатором музыки: например, при помощи серии событий контроллера Pitch можно плавно или резко (зависит от вашего желания и целей) изменять высоту звука, при помощи контроллера Expression — изменять громкость звучания на каждом из 16-ти каналов в отдельности, с помощью контроллера Pan устанавливать любой сдвиг MIDI-канала в стереопанораме и т. д. Существуют также контроллеры, не оговорённые стандартом и являющиеся специфичными для отдельных моделей синтезаторов, однако их использование чревато несовместимостью с другими MIDI-устройствами, которые попросту «не поймут» незнакомые команды.

Бытует мнение, что GS является расширением GM, а XG является расширением GS. Это не вполне соответветствует действительности, поскольку стандарты эти различаются не только количеством инструментов и контроллеров, но и форматом некоторых MIDI-сообщений. Это приводит к тому, что MIDI-файлы, созданные с использованием набора команд XG, могут некорректно вопроизводиться на GS- или GM-устройстве. В частности, может случиться так, что барабанные партии будут воспроизводиться тембром фортепиано, что превратит музыку в какофонию. Наиболее универсальным и совместимым является GM, т. е. MIDI-файл, созданный с использованием GM, будет воспроизводиться корректно и на GS- и на XG-синтезаторах.

Отличия формата MIDI от формата Wave

В свете вышесказанного нетрудно догадаться, что MIDI-формат принципиальным образом отличается от формата Wave, поскольку предназначен для хранения данных совершенно иного типа и не предназначен для хранения звука, являясь по сути лишь способом представления нотных партитур в цифровом (двоичном) виде. Таким образом, и прямое преобразование файлов в формате MIDI в файлы формата Wave и ему подобных (включая MP3) невозможно.

Проблемы качества звучания MIDI-файлов

Характер звучания результата синтеза может различаться весьма существенно при использовании различных синтезаторов. В этой связи полезно будет рассмотреть основные из существующих типов синтеза звука, к каковым можно отнести:

  • собственно синтез по неким математическим зависимостям;
  • Wave-синтез (сэмплирование), т. е. синтез звука на основе заранее оцифрованных звуковых фрагментов (сэмплов).

Эпоха звука на персональных компьютерах началась с синтезаторов, основанных на первом типе синтеза. Его особенностью является необходимость в вычислительном устройстве с весьма высокой производительностью, поскольку синтез качественных звуков происходит по довольно сложным формулам. Очевидно, поэтому в то время (хотя было это всего несколько лет назад) для синтеза звука использовались простейшие математические зависимости с минимальным количеством дополнительных гармоник, обогащающих звучание, что, в свою очередь, исключительно пагубно сказывалось на качестве звучания и реализме синтезируемых звуков в целом и MIDI-музыке на компьютере в частности.

Несколько позднее был разработан новый, гораздо более эффективный метод — Wave-синтез, который и используется в подавляющем большинстве современных синтезаторов. Принцип, лежащий в его основе, достаточно прост: заранее оцифрованные звуковые фрагменты просто воспроизводятся на разной скорости, что и позволяет получать звуки разной высоты. Задача отвечающего за синтез процессора в этом случае несоизмеримо проще, нежели при синтезе звуковых волн по сложным зависимостям. Качество же результирующего звука при этом определяется, главным образом, качеством исходного звукового фрагмента, которое может быть сколь угодно высоким. Синтезаторы, работающие по описанному принципу, называют сэмплерами (от англ. sampler), а используемые в качестве основы для синтеза звуковые фрагменты — сэмплами (samples).

До относительно недавнего времени сэмплеры были доступны немногим в силу их дороговизны — отчасти из-за необходимости в большом количестве оперативной памяти для мгновенного доступа к сэмплам без ощутимых задержек при живом исполнении произведения музыкантом. Поэтому в компьютерах многих желающих заниматься музыкой (включая многих из нас с вами) поселились звуковые платы со встроенными сэмплерами, по возможностям, к сожалению, существенно уступающими профессиональным сэмплерам. Качество звуков, используемых в разных моделях звуковых плат от разных производителей, сильно различалось и при этом было довольно низким.

Улучшение качества звучания MIDI-файлов

Одной из попыток решить проблему низкого качества MIDI-музыки на компьютере стали программные синтезаторы, работающие по принципу Wave-синтеза. Однако реально использовать их можно было только при прослушивании заранее подготовленных MIDI-файлов, для чего они, собственно, и создавались. При попытках же живого исполнения музыки с использованием тембров такого синтезатора наблюдалась существенная задержка между моментом нажатия клавиши на MIDI-клавиатуре и появлением соответствующего звука. Кроме того, тембры нельзя было заменять. Поэтому желающие более-менее серьёзно заниматься музыкой на компьютере устанавливали довольно дорогостоящие звуковые платы, обладающие синтезатором с очень качественными (но, к сожалению, опять же «вшитыми») тебрами, либо платы с возможностью использования произвольных тембров путём их загрузки в собственную оперативную память звуковой карты, т. е. по сути сэмплеры. Это, разумеется, способствовало поднятию качества звучания MIDI-музыки на новый уровень.

В последнее время широкое распространение получили программные сэмплеры с исключительно небольшим (что достигнуто использованием передовых алгоритмов и интерфейсов вроде ASIO) временем задержки, предоставляющие практически все возможности аппаратных сэмплеров и обладающие, кроме того, гораздо большей гибкостью и удобством в использовании по сравнению с последними за счёт возможности обновления и тесной интеграции с программными MIDI-секвенсорами, используемыми для работы с музыкой посредством MIDI (записи, редактирования MIDI-партий и проч.). Будущее в области создания музыки на компьютере, несомненно, именно за программными сэмплерами.

Примечательно, что понятие банка звуков (т. е. набора сэмплов, представляющих собой тембры для одного из рассмотренных стандартов MIDI), к которому мы все так привыкли, практически неактуально в отношении серьёзных сэмплеров — будь то аппаратные или программные. Более того, в этом плане и воспроизведение MIDI-файлов также несколько теряет смысл. Ведь загрузить можно абсолютно произвольный сэмпл, и совершенно незачем ограничиваться рамками жёсткого перечня GM-тембров. Но именно жёсткий перечень лежит в основе MIDI-стандартов GM, GS, XG.

Вероятно, здесь и находится грань, разделяющая слушателя и музыканта — у них просто разные цели. И если для слушателя на одном из первых мест универсальность, присущая конкретным стандартам, то для музыканта целью является результат, максимально качественный, максимально соответствующий его творческим замыслам. Последнее невозможно без точного подбора уникального сочетания инструментов, что недостижимо в рамках, к примеру, GM хотя бы потому, что звуки разных GM-совместимых синтезаторов различаются. В руках же музыканта MIDI — исключительно мощное орудие существенно большего масштаба, фундамент для реализации самых разнообразных творческий идей, язык для плодотворного общения его инструментов.