WebSound.ru Home
    Главная | Комментарии | Архив выпусков | Форум и чат | AudioTag.info | Музоблог | reTracked | Авторский блог  



  Поиск:

Поиск по WebSound.Ru:
Поиск в Интернете:
Powered by




  Партнеры, реклама:




Audio watermarking
TrustedAudio.com



 

Музыкантам о MIDI

Об авторе

Vladimir Ossipenko

Владимир Осипенко, http://saxland.net/rindex.htm
Саксофонист, композитор, аранжировщик.
Деятельность:
Преподавал в Гомельском муз. училище
Работал артистом ансамбля ПЕСНЯРЫ
Аранжировал и записал музыку к телесериалу “Проклятый уютный дом”, а также музыку к 12 спектаклям для театров г. Минска
Работал в Бахрейне, Южной Корее, Словении, Германии.

Про MIDI написано достаточно много. Однако большинство из того, что я видел, адресовано либо полным “чайникам”либо людям, имеющим некую техническую подготовку. То есть вы либо читаете высокомудрые откровения о командах Copy и Paste - либо уж продираетесь через техническую терминологию, незнакомую многим музыкантам. Это обстоятельство, а также то количество вопросов, на которые мне приходится постоянно отвечать, и побудили меня взяться за перо.
Я не претендую на полное описание интерфейса MIDI. Кстати, такое описание вы можете найти на http://www.websound.ru. Я же постарался дать только те сведения о MIDI, которые я сам постоянно использую на практике.

Что такое MIDI

MIDI (Musical Instruments Digital Interface) - это средство управления цифровыми музыкальнвми инструментами. Некоторые другие устройства (например, различные “обработки”и даже световые приборы) тоже понимают MIDI, однако возможности там малы; чаще всего это просто переключение пресетов.

Типичные применения:

  • Внутри синтезатора: клавиатура и секвенсер общаются с саунд-модулем по MIDI. Это относится и к drum-машинам. Кстати, во всех этих инструментах секвенсер и саунд-модуль абсолютно независимы, Это фактически два устройства в одной коробке.
  • Секвенсер синтезатора, MIDI - программа компьютера либо MIDI - клавиатура управляет саунд-модулем ( встроенным в синтезатор или внешним). Управляемых модулей может быть несколько.
  • Загрузка в саунд-модуль набора его настроек (SysEx).
  • Синхронизация двух секвенсеров. Это анахронизм. Это было актуально для секвенсеров с ограниченным количеством треков. Пример: партия барабанов в drum-машине, остальные партии - в секвенсере синтезатора. Можно, конечно, синхронизировать таким образом и 2 виртуальных (программных) секвенсера внутри компьютера. Но работать так крайне неудобно .
    Еще один экзотический случай : если у вас есть MIDI информация в секвенсере, который не поддерживает стандартный формат MIDI файла (а следовательно экспортировать такую информацию в другой секвенсер - проблема) такой экспорт можно провести путем простой записи с MIDI входа - при этом секвенсеры придется синхронизировать.
  • Внутри компьютера: Управление синтезатором, встроенным в звуковую карту.
    Очень многие звуковые карты имеют встроенный простенький синтезатор для проигрывания General MIDI файлов. Кроме того существуют специальные карты - синтезаторы, аналоги популярных “железных“синтезаторов (штука хорошая, но весьма дорогая). Все это хозяйство управляется по MIDI.
  • Внутри компьютера: программный секвенсер управляет виртуальными инструментами. На данный момент это наиболее сильное применение MIDI.
  • Внутри компьютера: синхронизация 2-х программ (обычно аудио-редактора и секвенсера). Замечу: во-первых, необходимость в этом отпала (слава Богу!) с появлением интегрированных аудио/миди редакторов с полноценным зауком, а во-вторых для такой синхронизации больше подходит SMPTE.

Важный вывод: MIDI - это только управляющий сигнал. Больше всего это походит на программу для стиральной машины - “в такой-то момент нужно сделать то-то”. Звук по MIDI не передается! Так, к примеру, “тембры”синтезатора (передаваемые по MIDI) - это всего лишь информация о положении ручек его настройки, то есть управление внутренними ресурсами синтезатора.
Вы зря улыбаетесь. Если бы вы знали, сколько раз я это объяснял...

MIDI - стандарт очень старый. У него полно недостатков: он медленный, мало информативный, даже его пятиштырьковый разъем выглядит музейным экспонатом. Многие годы ходят слухи о новом стандарте, альтернативном MIDI. Но, видимо, на музыкальном рынке не находится такого монстра, как Microsoft, который бы сожрал всех и заставил принять новый стандарт. Так что приходится работать с тем, что есть.
Тем не менее у MIDI есть неоспоримые

