> Не следует панорамировать инструмент настолько широко, что впоследствии у слушателей создастся впечатление, будто инструмент занимает всю сцену.
> Сигналы, обработанные стереоэффектами (такими как хорус или ди-лэй), лучше панорамировать не по всей стереобазе, а хотя бы от одного крайнего положения до середины.
> При панорамировании MIDI-инструментов звуковых карт следует учитывать наличие определенного панорамирования некоторых из них, проведенного на этапе создания сэмплов.
Достоинством звуковых редакторов, кроме всего прочего, является возможность очень точного управления звуковым планом каждого реального или электронного источника звука. Для компьютерных методов обработки деление пространства на три звуковых плана слишком грубо. В интервью, опубликованном в журнале «Компьютерра», композитор Эдуард Артемьев сказал так: «Звук — генератор пространства. Пространство начинает работать как отдельная категория, и мы уже следим не за звуком, а за пространством» [б]. Этой цитатой мы и завершим раздел, посвященный звуковым планам.
Микширование MIDI-треков в Cakewalk Pro Audio 6.0
Конечно же, для того чтобы организовать настоящую студию звукозаписи, неплохо бы иметь реализованный аппаратно микшер, подключенный ко входам высококачественной платы оцифровки звука. Сейчас предложение продавцов звукотехнической аппаратуры существенно превышает спрос. Чего только нет! Но все очень дорого. Поэтому в домашних условиях, до тех пор, пока звукозапись не станет окупающим себя источником ваших доходов, можно обойтись и минимумом средств, реализованных в звуковой карте.
Функции и возможности микшера звуковых карт семейства AWE мы рассмотрели в разд. 1.2.4. Там же мы отметили слабые стороны этих устройств, основной из которых является недостаточное число уровней квантования значений коэффициентов передачи регуляторов уровней.
Проблема микширования при создании композиций (сонгов), включающих в себя MIDI- и WAVE-файлы, может быть разделена на три составляющие части:
> микширование в процессе записи и редактирования MIDI-файлов;
> микширование в процессе записи и обработки WAVE-файлов;
> сведение MIDI-КОМПОЗИЦИЙ и WAVE-дорожек в единый сонг.
Перед тем, как перейти к рассмотрению перечисленных проблем, напомним, что мы понимаем под словом «сонг». Сонг—это совокупность оцифрованного звука, последовательности MIDI-сообщений и дополнительной информации, формируемой музыкальным редактором [63].
Первая задача относительно несложная, и мы ее рассмотрим сейчас.
Вторую — также можно было бы решать без особых мук при наличии устройств, способных производить одновременную многоканальную оцифровку звуковых сигналов. Звуковые карты семейства AWE годятся только для одноканальной записи звука. Разумеется, последовательная запись звуковых сигналов нескольких источников с их помощью возможна. Дальнейшая обработка звуковых дорожек производится не в реальном времени, а средствами звуковых и музыкальных редакторов. Об этом пойдет речь в гл. 2 и частично в гл. 4.
Третья задача: объединение MIDI- и WAVE-файлов решается с помощью современных музыкальных редакторов, содержащих, как правило, в своем названии слово «audio». Одним из наиболее совершенных и удобных музыкальных редакторов, на наш взгляд, является Cakewalk Pro Audio. Поэтому в гл. 4 решение этой задачи рассматривается применительно к последней (шестой) версии этой программы.
Но для того чтобы вы были готовы к решению таких сложных задач, как сведение сонга, для начала мы должны научить вас элементарному: микширо-ванию MIDI-дорожек с помощью виртуальных микшеров музыкальных редакторов. Вероятно, вы согласитесь с тем, что, поскольку спустя некоторое время вам все равно придется работать с Cakewalk Pro Audio 6.0, было бы неразумно сейчас знакомиться с микшером какого-нибудь другого музыкального редактора.
В нашей предыдущей книге [63] вы имели возможность познакомиться с версией 5,0 этого редактора. Версия 6.0 отличается от нее немногим, но часть этого «немногого» сосредоточена как раз в тех элементах, которые понадобятся именно сейчас.
Загрузив Cakewalk Pro Audio 6.0, вы увидите, что изменения частично коснулись окна микшера и способа отображения процесса управления манипуляторами имеющихся эффектов. В предыдущей версии для вызова окна микшера нужно было выбрать в главном меню команду View > Faders. При этом появлялось изображение микшера, содержащего несчетное число каналов. В версии 6.0 вызвать окно виртуального микшера можно путем выполнения последовательности действий, о которых мы сейчас расскажем. Напомним, что главное окно включает в себя секцию треков (левая часть окна) и секцию клипов (правая часть окна). В главном окне программы — менеджере треков (Track) — следует пометить номера тех треков, линейки регуляторов которых должны появиться в окне микшера. На рис. 1.31 помечены девять первых треков.
Далее необходимо щелкнуть правой кнопкой мыши по полю секции треков. Это вызовет появление всплывающего меню (рис. 1.32).
В нем нужно выбрать команду Panel. При этом откроется окно диалога виртуального микшера (рис. 1.33), в котором будут видны линейки регуляторов, относящиеся только к выбранным каналам. Следует предупредить, что если вы работаете с разрешением 800х600, изображение всего окна микшера не уместится по вертикали на экране монитора.
Состав регуляторов и вид каждой из линеек можно изменить, воспользовавшись кнопкой Design. После нажатия ее появится набор инструментов.
После нажатия ее появится набор инструментов, с помощью которого можно не только изменить вид и состав уже существующих модулей микшера, но и сконструировать новые модули, объединяющие в произвольном сочетании органы регулировки параметров любых каналов. Поэкспе-риментировав с предустановками, вы обнаружите образы панелей микшеров самых известных фирм.
По умолчанию каждая линейка содержит ползунковый регулятор громкости, рукоятки регулировки панорамы, реверберации и хоруса. Кнопка Mute служит для отключения звучания канала. Кнопки, расположенные в верхней части окна.
Пример окна диалога микшера
Глава 1
Panel, позволяют выбирать способы запоминания положений регуляторов и варианты отображения их перемещении. При нажатии кнопки с изображением фотоаппарата положения регуляторов зафиксируются. Реально при этом в список MIDI-событий будут записаны сообщения, содержащие параметры этих манипуляторов эффектов. Кнопка, помеченная красной точкой, позволяет записывать все изменения положений регуляторов, которыми вы управляете по ходу записи или в процессе редактирования композиции. С помощью кнопки с изображением стрелки и ползунка можно включить режим, при котором в процессе воспроизведения будут отображаться изменения настройки органов регулировки. При нажатии кнопки с изображением дискеты можно сохранить установки микшера в файле.
Второй способ управления не только громкостью, хорусом, реверберацией, панорамой, но и параметрами других эффектов, поддерживаемых звуковой картой, — графический. Для его реализации необходимо открыть окно отпечатков клавиш фортепиано Piano Roll. Для этого в секции треков окна Track (рис. 1.31) следует щелкнуть правой кнопкой мыши по тому треку, параметры которого необходимо отредактировать. В появившемся всплывающем меню (рис. 1.32) следует выбрать команду Piano Roll, в результате чего откроется одноименное окно, изображенное на рис. 1.34.
Окно Piano Roll no вертикали разделено на два поля. В верхнем поле действительно можно видеть отпечатки нажатых клавиш. Ныне это один из общепринятых способов отображения музыки, записанной с помощью музыкальных редакторов. Нижнее поле предназначено для графического управления параметрами манипуляторов. Уровень параметра соответствует высоте вертикальных столбиков, совпадающих во времени с началами нот. Перечень редактируемых параметров содержится в списке, расположенном в левом нижнем углу окна, и открывается щелчком мыши. На рис. 1.34 показано, что выбран и отображается параметр Velocity, определяющий уровень громкости звучания музыкального инструмента, закрепленного за данным треком. Используя инструменты (карандаш и ластик), приводимые в действие нажатием соответствующих кнопок, расположенных над изображением клавиатуры, можно рисовать столбики любой высоты, задавая тем самым любой закон изменения отображаемого параметра.
Существует еще один способ управления параметрами любых эффектов. Правда, он не столь нагляден, как предыдущий, но именно он и является основным. Микшер и графики — это всего лишь программные надстройки над ним. Речь идет об управлении параметрами с помощью MIDI-сообщений. Удобным инструментом для редактирования списка MIDI-сообщений и записи новых является окно диалога Event List. Можно открыть окно, в котором будут в хронологическом порядке размещены абсолютно все сообщения. Но это же можно сделать и для каждого из треков. Для того чтобы открыть список сообщений для отдельного трека, необходимо в секции треков окна Track (рис. 1.31) щелкнуть правой кнопкой мыши по желаемому треку. В появившемся всплывающем меню (рис. 1.32) выберите команду Event List. После этого откроется одноименное окно, изображенное на рис. 1.35.
Каждая строка таблицы окна Event List содержит одно сообщение. В приведенном примере почти все сообщения относятся к типу Note и означают, что в такой-то момент следует включить такую-то ноту инструмента, закрепленного за первым MIDI-каналом. Лишь верхняя строка содержит сообщение управления манипулятором (контроллером). Громкостью звучания нот можно управлять, изменяя числа, записанные во втором столбце справа. Значением остальных параметров следует управлять, посылая соответствующие сообщения. Для этого нужно щелкнуть левой кнопкой мыши по той строке, куда вы намерены вставить сообщение. При этом откроется окно диалога Kind of Event (рис. 1.36), предназначенное для выбора типа сообщения. Из рис, 1.36 видно, что, кроме MIDI-сообщений, можно выбирать специальные сообщения и сообщения, относящиеся к нотации.
Опции окон Event List и Kind of Event такие же, как у аналогичных окон программы Cakewalk Pro Audio версии 5.0, работа с которыми достаточно подробно рассмотрена в работе [63]. Поэтому, если вы не сможете самостоятельно разобраться с ними, загляните в эту книгу.
1.4.2. Синхронизация
Проблема обеспечения привязки каких-либо событий к единой временной шкале — одна из наиболее сложных в ряду актуальных проблем современной науки и техники. Чего только ни придумало человечество для ее решения: от наручных часов до атомных эталонов частоты, от «шести точек», передаваемых радиовещательными станциями, до кодированных псевдослучайных сигналов навигационных космических аппаратов!
Не обошла стороной проблема синхронизации и музыку, создаваемую в компьютерных студиях. Выделим три основных ее аспекта:
> синхронизация, звуковых и MIDI-сообщений, записанных на треках музыкальных редакторов;
> синхронизация MIDI-инструментов, подключенных к звуковой карте;
> синхронизация композиции, созданной средствами музыкального редактора, с аудио- и видеосредствами студии.
Первый из перечисленных аспектов мы вынуждены будем рассмотреть лишь в последней главе книги, после того как познакомим вас со способами создания звуковых сообщений.
Поэтому, начнем сразу со второго аспекта, который к тому же представляется нам наиболее простым.
Инструменты, снабженные MIDI-интерфейсом, объединяются в сеть. В соответствии со стандартом MIDI, ведущим может быть только один источник MIDI-сообщений. Когда в сеть включены только два инструмента, выход MIDI OUT ведущего инструмента соединяется со входом MIDI IN инструмента ведомого. Если инструментов много, то для образования сети используются либо дополнительные ретрансляционные выходы MIDI THRU, либо специальные размножители выходных сигналов. Варианты соединения MIDI-устройств в сеть приведены в работе [63]. Аппаратные или программные секвенсоры ведомых MIDI-устройств должны работать в режиме внешней MIDI-синхронизации.
Целям синхронизации MIDI-сети могут служить следующие системные сигналы и сообщения реального времени (System Real Time Message), передаваемые по MIDI-каналу:
> Timing Clock (синхронизация) — посылается со скоростью 24 импульса на четвертную ноту, служит для задания единого темпа исполнения композиции всеми секвенсорами сети;
> Start (старт) — инициирует начало записи или воспроизведения сонга всеми устройствами реального времени, подключенными к сети,
> Stop (стоп) — сообщает о прекращении записи или воспроизведения;
> System Reset (сброс системы) — устанавливает все программные и аппаратные средства в исходное состояние, загруженные файлы из оперативной памяти удаляются, органы управления устанавливаются в положения по умолчанию.
Отметим, что большинство других MIDI-сообщений несут в себе информацию о времени. В этом можно убедиться, возвратившись к рис. 1.35. Целых три столбца таблицы содержат временные параметры.
Третий слева столбец информирует о времени наступления события в формате Hr:Mn:Sc:Fr (часы:минуты:секундь1:кадры). Четвертый слева столбец содержит ту же самую информацию, но в формате Meas:Beat:Tick (такт-.до-ля:тик). Правый столбец определяет продолжительность MIDI-события,
Для обеспечения возможности использования одних и тех же MIDI-устройств как в качестве ведущих, так и в качестве ведомых предусмотрены аппаратные или программные переключатели режимов синхронизации «Внешняя/ внутренняя». Если устройство используется автономно, то следует устанавливать режим внутренней синхронизации. При работе устройств в сети ведущее устройство должно функционировать в режиме внутренней синхронизации, а ведомые — внешней. Применительно к звуковым картам следует сказать, что переключение режимов синхронизации удобно выполнять, используя органы управления, имеющиеся в музыкальном редакторе. Например, в Cakewalk такой переключатель имеется среди элементов главного окна.
Вы можете найти его в верхней части главного окна (рис. 1.31), где он показан в состоянии «Int» (внутренняя синхронизация).
Кроме проблемы синхронизации MIDI-устройств, существует и более сложная проблема, связанная с интегрированием различных элементов оборудования студий звуко- и видеозаписи. При создании различной аудио- и видеопродукции возникает необходимость сведения в единое целое информации, поступающей от различных источников. Процессы, протекающие в этих источниках, могут иметь различную периодичность и оцениваться различными единицами измерения времени.
Например, изображение на кинопленке записывается со скоростью 24 кадра в секунду, а единицей измерения времени звучания музыки в MIDI-секвен-соре служит тик. Если звуковое сопровождение записано на том же носителе, что и изображение, то проблем с синхронизацией не будет. Но ведь на этапе создания кинофильма съемка и звукозапись ведутся разными устройствами — кинокамерой и магнитофоном. После проявления пленки изображение воспроизводится уже не на том аппарате, на котором оно записывалось. То же самое, скорее всего, относится и к воспроизведению звука. Как ни стремится промышленность соблюдать стандарты, но двух абсолютно идентичных по скорости записи/воспроизведения приборов все равно не найти. Для нашего примера эти различия выльются в расхождение скоростей воспроизведения изображения и звука. Сначала они будут проявляться незначительно, но со временем может накопиться такое рассогласование, что сначала мы услышим: «Чмок» — и лишь спустя несколько секунд герой наконец-то поцелует героиню.
При сведении в единую фонограмму записей отдельных партий, выполненных различными магнитофонами, или при наложении голоса певца, записанного на магнитофоне, на фонограмму оркестра, воспроизводимую MIDI-сек-венсором, проблема синхронизации стоит еще острее, т. к. в этих случаях расхождение, составляющее доли такта и даже такты, может накопиться гораздо быстрее. А это уже явный брак. Наиболее распространенное средство синхронизации аналоговых видео- и аудиомагнитофонов между собой и с цифровой аппаратурой — SMPTE Time Code.
В начале 70-х годов был принят стандарт, названный SMPTE. Название стандарта произошло от названия Международного общества инженеров кино и телевидения (Society of Motion Picture and Television Engineers).
Основным преимуществом тайм-кода SMPTE является то, что в цифровой информации, записываемой на отдельную дорожку аналогового магнитофона, содержится время в абсолютной величине, что позволяет проигрывать произведение с любого места. Поскольку в качестве размерности по оси времени выбрана единица, не относящаяся к музыке, а представляющая собой реальное время записи кода, появляется возможность изменения темпа музыки. Так как стандарт SMPTE первоначально предназначался для видеозаписи, в нем определен блок данных, соответствующих одному кадру видеоизображения. Такая кодовая группа состоит из 80 бит и содержит системную информацию, информацию пользователя и информацию о времени.
Временная информация закодирована в двоично-десятичной системе. Вместе с системной информацией пользователь может записать свои собственные данные (примечания, небольшие тексты). Если информация не помещается в одну кодовую группу, она должна быть разделена на несколько частей.
SMPTE-сигнал должен записываться при выключенном подавлении шумов. Соседние дорожки должны быть либо свободными, либо не должны содержать записей сигналов с большим уровнем высокочастотных составляющих. В противном случае из-за перекрестного влияния дорожек возможно искажение информации.
В музыкальной системе, синхронизируемой SMPTE-кодом, должен быть лишь один прибор, генерирующий этот код (SMPTE-Masterj. Он является опорным, а ведомые устройства должны, исходя из этого, генерировать музыкальный такт. Так как деление времени на кадры в секунду (24 в кино, 25 (PAL) или 30 (NTSC) в телевидении) для музыкальных применений слишком грубо, устройство SMPTE-синхронизации должно интерполировать временную шкалу между кадрами с помощью системы фазовой автоподстройки частоты.
Вы уже знаете, что наиболее совершенные музыкальные редакторы способны привязывать MIDI-события ко времени в различных форматах и стандартах. Cakewalk, например, тоже может работать с SMPTE-кодом. Однако подавляющее большинство звуковых карт не оборудовано соответствующим аппаратным интерфейсом, посредством которого их можно было бы подключать к SMPTE-аппаратуре студии.
1.5. Виртуальные WT-синтезаторы
Одна из глав этой книги посвящена проблеме синтеза оригинальных голосов музыкальных инструментов. Мы убеждены, что заниматься творчеством такого рода просто необходимо. Альтернативным подходом к решению проблемы увеличения числа доступных тембров может быть только приобретение новых звуковых карт или синтезаторов. Этот подход можно назвать экстенсивным и неэкономичным. Но однажды в процессе общения с фанатами компьютерной музыки нам довелось услышать мнение, смысл которого сводится к тому, что нечего заниматься созданием сэмплов собственных музыкальных инструментов, т. к. существуют дешевые виртуальные аналоги профессиональных синтезаторов. Впечатление об их безграничных возможностях может возникнуть и у людей, прочитавших серию работ [8, 9, 10], где виртуальные синтезаторы соседствовали с очень недешевым аппаратным синтезатором Korg X5D. Действительно ли настолько безграничны их возможности? Прочитайте этот материал и оцените сами.
Появлению виртуальных, или программных (soft) WT-синтезаторов способствовал целый ряд объективных предпосылок, Возможно, многие читатели знакомы с одним, а может быть и с целым рядом когда-то достаточно популярных музыкальных редакторов, родоначальником которых считается программа ScreamTraker. Перечислим особенности этих редакторов:
> Их нельзя называть секвенсорами, т. к. большинство из них не может работать с интерфейсом MIDI и, следовательно, управлять внешними MIDI-инструментами они тоже не в состоянии.
> Большинство из них работают под управлением DOS. При этом они задействуют практически все вычислительные ресурсы компьютера. Это обусловлено тем, что синтезатор, генерирующий звуки, выполнен в программном виде, а синтезировать звук, как известно, дело нелегкое.
> Каждый из этих редакторов и по сей день обладает своим уникальным интерфейсом, работающим, как правило, в текстовом режиме. Отсутствует нотный интерпретатор.
>’ Сонги хранятся в специфическом уникальном формате (а таких форматов на сегодняшний день существует уже с десяток). Наверное, вам попадались файлы с расширениями ‘.MOD, «.STM, ‘.S3M, «.ХМ, «.IT и т. д.?
> Даже современные и наиболее совершенные из этих редакторов только начали «обучаться» использованию возможностей WT-синтезаторов (вернее, только части этих возможностей).
Как может показаться на первый взгляд, список особенностей содержит одни лишь недостатки. Но на самом деле это не так. Музыкальные редакторы типа ScreamTraker сыграли свою историческую роль. В то время, когда звуковых карт с WT-синтезаторами для PC не было и в помине, а великим достижением считалось наличие FM-синтезатора OPL-3, такие программы все же позволяли прикоснуться к возможностям сэмплера.
С тех пор прошло очень много времени (по меркам истории компьютерной музыки), звуковые карты с шестнадцатибитными АЦП/ЦАП стали такими же привычными, как и динамик в корпусе PC. В несколько раз выросла производительность процессоров, появился и стал доступным процессор Pentium. Последнее и сыграло роль детонатора бомбы, взрыв которой выплеснул множество виртуальных синтезаторов.
Что же такое виртуальный WT-синтезатор? Это, образно говоря, тот же ScreamTraker, но только содержащий набор сэмплов, соответствующих определенному стандарту, и умеющий работать с MIDI-интерфейсом. А если говорить совсем точно, то виртуальный WT-синтезатор — это выполненная в виде драйвера для Windows программа, которую система воспринимает как полноценное MIDI-устройство.
Для вывода звука виртуальные синтезаторы используют ЦАП звуковой карты. Но ведь просто проигрывать MIDI-файлы недостаточно, должна существовать возможность воспроизведения при этом и цифрового звука. А как же быть с тем, что виртуальные синтезаторы полностью захватывают ЦАП звуковой карты? Некоторые из них решают эту проблему «полюбовно». Они предоставляют вместо привычного драйвера ЦАП свой собственный, полностью совместимый с виртуальным синтезатором. Этот драйвер «подмешивает» звуковые данные из WAVE-файла к цифровому потоку на выходе виртуального WT-синтезатора. В результате вы можете прослушивать одновременно и MIDI-файлы, и цифровой звук.
Самое главное достоинство виртуальных синтезаторов — они не нуждаются в дорогостоящих звуковых картах. Подойдет любая шестнадцатибитная.
Самый главный недостаток — потребность в мощном процессоре. Приемлемое качество звука достигается только на процессорах Intel Pentium-200 и выше. В настоящее время некоторые современные виртуальные синтезаторы обращаются к возможностям технологии ММХ, что позволяет существенно расширить возможности синтеза даже на процессорах с более низкой частотой (например, Intel Pentium MMX-166). Но и сейчас виртуальные синтезаторы не создают серьезной конкуренции синтезаторам аппаратным. Тот же EMU8000 (с этим синтезатором вам еще предстоит познакомиться поближе) синтезирует звук с качеством, превосходящим качество синтеза любого виртуального синтезатора, существующего на момент написания этой книги. При этом процессор остается совершенно свободным от каких-либо расчетов и может использоваться для других целей, в том числе и музыкальных, например, для мик-ширования звуковых дорожек в музыкальном редакторе.
Но виртуальные синтезаторы просто не появились бы на свет, если бы в них не было потребности. Кто же основной потребитель таких программ? Скорее всего, это человек, использующий мощный PC в основном только для деловых целей. По этой причине его PC не содержит таких серьезных устройств, как звуковые карты с WT-синтезаторами. В его распоряжении имеется только заурядная шестнадцатибитная звуковая карта с FM-синтезатором. Лучшей звуковой карты ему просто не нужно. «Все эти дорогие AWE для тех, кто сидит часами с MIDI-клавиатурой и сочиняет музыку», — думает он. Мысли этого воображаемого человека не являются нашей фантазией, нам не раз приходилось слышать такое мнение, высказанное вслух. И не нужно обижаться на таких людей, скорее их стоит пожалеть. Чего-то они все-таки недопонимают.
Но хорошую музыку хочется слушать всем. Поэтому наш воображаемый человек при случае обязательно установит на свой «деловой» PC виртуальный синтезатор. Это позволит ему хотя бы узнавать звучание знакомых инструментов в MIDI-файле (ведь в веселом «поквакивании» OPL-3 трудно расслышать фортепиано или скрипичный оркестр).
В среде музыкантов потребителей таких программ, как правило, не бывает. Это объясняется одним существенным недостатком, присущим большинству виртуальных синтезаторов. Речь идет о задержке, возникающей после нажатия MIDI-клавиши (настоящей или тоже виртуальной) перед началом генерации звука.
Величина задержки может изменяться для разных процессоров и разных настроек виртуальных синтезаторов. Но, как правило, эта задержка не менее 0,5 с. Это небольшое на первый взгляд неудобство на практике приводит к невозможности игры на MIDI-клавиатуре в реальном времени. Неужели программистам трудно переделать виртуальный синтезатор так, чтобы не было этой задержки? Да, действительно трудно, хотя бы по той причине, что архитектура PC не рассчитана на синтез звука с помощью центрального процессора.
Для любознательных читателей поделимся нашими мыслями по поводу того, откуда возникает эта злополучная задержка. Если вам неинтересно — переходите к следующему абзацу.
Как известно, звуковая картадля формирования звука с помощью ЦАП использует DMA (канал прямого доступа к памяти). Вывод звука осуществляется по следующей схеме. Процессор копирует блок звуковых данных (отсчетов) в определенное пространство памяти и сообщает контроллеру DMA и звуковой карте о том, что блок данных хранится по такому-то адресу и его нужно вывести через ЦАП с такой-то скоростью. После этого звуковая карта некоторое время (долю секунды) воспроизводит звук без участия процессора. В это время она напоминает магнитофон, в который вставили кассету и нажали кнопку Play. Когда «лента заканчивается», звуковая карта сообщает процессору о том, что пора вставлять новую. За то время, которое процессор был свободен от выполнения операций, связанных со звуком, он успевает выполнить массу других операций. А заполнить буфер памяти звуковыми данными и включить звуковую карту в режим воспроизведения — это для него сущий пустяк. Таким способом экономится 99 % процессорного времени (а значит и производительно сти компьютера). Но просто воспроизводить WAVE-файл посредством DMA — это одно, а еще и генерировать при этом звуковые отсчеты — это совсем другое. Процессор не может мгновенно заполнить буфер DMA по той простой причине, что сначала надо рассчитать данные, которыми этот буфер будет заполняться. Вычисления, необходимые для синтеза звука, — дело непростое. Быстро рассчитать 64 Кбайт (а именно таков максимально допустимый размер буфера DMA) звуковых данных невозможно. Поэтому и возникает задержка на время, необходимое процессору для расчета первой порции звуковых данных. При воспроизведении всего MIDI-файла эта задержка имеет место сразу после нажатия кнопки Play и потому остается незамеченной (все последующие звуки следуют без задержек, или, вернее сказать, одинаково смещены во времени относительно момента нажатия кнопки Play). А вот при игре на MIDI-клавиатуре задержка будет ощущаться при каждом нажатии клавиши.
Вторая сторона того же недостатка, присущая виртуальным синтезаторам, — большая загруженность процессора расчетами звуковых данных. В результате этого выполнение других программ в среде MS Windows резко замедляется, а некоторые действия (например, перемещение окон, запуск программ и т. п.) приводят к сбоям в воспроизведении MIDI-файлов.
Еще один недостаток — незначительное повышение качества звука требует значительного повышения быстродействия процессора. Поясним это на примере. Предположим, какой-либо из виртуальных синтезаторов нормально (с допустимой загрузкой процессора) работает на Intel Pentium-100, но частота дискретизации воспроизводимого звука составляет всего 22,05 кГц. Допустим, вы захотели поднять частоту дискретизации до 44,1 кГц. Чтобы загруженность процессора оставалась прежней (примерно 80 %) вам может потребоваться Intel Pentium-200. Частота дискретизации выросла в два раза, частота процессора — тоже в два раза, а его цена? На момент написания этой книги процессор Intel Pentium-200 стоил не в два, а в несколько раз дороже своего предшественника, работающего на частоте 100МГц.
Последний из существенных недостатков — невозможность загрузки пользовательских сэмплов. Причиной этого служит целый ряд факторов, перечислять которые нет смысла.
Но все трудности в мире компьютеров рано или поздно преодолеваются, и мы верим в то, что ветвь виртуальных синтезаторов в дереве эволюции компьютерной музыки не оборвется и будет продолжать самостоятельное существование. Для этого предположения уже сейчас имеются некоторые основания: WT-синтезаторы и их виртуальные аналоги могут вместе «жить» на одном компьютере и даже не просто «жить», но и взаимодополнять друг друга. Яркий тому пример — Sound Blaster AWE64. Эта звуковая карта по своим музыкальным возможностям и архитектуре ничем не отличается от своих предшественниц SB AWE32 и SB 32. А дополнительные 32 голоса обеспечиваются не аппаратно, а программно, с помощью виртуального синтезатора. Этот виртуальный синтезатор может, в принципе, работать с любой шестнадцатибитной картой. Но его создатели сделали так, чтобы он при запуске детектировал звуковую карту. Если она окажется не SB AWE64, то виртуальный синтезатор откажется работать. Однако существует и другое исполнение этого программного синтезатора, которое обеспечивает работу со звуковыми картами, отличными от SB AWE64. Благодаря этой программе, например, можно превратить SB AWE32 в SB AWE64.
Возможно у некоторых наших читателей, использующих виртуальные синтезаторы, может возникнуть вопрос: а для чего же таким фирмам как, например, Yamaha и Roland потребовалось создавать программные аналоги своих реально существующих инструментов (например, Roland VSC-88 и Yamaha S-YXG50)? Возможно, это просто рекламный ход: «Попробуйте программные аналоги наших инструментов! Понравилось? А ведь настоящие синтезаторы звучат гораздо лучше! Что бы вы сказали, послушав звучание настоящего инструмента?» Возможно, мы не угадали…
В качестве примера рассмотрим виртуальный синтезатор Yamaha S-YXG50. Не станем скрывать причины выбора именно этой программы. Во-первых, она просто нам симпатична. Кроме того, S-YXG50 использует технологии ММХ и Direct Sound, поддерживает стандарт GX. Приведем характеристики этой программы:
> WT-синтезатор с банком инструментов объемом 2 Мбайт;
> максимальная полифония 128 нот;
> набор инструментов: 676 мелодических, 21 набор ударных инструментов и спецэффектов;
> максимальная частота сэмплирования 44/22/11 кГц;
>фильтр с динамически изменяемыми параметрами для каждой звучащей ноты;
> эффекты: 8 типов реверберации, 8 типов хоруса, 36 типов вариаций. Технические требования, предъявляемые к PC:
> процессор Pentium-166 или лучше (настойчиво рекомендуется процессор с технологией ММХ);
> операционная система Windows 95;
> ОЗУ объемом не менее 16 Мбайт;
> 16-битная звуковая карта.
Приведенные требования являются минимальными. Это означает, что на таком PC программа будет работать, но не обязательно на полную мощность, заявленную в ее характеристиках. Пользователю предоставляется возможность настройки виртуального синтезатора в соответствии с производительностью своего компьютера.
После установки на PC программа идентифицируется системой как MIDI-yc-тройство. Вы можете использовать это виртуальное устройство в музыкальном редакторе точно так же, как использовали бы настоящий синтезатор.
О присутствии программного синтезатора в системе свидетельствует появление в Панели управления Windows новой иконки.
Щелчком по этой иконке вызывается окно настроек драйвера виртуального синтезатора, изображенное на рис. 1.37. Рассмотрим опции этого окна.
В группе Effect можно включать или выключать типы эффектов, которые поддерживаются синтезатором. Конечно, хорошо, когда включены все эффекты, но для этого требуется мощный процессор. Отключив один или два (или все три) типа эффектов, можно существенно снизить требования программы к вычислительным ресурсам процессора.
Sample Rate — частота сэмплирования. Здесь комментарии излишни: чем больше, тем лучше (лишь бы процессор смог справиться с этой задачей). CPU Load — допустимая загрузка (занятость) процессора. Наилучшая допустимая загрузка с точки зрения качества синтезируемого звука — 90 %. Но процессорного времени для других программ при воспроизведении музыки останется очень мало. При такой загрузке маломощного процессора выполнение параллельно запущенных программ может попросту остановиться. Polyphony — максимальная полифония. Группа Direct Sound содержит всего два переключателя, позволяющих подключать или отключать звуковые драйверы Microsoft DirectX, благодаря которым можно более эффективно использовать аппаратное обеспечение и меньше загружать процессор.
Нельзя не упомянуть о симпатичном проигрывателе MIDI-файлов, поставляемом вместе с виртуальным синтезатором, а также о самих демонстрационных MIDI-файлах, использующих возможности стандарта XG. Вид проигрывателя показан на рис. 1.38.
Кнопка Power эквивалентна кнопке, закрывающей окно. Кнопка с горизонтальной чертой минимизирует окно программы. Нажав кнопку SONG, можно создать список файлов, которые будут- воспроизводиться в заданном вами порядке. Окно диалога редактора списка показано на рис. 1.39.
Здесь-то мы и столкнулись с первым (и последним) недостатком, обнаруженным нами у данной программы — она не поддерживает длинных имен файлов (вместо каталога Program Files мы видим progra-). Может быть, в версии этого проигрывателя, имеющейся у вас, этот недостаток будет уже устранен.
Вернемся в главное окно проигрывателя (рис. 1.38). Кроме стандартных кнопок управления и поля в стиле ЖК-индикатора с названием текущей музыкальной композиции, здесь имеются кнопки настройки проигрывателя (SET) и помощи (?), Нажав кнопку SET, вы вызовете окно диалога, возможный вид которого показан на рис. 1.40. В этом окне содержится список доступных MIDI-устройств. Выбрать можно только одно устройство. Оно и будет воспроизводить MIDI-файлы.
Настройка MIDI-проигрывателя
Снова вернемся в главное окно MIDI-проигрывателя. С помощью кнопок со стрелками можно сменить темп воспроизведения (текущий темп отображается на «ЖК-индикаторе»). В правой части окна расположен движок регулятора громкости. Он управляет программной громкостью генерируемого звука. Громкость нужно установить так, чтобы не переполнялась разрядная сетка ЦАП звуковой карты.
В заключение отметим: возможно вам покажется, что виртуальный синтезатор — вещь капризная и требует особой заботы со стороны пользователя. И в этом вы будете совершенно правы. С аппаратным синтезатором и проблем меньше, и звучит он несравнимо лучше.