Итак, посылая MIDI-сообщения, можно управлять работой синтезатора, передавать ему команды, определяющие момент начала извлечения определенной ноты, ее длительность, а также значения множества параметров синтеза звука. Эти команды можно посылать в реальном времени, нажимая клавиши MIDI-клавиатуры и изменяя положения различных регуляторов и переключателей, расположенных на ней. Но можно поступать и по-другому: заранее записать всю последовательность действий, преобразованных в MIDI-сообщения, в запоминающее устройство, а позже, когда в этом возникнет необходимость, считать MIDI-сообщения из запоминающего устройства и направить их в синтезатор. Причем вводить данные в запоминающее устройство можно с помощью все той же MIDI-клавиатуры. Что дает такое промежуточное звено? Возникают, как минимум, пять принципиально важных возможностей.
1. При записи сообщений можно играть на MIDI-клавиатуре в значительно меньшем темпе, чем требуется при исполнении конкретного произведения, а воспроизводить запись — быстрее. В итоге с любой композицией, сколь сложной она ни была бы, справится любой человек, даже не обладающий навыками игры на музыкальном инструменте.
2. Записанные данные можно подвергать редактированию в целях устранения исполнительских погрешностей или придания исполнению определенного стиля.
3. Можно записывать не всю партию, а только ту ее часть, которая составляет один период. Например, можно записать один куплет и один припев, а затем скопировать эти две части и в необходимом количестве экземпляров вставить в партию.
4. Можно поочередно записать все партии и скомпоновать из них цельное музыкальное произведение.
5. В небольшом по объему запоминающем устройстве можно хранить очень много продолжительных композиций. Ведь MIDI-сообщение не передает сам звук или какие-то его характеристики, а только команды, которые выполняются устройством-получателем.
Программа, предназначенная для записи, редактирования и воспроизведения последовательности MIDI-сообщений, называется MIDI-секвенсором.
Конечно, существуют и аппаратные секвенсоры. Некоторые из них выполнены в виде отдельного устройства, а другие входят в состав синтезаторов. Программные секвенсоры выгодно отличаются от аппаратных. Наглядность отображения данных, неограниченное количество композиций и партий в композициях, сохраняемое в памяти, развитые средства редактирования — вот неполный перечень их преимуществ.
Совокупность данных, с которыми работает секвенсор, называют сонгом или проектом. Кроме последовательности MIDI-сообщений в проекте может храниться всевозможная дополнительная информация: начальные установки секвенсора и синтезатора, названия отдельных партий, данные автоматизации (например, команды управления микшером), ссылки на другие данные (не относящиеся к MIDI). Проект можно сохранить в памяти компьютера в виде файла.
Современные программные MIDI-секвенсоры, как правило, входят в состав музыкальных редакторов, которые позволяют работать не только с MIDI-сообщениями, но также и со звуком, представленным в цифровой форме, и даже с оцифрованным изображением. Как вы уже знаете, к числу программ с наиболее развитыми средствами редактирования MIDI- и аудио-данных принадлежит и Cubase SX.
MIDI-сообщения дискретны по своей сути. И дело не только в том, что каждое сообщение выражается числом, которое может принимать только строго определенные значения. Существенно также, что поток MIDI-сообщений дискретен во времени. Они не могут передаваться непрерывно. Передача и обработка элементарных сигналов в MIDI осуществляется с конечной скоростью в определенные тактовые моменты, привязанные к началу передачи сообщения. Причем непосредственно в аппаратной части интерфейса сообщения передаются только последовательно: одно за другим, без какого-либо перекрытия во времени. Когда вы приступите к изучению MIDI-редакторов программы Cubase SX, то у вас может создаться впечатление, что в секвенсоре параллельно существует несколько потоков MIDI-сообщений. Но это кажущаяся параллельность. Такая иллюзия возникает только из-за того, что информация в MIDI-редакторе визуально отображается как несколько расположенных параллельно треков, на каждом из которых записывается и редактируется какая-нибудь одна партия. На самом деле данные со всех этих треков, сколько бы их ни было, хоть тысяча, передаются синтезатору последовательно через все тот же соединитель MIDI-интерфейса: два проводника. Конечно, в системе может быть и не один MIDI-интерфейс, а несколько, и не один синтезатор, а тоже несколько, но сейчас речь не об этом.
Предположим, что на MIDI-клавиатуре взят и записан в секвенсор аккорд из трех нот. Это значит, при воспроизведении композиции 3 ноты должны зазвучать одновременно. Однако соответствующие сообщения секвенсор передаст синтезатору не одновременно, а одно за другим. Скорость передачи сообщений по MIDI выбрана такой, что на слух временное рассогласование будет незаметно, но нужно понимать, что оно принципиально неустранимо. А если в композиции сотня партий, причем в доброй половине из них записаны аккорды? Не исключено, что в этом случае не только станет заметным рассогласование во времени между звучанием тех нот, которые вообще-то должны браться одновременно, но наступят и более неприятные последствия. Может оказаться, что интерфейс (речь идет о MIDI) еще не успеет передать все сообщения, относящиеся к одному моменту (ноты, которые должны, к примеру, звучать в первой четверти), как уже нужно будет передавать сообщения, соответствующие следующему моменту (пойдет вторая четверть и должны быть сыграны следующие ноты). Интерфейс окажется перегруженным. Если при исполнении задействованы контроллеры непрерывного (точнее говоря, квазинепрерывного) действия (связанные со слайдерами, рукоятками, колесами и т. п.), которые создают не поток, а целый океан сообщений, то перегрузка интерфейса возможна даже при небольшом количестве партий и одновременно исполняемых нот.
Когда разрабатывались требования к стандарту MIDI, никто, вероятно, и предположить не мог, что через четверть века скорость обмена данными внутри компьютера будет измеряться гигабитами в секунду, и MIDI-интерфейс станет настоящим тормозом, самым узким местом в компьютерной системе обработки музыки.
Для того чтобы уменьшить вероятность возникновения перегрузки MIDI-интерфейса, разработчики сознательно ограничивают разрешающую способность секвенсоров по времени. Она выбирается, исходя из двух противоречивых условий. С одной стороны нужно, чтобы дискретность записи и передачи сообщений не препятствовала музыканту в выражении самых тончайших ритмических нюансов. Для этого временная шкала секвенсора должна быть поделена на очень короткие отрезки. С другой стороны требуется, чтобы для произведений, типичных с точки зрения насыщенности музыкальными партиями, перегрузка MIDI-интерфейса не возникала или возникала бы, но с очень малой вероятностью.
Шкала времени секвенсора образована на основе трех единиц измерения: музыкальных тактов, музыкальных долей и тиков.
Самая большая единица здесь — такт. Доля составляет определенную часть такта. Это привычные для музыканта понятия. Такие единицы измерения временных интервалов оказываются особенно полезными при работе с секвенсором посредством специального транслятора MIDI-сообщений в графические символы нотного письма — нотного редактора или нотатора. Нотатор способен отображать ноты и паузы той длительности, которая не короче выбранной величины доли. В Cubase SX выбирать величину доли можно в пределах от половинной с точкой до шестьдесятчетвертой триоли. Для традиционной нотной записи партитур этого более чем достаточно. Ноты и паузы, короче шестьдесятчетвертой триоли в нотной записи не отображаются. Хотя реально в секвенсоре можно записать значительно более короткие звуки, с существенно меньшим шагом во времени. Разрешающая способность секвенсора равна одному временному кванту, который носит название тик.
Тик составляет определенную очень маленькую часть четвертной доли такта.
Чем больше в доле тиков, тем тоньше ритмические нюансы, которые удастся записать. В Cubase SX разрешающая способность секвенсора составляет 480 тиков в четвертной доле, 120 тиков соответствуют шестнадцатой ноте. Это ювелирный инструмент музыканта: получается, что можно записать ноту (или паузу) в 120 раз короче шестнадцатой!