достоинства:

  • Интерактивность. Так как MIDI - управляющий сигнал, то управлять можно в реальном времени большим количеством параметров. Так, можно прописать огибающую не только на громкость и панораму, но и на каждую ручку синтезатора. Нет никакой проблемы в смене темпа, тональности, редактировании отдельных нот и.т.д. Можно перестроить весь инструмент (например, в Пифагоров строй) или плавно менять высоту нот (pitch bender)...
  • Универсальность
  • Существует стандартный MIDI файл - SMF (Standard MIDI File), который читается всеми MIDI устройствами. При чем если устройство не использует часть информации (например, drum-машина не использует pitch bender) - эта инфррмация просто игнорируется, не нарушая воспроизведения.
  • Низкие системные требования и малый размер файла. В результате MIDI можно воспроизвести практически на любом компьютере, легко передавать по Internet и.т.п.

MIDI данные

Поток MIDI данных - это последовательность отдельных событий (events), организованных во времени. Формат времени - привычные нам такты и доли. А вот доля делится на более мелкие части тики (ticks), и деление это у разных производителей разное. Я встречал от 96 до 1000 тиков на долю.

  • В стандартном MIDI файле доля содержит 96 тиков. Иногда этого недостаточно: если вы используете длительности меньше 1/32, особенно при игре ad libitum - ноты могут оказаться слегка не на месте. Та же проблема м с мелизмами. (Выход: сделать долю вдвое короче, т.е. удвоить темп).

Каждое MIDI событие содержит номер MIDI канала, для которого оно предназначено. В одном треке могут находиться ноты разных MIDI каналов. В то же время многие MIDI редакторы позволяют выставить номер MIDI канала на весь трек, игнорируя значения для отдельных нот.
Зачем так сложно? Все это “тяжкое наследие”стандартного MIDI файла (SMF).

Как я уже говорил, стандартный MIDI файл (с расширением MID) - это файл, читаемый практически всеми современными MIDI устройствами и программами. Вот его характеристики:

  • 16 MIDI каналов в 16 треках (SMF формат 1) или “сваленных в кучу”в один трек (SMF формат 0; для этого и нужен № канала при каждом MIDI событии)
  • информация о темпе и его изменениях. Кстати, темп может иметь значения от 30 до 250 BPM (ударов в минуту).
  • Очень часто в начале каждого трека бывают MIDI события, задающие его параметры: Program Change, Volume, Pan, Reverb, Chorus. А так как треков всего 16 - то эти же события встречаются и в любом месте трека для его перенастройки “на ходу”. Кстати, в момент Program Change звук с этого канала пропадает, поэтому делать это нужно в паузе.
  • SysEx информация, записанная прямо в трек. Это бывает команда на включение / выключение режима General MIDI и / или мнформация о настройках конкретного саунд- модуля.
    Должен сказать, что SysEx считывается саунд - модулем после старта секвенсера, и довольно долго. Разумеется, в это время звука нет. Поэтому приходится отводить на это в начале композиции несколько пустых тактов.

Конечно, если вы работаете в солидном программном аудио/MIDI редакторе, ваши возможности выходят далеко за тесные рамки SMF. Однако если вы готовите MIDI файл для проигрывания вашим синтезатором или переносите информацию из одного MIDI редактора в другой - вам придется иметь дело именно с SMF.

Термин Контроллер общее название для всех органов управления саунд - модулем. Это: клавиатура, питч - бендер, педали (например, Sustain) , слайдеры, колеса. и т.п. Хорошее оборудование позволяет назначить любому контроллеру управление любым параметром саунд - модуля.

Каждое MIDI собатие - это команда какому - либо контроллеру.
“По техническим причинам”шкала значений для MIDI информации - 128 единиц: от 0 до 127 либо от - 64 до 64 в зависимости от типа контроллера. Если контроллер имеет только 2 положения - вкл/выкл (например, педаль sustain), то положению выкл. соответствует значение 0 а вкл - 127. Промежуточные значения игнорируются.

