Начало
 
 


НовостиОборудованиеСтатьиФорумФайлыОрганизацииСсылкиПрайс-листыРекламаСловарьПоиск
СТАТЬИ
ReBirth RB 338 2.0

ReWire 2.0

Аранжировка и ReWire, часть 1 (платная)
 

 
  ReWire

Александр ФЕДОРОВ
Музыкальное Оборудование
ноябрь 1999

Вы используете в своей работе программные синтезаторы или семплеры? Вы используете аудио-MIDI секвенсоры или программы многодорожечной записи? Вам надоело довольствоваться единственным средством коммутации между программами - HLD (Hubi's LoopBack Device)? Вам надоело бороться с выпадением из синхронизации, подбирать параметры HLD и входных/выходных интерфейсов программ вручную? Вы хотите использовать обработку эффектами и автоматизацию микшера своего секвенсора при работе с программным синтезатором?

Если хотя бы на один вопрос вы ответили "да", знайте, существует технология, способная разрешить эти и многие другие вопросы. Имя ей - ReWire.

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

Ответьте на вопрос: что вы делаете, если хотите подключить синтезатор (семплер, звуковой модуль и т. п.) к микшеру или многодорожечному устройству записи? Правильно - вы используете обыкновенный звуковой кабель. Можете ли вы сделать то же самое при работе с музыкальными приложениями на PC или Mac? Ответ прост: не можете. Или, по крайней мере, не могли.

В октябре прошлого года появилась первая ласточка - программа "Виртуальный аудио кабель" (VAC). Она позволяет передавать аудио информацию между приложениями через оперативную память, минуя физические входы и выходы. Программа неприхотлива, не пожирает системные ресурсы, поддерживает частоту дискретизации до 192 кГц, разрядность до 32 бит, предлагает до 64 виртуальных кабелей (на деле, при задействовании уже нескольких "кабелей" начинаются проблемы). VAC не может работать с драйверами DirectX (что крайне неудобно для современных приложений, некоторые работают исключительно через DirectSound). VAC не делает ничего другого, кроме пересылки аудио блоков из одной программы в другую. Применение VAC наиболее эффективно тогда, когда какая-либо программа не позволяет писать результаты своей работы в звуковой файл, но выводит сигнал на физический выход. VAC имитирует такой выход; программа об этом даже не догадывается, а, запустив любой рекордер (хоть "фонограф" Windows), можно и WAV состряпать.

Можно, конечно, и Sound Forge с CakeWalk связать. Но без поддержки точной синхронизации между приложениями польза от VACоподобных программ сомнительна.

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

Концепция ReWire
До появления ReWire основных способов коммутации между музыкальными программами было всего два.

В первом случае основная программа (как правило, аудио-MIDI секвенсор) подгружала в себя некоторый компонент - модуль обработки. Последний, разумеется, не мог работать самостоятельно и требовал для себя "контейнера". Обмен аудио данными (в том числе потоковый, в реальном времени) происходил довольно просто, не выходя за рамки приложения-контейнера. После выхода в свет огромного количества модулей обработки, специфичных для конкретной программы конкретного производителя, и нареканий со стороны пользователей (приходилось покупать другую систему только из-за того, что к ней прилагался модуль, которого так не хватало в текущей), было решено установить стандарты. Результатом усилий Великого Стандартизатора (Microsoft, разумеется) стал стандарт DirectX, который в настоящий момент поддерживают практически все производители музыкального ПО.

Steinberg, в свою очередь, плавно внедрял протокол VST для того же способа обмена данными. С появлением стандарта VST 2.0 стало возможным управлять работой подключаемых модулей по MIDI. Это привело к использованию технологии VST для создания не только типичных модулей обработки, но и программных синтезаторов. Вы можете подгрузить программный синтезатор как подключаемый модуль в контейнер, поддерживающий VST (первый и самый главный контейнер - Cubase).

Однако такое положение вещей связывает по рукам и ногам разработчиков ПО жесткостью требований к модулям. Так, модули не могут иметь своего развитого пользовательского интерфейса с системой меню как в основной программе, и, как правило, размещаются в одном окне. Обмен аудио данными происходит исключительно через "хозяина" модуля - основную программу, что также не всегда приемлемо.

Поэтому разработчики серьезных программных синтезаторов и имитаторов оборудования предпочитают создавать самостоятельные приложения. Как в этом случае обеспечить синхронизацию и обмен аудио данными с программным секвенсором/ микшером/ рекордером? Синхронизация реализуется через HLD - виртуальный MIDI кабель, непосредственные потоки аудио между приложениями не реализуются никак. Разумеется, ни о какой синхронизации с точностью до семпла (как при использовании ASIO протокола и драйверов) речи быть не может.

Совокупность всего вышеперечисленного заставила производителей искать лучшие способы коммутации. На сегодняшний день единственным работающим протоколом является ReWire.

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

Итак, три основных функциональных возможности протокола:
- передача потокового аудио между приложениями в реальном времени;
- синхронизация с точностью до семпла;
- связанный транспорт в приложениях.

ReWire предлагает до 64 независимых каналов передачи аудио данных. Текущая версия поддерживает максимальную частоту дискретизации 96 кГц, разрядность 24 бита. Заявлено, что проблем с расширением этого диапазона в будущем не возникнет. Все вопросы синхронизации между программами ReWire берет на себя. После того, как приложения запустились и обнаружили друг друга через ReWire (что происходит автоматически), между ними устанавливается точная до семпла и гарантированная от выпадения синхронизация. Может показаться странным, но в ReWire нет даже настроек и регулировок, связанных с синхронизацией. Синхронизация абсолютна.

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

По-моему, достаточно аргументов, чтобы считать ReWire чем-то большим, нежели простой аудио кабель.

Реализация, или "Как оно работает?"
Учитывая прежде всего практический интерес к технологии, не будем вдаваться в программистские дебри, тем более, что по сложности реализации ReWire превосходит многие "навороченные" технологии (вроде MROS в Cubase).

Поддержка ReWire приложениями как на PC, так и на Mac, сводится к выполнению ими определенного соглашения (контракта). Программный синтезатор или другой источник аудио данных (назовем его сервер) является поставщиком этих данных для программного секвенсора/ микшера/ рекордера (назовем его клиентом). Клиент работает с сервером через системный модуль, обеспечивающий реализацию протокола ReWire. Этот модуль принадлежит серверу и выпускается его производителем.

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

Рассмотрим более интересную практическую сторону работы технологии. Поскольку на момент написания мне была доступна только пара Cubase VST / ReBirth 338 (другие группы ПО, поддерживающего ReWire, перечислены далее), займемся именно ей (для многих пользователей ReWire пока ассоциируется именно с этими продуктами и является для них долгожданной заменой HLD).

ReBirth - ReWire - Cubase VST
Для того, чтобы работать с ReWire, необходимо иметь ReBirth 338 версии 2.01 или выше, и Cubase VST (4.0 для Mac, 3.6 или выше для PC).

Реализация ReWire для этого комплекса программ предлагает 18 независимых каналов передачи аудио данных. При этом имеется одна стереопара (Mix-L/Mix-R) и 16 моно каналов. Основное правило простое: если вы активизируете в Cubase определенный канал, этот канал исключается из стереопары. Например, если в Cubase задействована только стереопара (Mix-L/Mix-R), вы получаете на ней полностью выход мастер-секции ReBirth. Стоит активизировать дополнительный канал (например, 303-1), как он исключается из каналов Mix-L/Mix-R. То же самое относится и к моно каналам 808-Mix и 909-Mix - при активизации отдельного канала под определенный звук (например, 808-BD), этот звук исключается из Mix-канала.

Для всех Mix-каналов и каналов Synth-секций (Mix-L/Mix-R, 808-Mix, 909-Mix, 303-1, 303-2) сохраняется вся автоматизация панорамы, уровня и эффектов в разрыве (Dist, PCF, Comp), установленная в ReBirth. Единственным сигналом, который невозможно убрать из каналов Mix-L/Mix-R, является возврат с линии задержки.

Для активизации каналов в Cubase нужно в меню Audio выбрать пункт ReWire и в появившемся окне нажать нужную кнопку (она загорится зеленым светом). В правой части окна ReWire можно задать пользовательские имена для каналов, если вас не устраивают стандартные.

Окно ReWire в Cubase VST

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

 
Окно микшера Cubase при активных каналах ReWire  
   

Работа через ReWire в Cubase/ReBirth очень проста и никаких дополнительных знаний и умений не требует, поэтому остановимся на правильном запуске приложений для работы с ReWire.

Первым следует запускать Cubase (клиент). Сразу же нужно активизировать окно ReWire и выбрать хотя бы один канал (иначе ReBirth при запуске ругается, хотя в документации про это не сказано ни слова). Затем запускаем ReBirth, который грузится в 1,5-2 раза дольше обычного. Дальнейшая работа с обеими программами ничем не отличается от привычной, за исключением связанного транспорта и совершенной синхронизации.

Все это хорошо, скажете вы, но как обстоят дела с потребными ресурсами при такой работе? Отвечу честно: нужен быстрый процессор. В документации предлагается не менее Pentium 233 (604-й процессор для Mac), но мне кажется, что и Pentium II 400 не всегда хватит. Здесь все зависит от количества используемых в Cubase аудио каналов. С памятью все по-прежнему, - чем больше, тем лучше. Не советую вам пробовать ReWire при RAM меньше 64 Мбайт.

Мое впечатление от тестирования ReWire на разных машинах.
Pentium 133 (независимо от количества RAM) - использовать несерьезно.
Pentium 233 - кроме ReWire-каналов, аудио дорожки практически не "тянут", работается не комфортно.
Pentium II 400 - хорошо, но хочется лучше.
Pentium III 450 - наверное, это основной претендент на работу с технологией (ибо аудио "движок" Cubase и модуль ReWire ReBirth оптимизированы под Pentium III).

При работе ReBirth/Cubase через ReWire мы получаем следующие дополнительные преимущества:
- возможность вывода сигнала на несколько физических выходов из ReBirth;
- не требуются две звуковые платы, так как ReBirth направляет аудио блоки напрямую в VST и, таким образом, совсем не требует для себя звуковой платы;
- меньшие суммарные затраты системных ресурсов, чем при использовании "по старинке" с синхронизацией по HLD;
- ReWire поддерживает ASIO-драйверы, через VST можно выводить сигнал из ReBirth на различные выходы ASIO-совместимых звуковых плат;
- возможность добавлять в микс дополнительные партии из Synth-секций, что равносильно увеличению полифонии ReBirth.

Однако имеются и некоторые подводные камни:
- в ReBirth частота дискретизации ограничена 44,1 кГц. Поэтому, если в Cubase установлено иное значение, ReBirth будет воспроизводить звук с неправильной высотой тона;
- на платформе Mac невозможно использование ReWire и OMS одновременно;
- при отключении опции Play in Background меню Options в Cubase, коммутация между программами нарушается;
- при работе с ReWire необходимо отключить в Cubase поддержку мультипроцессорной работы.

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

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

Propellerhead и Steinberg достаточно поработали над стандартом: они решили нелегкую задачу и, надо сказать, решили быстро и качественно. Исполнительный директор Propellerhead Software говорит по этому поводу следующее: "Мы знаем, что существует огромная потребность в стандартизации этой области, мы с огромным интересом и волнением следим за тем, как другие производители внедряют наш стандарт. Вместе с компанией Steinberg мы доказали, что в разработке программного обеспечения для музыкальных студий нельзя оставаться на месте, нужно двигаться только вперед. Мы искренне верим, что музыканты во всем мире по достоинству оценят преимущество работы музыкальных приложений в тесном контакте друг с другом".

Propellerhead Software выпускает бесплатные лицензии для компаний, производящих коммерческие ReWire-приложения, в общем, "продвигает" технологию как может. В настоящий момент несколько производителей уже анонсировали выход ReWire-совместимых продуктов, например, секвенсоры Opcode Vision DSP и Studio Vision для MacOS, программные синтезаторы BitHeadz Retro AS-1 и Unity DS-1 для MacOS и Windows 95/98.

В ближайшем будущем, вероятно, будут широко использоваться как технология VST 2.0, так и ReWire. Приложения-микшеры (клиенты), скорее всего, будут поддерживать оба протокола (пока это делает только Cubase). Предполагается, что такие приложения смогут работать с обоими типами программных синтезаторов (VST и ReWire-совместимыми) одновременно!

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

Все эти предположения мы с вами, рядовые пользователи, сможем проверить в ближайшее время.


ReBirth RB 338 2.0

  Оценка статьи

Посещений: 15062 | Проголосовавших: 33 | Средняя оценка: 3.7

   

  Комментарии

12.04 10:59
dima
очень интересная статья. хотелось бы только узнать какйой софт уже поддерживет rewire

В связи с обилием спама размещение комментариев отключено. Пользуйтесь форумами.

РЕКЛАМА

 
       


Цены на рекламу


Музыкальное Оборудование
www.muzoborudovanie.ru
www.moline.ru
mail@muzoborudovanie.ru
© Агентство ДАТА