Основные MIDI события
Контроллер Что делает Значения
NoteOn
NoteOff
нажатие
отпускание клавиши
Значения параметра Velocity (динамика) -   0 - 127
Aftertouch “вдавливание”клавиши; контроллер срабатывает при надавливании на нажатую клавишу.
Бывает Channel Aftertouch - влияет на весь MIDI канал (кстати, вне зависимости от трека) и
Note Aftertouch - распространяется на одну ноту. На практике я встречал только Channel Aftertouch.
0 - 127
Control Change контроллеры №1 - 127. На каждый контроллер можно вывести параметр управления синтезатором.
Некоторые контроллеры имеют названия и иногда бывают жестко привязаны к органам управления:
№1 - Modulation
№2 - Breeze control
№ 64 - Sustain
0 - 127 или 0, 127
Pitch Bender  бендер, контроллер (обычно рычаг или колесо), плавно изменяющий высоту строя инструмента на данном MIDI канале.  я встречал +/- 7000.  
Program Change переключение тембров 0 - 127 . Следует заметить, что часто нумерация тембров на синтезаторах бывает от 1 до 128. В этом случае значение параметра Program Change меньше номера инструмента на 1
Volume общий уровень трека. 0 - 127
Pan панорама -64(крайнее левое) - 64(крайнее правое) 
Chorus хорус 0-127
Reverb ревер 0-127
SysEx информация о настройках конкретного саунд - модуля. Может находиться в MIDI треке либо для нее организуются специальные банки.   

Существуют и другие MIDI события, но в вашей работе вы с ними скорее всаего не встретитесь. Да и те, которые я перечислил, потребуются вам только для управленич “железным”саунд - модулем либо виртуальным General MIDI синтезатором. Если же вы работаете в профессиональном аудио / MIDI редакторе и используете виртуальные синтезаторы и сэмплеры (что дает наибольшие возможности) то вам нужны будут только:

  • NoteOn/NoteOff
  • Pitch Bender
  • Aftertouch
  • Control Change

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

General MIDI

Это не что иное, как “малый джентельменский набор”из 128 стандартных инструментов - единственное, о чем смогли договориться производители оборудования. Кстати, Roland пытался продвинуть свой такой набор - GS, но большого распространения он не получил. GM-совместимость синтезатора - это наличие такого набора. GM встраивается в аппаратные синтезаторы, аудиокарты, существуют специальные виртуальные синтезаторы для его воспроизведения, GM банки выпускаются под серьезные сэмплеры (например, под GigaStudio от Nemesys).
Следствие - GM порядком всем надоел. Сейчас появились новые расширенные стандартные наборы (подробнее об этом можно найти на http://www.websound.ru) но любой стандартный инструментарий неизбежно ведет к стандартному саунду, а это не имеет с искусством ничего общего.

GM файл - это стандартный MIDI файл (SMF), в котором есть:

  • Sysex информация для включения sound-модуля в GM режим
  • Контроллеры Program Change в начале каждого трека (а часто и в середине, треков - то всего 16)
  • Контроллеры Level, Pan, Chorus и Reverb в начале каждого трека. Выставляют соответственно: уровень панораму, хорус и ревер (оба эффекта усредненные, без настроек)

Разумеется, звучит все это весьма посредственно.

Выбираем рабочий инструмент

Как это ни странно, до сих пор довольно много музыкантов создают свои композиции в секвенсере синтезатора. Если вы относитесь к их числу - время менять привычки!
Поверьте, освоить программный редактор не так сложно, и ваши затраты с лихвой окупятся. Вот что вы выигрываете:

  • Современные аудио / MIDI редакторы позволяют создать в одной программе композицию “под ключ”, т.е. наряду с MIDI треками вписать аудио - живые инструменты и голоса, выполнить сведение и мастеринг. При этом свойственная MIDI гибкость и легкость редактирования сохраняется до самого конца процесса.
  • В вашем распоряжении большое количнство виртуальных синтезаторов, сэмплеров, плагинов, среди которых есть очень качественные. Все это работает в реальном времени, т.е. вы сразу слышите конечный результат.
  • Удобный и интуитивно понятный графический интерфейс, удобство копирования, редактирования и.т.п.
  • Если вы принесете ваш файл на студию для дальнейшей работы над ним - звукорежиссеру не придется тратить время на его адаптацию.

Существует довольно много MIDI редактрорв, но только 2 из них представляют серьезный интерес: Cubase от Steinberg и Cakewalk. Они с переменным успехом конкурируют много лет, выпущены десятки версий. Обе уже превратились из просто MIDI - редакторов в полноценные виртуальные студии с профессиональным аудио.

На сегодняшний день безусловный лидер - Cubase SX (к сожалению, для его работы нужен Windows 2000 или XP). Однако и Cakewalk не дремлет, и не исключено, что его следующий продукт окажется лучше, чем Cubase. Поэтому неплохо познакомиться с обеими программами.

Следует заметить, что все существенные различия между этими редакторами - в основном в реализации аудио, а также в количестве и качестве поддерживаемых им плагинов и виртуальных синтезаторов.
Что же касается MIDI - тут различия только в интерфейсе, в некоторых настройках да еще в количестве ошибок и недоделок в программе. Так что изучив один редактор, освоить другой не составляет труда.

Кроме редактора вам понадобятся плагины (англ. plug in - включить) - виртуальные устройства, которые встраиваются в редактор автоматически. Это разнообразные виртуальные синтезаторы, сэмплеры, обработки , эффекты - ассортимент очень большой.

Распространены 2 типа плагинов, в зависимости от технологии “общения”с редактором:

  • DX   - используют DirectX, детище любимой Microsoft.
  • VST
  •   - технология, специально разработанная фирмой Steinberg

DX - плагины работают во всех редакторах; их много, и среди них немало хороших. Лично я для обработки звука использую в основном DX- плагины. DirectX по умолчанию встроен в Windows и выполняет там множество задач. Однако в этом и недостаток: DirectX не специализирован именно для аудио, и как следствие - DX - плагины более ресурсоемки, чем VST.
Что же касается виртуальных саунд - модулей (DXi) - их пока очень мало.

VST - разработка фирмы Steinberg, поэтому лучше всего работают в программах от Steinberg: (Cubase, Nuendo). В Cakewalk работают далеко не все, и их функциональность ограничена. Правда, я встречал DX - VST адаптер , но работать с ним неудобно.
Основное достоинство VST - это большое количество виртуальных саунд - модулей : синтезаторов и сэмплеров (VSTi). Впрочем, есть и хорошие VST - плагины для обработки звука.

Кроме плагинов можно использовать и отдельно стоящие программы (например, популярный сэмплер GigaStudio от Nemesys. Но в отличие от плагинов подключать их к редактору придется вам. Иногда нужно просто выбрать их MIDI порт из списка доступных устройств, а иногда приходится прибегать к ухищрениям (например, используя виртуальный MIDI - кабель MIDI Router. Но лучше обойтись плагинами - тем более, что многие из них очень хорошего качества. Например, упомянутую GigaStudio с успехом заменяет плагин Halion.
Есть и “гибриды”- так Reason от Propellerhead, будучи отдельно стоящей программой, встраивается в редактор как плагин, используя свою технологию - ReWire.

  • Важное преимущество плагинов - виртуальных саунд - модулей:
    Если вы используете внешний саунд - модуль или отдельно стоящую программу для генерации звука, то этот звук и “живет”в этом саунд- модуле. Для того, чтобы он смог попасть в ваш финальный микс, его нужно “оцифровать”, т.е. в реальном времени записать аудио треки для каждой партии (и для каждого барабана партии drums!). Это отнимает много времени, размер проекта становится очень большим (от 500Mb и больше), резко возрастает нагрузка на процессор... К тому же аудио уже не отредактируешь так, как MIDI, так что в случае ошибки приходится возвращаться к MIDI и затем цифровать заново.
    Если же вы используете плагины - виртуальные саунд модули, то оцифровывать вам прдется всего один раз - весь готовый проект целиком (кстати, операция называется render).

Коммутируем

MIDI устройства обмениваются информацией через MIDI порты.

Термин MIDI порт устройство (физическое или виртуальное) для приема и передачи 16 MIDI каналов.
Портов может быть несколько - в этом случае, разумеется, при передаче MIDI нужно назначать не только MIDI канал, но и порт.

В компьютере для общения по MIDI c “внешним миром”также должен быть установлен MIDI порт. На многих профессиональных аудиокартах MIDI порта нет. Однако на большинстве дешевых аудиокарт есть стандартный гейм-порт, который является и MIDI портом (в списке MIDI портов он называется MPU 401). Так что я, например, в дополнение к своей аудиокарте (сейчас у меня стоит EgoSys Waveterminal) поставил дешевую аудиокарту в качестве MIDI порта (разумеется, звук с нее я не использую) и закрыл проблему. Существуют и специальные карты - MIDI терминалы (чаще всего на 2 и более порта), но они довольно дороги.
Для коммутации понадобятся специальные MIDI кабели.

MIDI порт имеет следующие разъемы:

  • MIDI IN
  • вход
  • MIDI OUT
  • выход
  • MIDI THRU
  • сквозной канал; на него посылается без изменений информация, полученная через MIDI IN

    С MIDI IN и MIDI OUT все понятно: если нам нужно, чтобы секвенсер управлял саунд - модулем, то и подаем MIDI информацию с MIDI OUT секвенсера на MIDI IN саунд - модуля .

    Термин Master (Мастер) управляющее устройство (англ. Master - “хозяин”). Передает информацию через MIDI OUT. Генерирует и передает MIDI Time Code (MTC) - синхросигнал для синхронизации слейвов.
    Slave (Слейв) управляемое устройство (англ. Slave - “раб”). Принимает информацию через MIDI IN. Слейвов может быть несколько - тогда они обычно соединяются последовательно через MIDI THRU..
    • Пример использования MIDI THRU. Представим следующую конфигурацию:
      MIDI клавиатура -----> секвенсер (например, Cakewalk ) ------> саунд - модуль (например, GigaStudio). Информация с клавиатуры пишется в секвенсер - но звука при этом нет! Записанная же информация воспроизводится. Почему? Все просто: необходимо направить на саунд модуль сигнал не только с MIDI OUT секвенсера, но и с его MIDI THRU. Получается: вы нажимаете клавишу -----> MIDI информация поступает в секвенсер --------> оттуда по MIDI THRU в саунд - модуль. Когда же воспроизводится записанная в секвенсер информация - она передается секвенсером через MIDI OUT.

    Если вы работаете на компьютере в MIDI редакторе - вам нужно активизировать MIDI IN для ввода информации с клавиатуры и, если вы используете отдельно стоящие программы, назначить их порты на MIDI OUT редактора. Плагины подключатся сами.

    Запись

    Перед тем, как начинать запись MIDI трека нужно:

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

    В “железном”секвенсере все обычно проще: порт всего один, номер трека - он же и номер канала.

    • У всех виртуальных саунд - модулей есть один недостаток - при игре на клавиатуре они отстают, т.е. звучат позже, чем вы нажимаете клавишу. Это отставание тем больше, чнм медленнее ваш компьютер. При воспроизведении секвенсерои этого отставания нет (это и понятно, в этом случае компьютер имеет возможность “заглянуть вперед”).
      На достаточно быстрой машине это отставание практически не мешает. А если скорости не хватает - есть простой выход: можно подключить на время записи другой саунд - модуль с меньшим отставанием. Если ваша MIDI клавиатура имеет свой саунд - модуль - звук во время записи можно воспроизводить с него (а записывать MIDI). Конечно, “временный”звук должен быть похожим по характеру на тот, что вы запланировали.

    Секвенсеры имеют следующие режимы записи:

    • Realtime - запись в реальном времени
    • Punch - тоже реальное время; секвенсер включает и выключает запись в заранее определенных точках
    • Step - пошаговая (для тех, кто не умеет играть).
    Кроме того запись бывает
    • Replace - новая информация замещает предыдущую.
    • Over - новая информация добавляется к существующей

    Все это актуально в секвенсерах с ограниченными возможностями. В редакторе же я использую только Realtime, причем никогда не пишу ни поверх уже записанного, ни Punch. Всегда лучше создать еще один трек, чем рисковать попортить информацию.

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

    Что касается пошаговой записи - во-первых, музыка получается мертвой, а во-вторых, редактор предоставляет и более удобные способы ввода и редактирования MIDI событий.

    • Не забывайте давать незвания трекам (неплохо указывать и MIDI канал)! А еще полезно написать комментарий - какие плагины и саунд - модули использованы. Сохраните пресеты саунд - модулей вместе с вашим проектом. ВЫ оцените это, если в будущем возникнет необходимость восстановить проект.

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

    • Если вы при записи трека пользуетесь педалью Sustain, то необходимо отпустить педаль прежде, чем выключить запись! Иначе команда на отпускание педали (Control Change # 64 значение - 0) не будет записана, и звук повиснет. Это относится и к другим контроллерам.

    Во время записи композиции часто приходится останавливать секвенсер и начинать воспромзведение с середины. В этом случае контроллеры, значение которых было ненулевым в момент остановки,при старте воспроизведения сохраняют свое значение, пока не получат другой команды. Звучит не так, как вы записали! С этим приходится мириться. Правда, есть команда обнулить все контроллеры (Reset All Controls), но пользоваться ей нужно осторожно. Так, GigaStudio реагирует на нее обнулением своего микшера, сбивая все ваши настройки.

    MIDI редакторы предоставляют еще один вид записи - Запись автоматики (Record Automation). Он позволяет в реальном времени записать изменения положения “ручек”MIDI микшера.
    Это - искусственное деление, ведь по большому счету вся запись MIDI и есть запись автоматики. Всю информацию, которую вы записываете в режиме Automation (а это Volume, Pan, Chorus, Reverb, Control Change) можно записать и прямо в трек в обычном режиме. Однако удобство в том, что Automation записывается в отдельный суб - трек, поэтому ее можно включить и выключить с одной кнопки, не нужно искать при редактировании и.т.п.

    MIDI микшер

    MIDI микшер перекочевал в редакторы с “железных”саунд - модулей - там с его помощью создается баланс композиции (других - то средств нет!).

    Он очень похож на обычный аудио микшер, в аудио/MIDI редакторах микшер объединяет MIDI и аудио линейки. А ведь назначение у него совсем другое!
    В отличие от аудио микшера, который честно обрабатывает звук, MIDI микшер влияет лишь на состояние MIDI контроллеров. Поэтому “честным”он будет только если у вас всего один саунд - модуль, и его контроллеры присоединены стандартно (чаще всего это General MIDI модуль). А ведь саунд - модулей может быть много, на любой контроллер может быть выведен любой параметр... К тому же выход виртуального саунд - модуля подключается к аудио микшеру, а у того свои настройки.

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

    Средства редактирования

    MIDI предоставляет неограниченные возможности для редактирования. Это - самая сильная его сторона. Любой профессиональный секвенсер позволяет отредактировать любой параметр любого MIDI события.
    Другое дело - удобство редактирования. Я не встречал ни одного “железного”секвенсера, с которым было бы удобно работать. Это и понятно - маленький дисплей, многофункциональные кнопки управления, ограниченные функции - все это приводит к существенному увеличению трудозатрат.
    Поэтому я опишу возможности редактирования в программном редакторе, как наиболее полные.

    Для просмотра и редактирования MIDI событий редакторы имеют несколько графических представлений MIDI информации:

    • Multitrack - основное окно редактора. Видна вся информация целиком, в этом окне удобно редактировать информацию блоками; редакция отдельных событий в этом окне невозможна.
    • Key Editor (другое название - Piano Roll) - на мой взгляд, самое удобное представление для редактирования отдельных событий. Состоит из двух синхронизированных диаграмм. где по горизонтали отображается время; верхняя отображает ноты, нижняя часть по умолчанию отображает параметр Velocity, но может быть настроена на отображение любого контроллера - например, Sustain.
    • Drum Editor - упрощенный вариант Key Editor, ориентированный на барабаны. Отражает только высоту ноты , но не ее длительность (т.к. звуки ударных обычно естественно затухают.) По вертикали - расклад ударных инструментов.
      Возможно, для просмотра партии ударных такое графическое представление кому - то и покажется удобным, однако на мой взгляд для редактирования оно не годится, да и вообще весьма спорно. Почему?
      Во - первых, нота все -таки имеет длительность, а в этом представлении длительность не видна. А ведь длительность может влиять на звучание: если нота слишком короткая - звук может оказаться обрезанным, слишком длинные ноты могут наложиться друг на друга и т.п.
      Во - вторых, расклад барабанов для этого представления нужно редактировать для каждого конкретного случая, т.к. драм - модули позволяют произвольно расставлять барабаны. А это - лишние трудозатраты.
    • Stuff Editor - информация представлена в нотной записи. Это представление также мало пригодно для редактирования. Дело в том, что при живой игре обязательно будут ритмические неточности - и это отразится в нотной записи, такие ноты невозможно читать. Можно настроить это представление таким образом, что мелкие неточности будут игнорироваться - тогда ноты приобретут нормальный вид, но не будут полностью соответствовать реальной информации - для редактирования это не годится. Поэтому Stuff Editor пригоден лишь для просмотра партитуры или отдельных партий.
      В принципе, ноты можно распечатать. Однако играть по таким нотам неприятно: нет реприз, не всегда логична группировка нот и знаки альтерации, неверно отображаются некоторые ритмтческие фигуры (например, триоли), не предусмотрены удобные перевороты ... Словом, для распечатки нот вашу информацию нужно специально готовить, и лучше сделать это в специальном нотном редакторе.
    • List Editor (другое название - Event List или Microscope) - самое “честное”, но и самое неудобное представление MIDI информации. Кстати, в “железном”секвенсере это зачастую единственное средство редактирования единичного MIDI события. Представляет собой просто список MIDI событий. Для облегчения поиска информации бывают предусмотрены фильтры, управляющие отображением различных типов событий.

    Разумеется, во всех этих окнах можно не только редактировать, но и вводить MIDI информацию - просто рисовать мышкой.

    Ручное редактирование отдельных MIDI событий - процесс весьма трудоемкий. Однако есть случаи, когда без него не обойтись:

    • Исправление ошибок, возникших при применении автоматической операции редактировыния
    • При создании партии живого инструмента - для исправления мелких погрешностей, допущенных при записи
    • Поиск и редакция (либо удаление) какой - либо экзотической информации, например отдельных контроллеров либо SysEx
    • Иногда бывает полезно вписать в трек ноты с Velocity = 0. Например, если в используемом звуке включено Portamento, то перед первой нотой каждой фразы вписывают такую “неслышимую”ноту на звуковысоте, которая обеспечит желаемую длину Portamento первой ноты. Иногда так же вписываются нулевые значения некоторых контроллеров, например, Pitch Bender или Modulation
      Впрочем, есть и другой путь - прорисовать огибающую для соответствующего контроллера.

    Операции редактирования

    Любой секвенсер, а уж тем более любой аудио/MIDI редактор имеет встроенные функции редактирования произвольно выбираемого количества MIDI соблытий. Чаще всего для редактирования выбирается временной отрезок на одном или нескольких треках.
    Хорошие редркторы, кроме того, позволяют внутри заданного временного отрезка выбрать именно те MIDI события, которые будут редактироваться.

    Следует отметить, что разработчики аудио/MIDI редакторов все свое внимание концентрируют на аудио, т.к. именно качество аудио определяет качество конечного продукта. Аудио же определяет и общую концепцию редактора - работу с виртуальными образами реальных файлов. Для того, чтобы оптимизировать работу с аудио, которое генерирует огромные потоки информации и способно до предела загрузить процессор, треки организованы довольно сложно: порции информации в треке образует объекты (Objects), которым можно назначать атрибуты, вешать на них плагины и т.п. ; можно копировать не только сам объект, но и обращение к нему (при этом любое изменение исходного объекта отражается и на обращениях), наряду с объектами предусмотрено редактирование участка трека (Range) вне зависимости от расположенных на нем объектов...
    Для работы с аудио треками все это очень удобно, однако для MIDI такая сложная организация является избыточной.

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

    Команды редактирования MIDI находятся обычно в меню Edit и MIDI.

    Базовые операции редактирования:

    • Copy, Paste, Cut, Delete - соответственно: копировать, вставить, вырезать, удалить. Объяснять тут нечего, операции стандартные. Однако следует помнить о контроллерах (я об этом писал в разделе Запись). К тому же на стыках копируемых кусков и проявляются ошибки программы (Cakewalk Sonar, например, вставляет иногда ноты нулевой длительности). Если начало ноты расположено раньше начала зоны копирования - эта нота скопирована не будет.
      Поэтому возьмите за правило просматривать результаты копирования, например, в Piano Roll.
    • Undo - Отмена операции. В редакторе Undo многоуровневое, т.е можно отменить несколько последних операций. Понятно, для сохранения Undo требуется дисковое пространство (это больше относится к аудио трекам), поэтому в редакторе можно настроить количество сохраняемых уровней.
      А вот многие “железные”секвенсеры Undo не имеют! Это головная боль: приходится постоянно создавать копии проекта, для исправления ошибки загружвть предыдущую версию файла... Долго и неприятно.
    • Кстати, раз уж зашла ркчь о резервном копировании: время от времени создавать резервные копии проекта нужно! Редко, но бывают ситуации, когда при каком - нибудь сбое текущий файл непоправимо портится.
    • Transpose - транспонирование, любимая команда тех, кто не умеет играть.
      Тоже все просто. Подвохи тут возможны только чисто музыкального свойства: в новой тональности партия какого - либо инструмента может зазвучать плохо из-за слишком высокой либо слишком низкой тесситуры, поэтому может оказаться необходимым изменить расположение отдельных аккордов или даже мелодическую линию инструмента (например, баса).
    • Transpose можно задать для всего MIDI трека - в параметрах MIDI трека либо используя MIDI - плагин. Это удобно в процессе подбора звука дяя какой - либо партии: в разных саунд - модулях нужный звук может находиться в разных октавах.
      Можно задать Transpose только для представления MIDI - информации в Stuff Editor (сама MIDI информация при этом не изменяется). В этом есть смпысл, скахжем при подготовке партии для какого - либо транспонирующего инструмента (трубы, саксофона и т.п.).
    • Quantize Тоже любимая народм операция. Переставляет MIDI события на ближайшие счетные доли (например. шестнадцатые). Основные настройки интуитивно понятны: настраивается разрешение (те самые счетные доли, на которые будут переставляться ноты), определяется, нужно ли квантовать окончания нот и т.п.
      Разумеется, квантованная музыка теряет “живость”(пример тому - львиная доля современной попсы). Для того, чтобы скрасить этот недостаток, придуманы различные ухищрения, например, вы можете добавить свинг (на деле - просто сдвинуть слабые доли чуть позже по временной сетке. С настоящим свингом это ничего общего не имеет и лишь усиливает механичность и ненатуральность музыки), можете применить Groove Quantize (квантовать по ритмическому образцу), настроить чувствительность квантования, чтобы выравнивать не все ноты, а только расположенные близко от счетных долей. В редакторе можно даже проанализировать аудио трек (например, барабаны), выделить ритмообразующие элементы (напр. “бочку”) и привязать к ним изменения темпа MIDI треков.
      Все эти ухищрения помогают слабо - квантованная музыка теряет естественность. По мне - лучше затратить время, чтобы отрепетировать и сыграть партию, а не стараться исправить заведомый брак.
      В современных танцевальных стилях, однако, quantize необходим - он во многом определяет звучание этих стилей. К тому же ноты часто выравниваются и по динамике.

    Дополнительные операции редактирования.

    Современные редакторы предоставляют пользователю возможность самому написать необходимую ему операцию редактирования!
    В Cakewalkдля этого встроен даже специальный язык программирования - CAL (Cakewalk Application Language). Несмотря на то, что его название по-русски заучит неважно, он совсем неплох. В Cubase для этих целей предусмотрен интерфейс для написания макрокоманды.

    Разумеется, эти возможности под силу только опытному пользователю. И вообще - наша задача ведь писать музыку, а не программв! Поэтому редакторы предоставляют набор готовых операций (кстати, созданных при помощи этих средств; можно залезть внутрь и посмотреть, как это сделано).

    Вот некоторые из них:

    • Разделение MIDI каналов по трекам.- для работы с Standard MIDI файлами формата 0.
    • Разделение нот по трекам - применяется для обработки партии барабанов; любой барабан может быть выделен в отдельный трек и подключен к отдельному саунд - модулю.
    • Удаление нот с Velocity меньше 30 - если партия достаточно громкая, то такие ноты - скорее всего ошибки.
    • Удаление контроллеров выбранных типов.
    • “Прореживание”контроллеров (Thin Out Control) - такие контроллеры, как Pitch Bender и Aftertouch вписываются в трек непрерывно, пока вы двигаете рычажок или давите на клавишу. Поэтому количество MIDI событий для этих контроллеров часто оказывается слишком большим ( от этого на слабых системах секвенсер может “спотыкаться”).
    • Legato - в одноголосной партии длительности нот изменяются таким образом, чтобы не было пауз и наложений.
    • Arpeggio - достраивает к ноте арпеджио по заданному закону - опять же для тех, кто не может это сделать сам.

    Разумеется, любая автоматика не застрахована от ошибок. Эти ошибки приходится исправлять вручную.

    Настройки MIDI трека

    Левая сторона главного окна любого редактора отведена под параметры треков. Эти параметры влиряют на весь MIDI трек. О некоторых из них я упоминал, когда речь шла о записи MIDI информации.

    Вот эти параметры:

    MIDI порт Как я уже писал, служат для подключения MIDI трека к саунд - модулю.
    MIDI канал
    Банк Эти параметры - не что иное, как настройки MIDI микшера. В профессионгальной работе они бесполезны.
    Инструмент
    Панорама
    Velocity
    Хорус
    Ревер
    Transpose Транспонирует весь трек. Типичное применение - при поиске нужного звука; в разных саунд - модулях он может располагаться в разных октавах.
    Time+ Сдвигает все события трека по времени. Это очень полезно, если у выбранного вами звука длинная атака, в этом случае точно взятая нота кажется запаздывающей. Time+ позволяет легко справиться с этой проблемой.
    Velocity+ Соответственно, значение этого параметра прибавляется к Velocity каждой ноты трека (разумеется, эта сумма не может быть больше 127).
    • В Cubase SX часть этих параметров вынесена в плагин Track FX.

    Здесь же расположены и органы управления MIDI треком, которые позволяют отключить его, прослушать соло, закрыть для записи.

    Предусмотрен также режим Record Automation (запись автоматики - т.е. вы можете записать движение любой виртуальной ручки в реальном времени). Редактор запишет это движение в виде огибающей. На практике - удобнее прорисовать огибающую графически.

    Воспроизведение этих огибающих также можно отключить.

    MIDI плагины

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

    Вот некоторве из MIDI плагинов:

    • Arpeggio, Chord - по заданному закону достраивает к ноте арпеджио или аккорд.
    • Quantize - ноты в треке звучат выровненно (оставаясь при этом на своих местах). Получается несоответствие между тем, что вы видите и тем, что слышите. Разумеется, редактировать такое невозможно.
    • Track Control - изменяет номера контроллеров. При работе с чужим готовым файлом может и пригодиться.
    • Transformer - довольно мудреный плагин, который позволяет пользователю самому написать макрос, который и будет обрабатывать трек в реальном времени. На мой взгляд, если и возникает необходимость в такой сложной обработке- лучше ее сделать в треке, при помощи операций редактирования.

    Следующая группа MIDI плагинов создана по аналогии с соответствующими аудио обработками. Однако не будем забывать, что MIDI плагин влияет только на MIDI событие, поэтому разные саунд - модули могут по-разному реагировать на них. Вот эти MIDI плагины:

    • MIDI Echo - для каждой ноты генерирует серию повторов с убывающей Velocity. Это поохоже на Delay
    • MIDI Compressor - ограничивает разброс значений параметра Velocity
    • Auto Pan - изменяет по заданному закону значение параметра Pan

    Вот, собственно, и все, что я хотел сказать о MIDI. Если вас что - либо заинтересовало - пишите мне Vlad@saxland.net.