|
Музыкальная фантASIO
Обработка звука в реальном времени
Артем Инджикян
Mr.Clifton@mail.ru
Раньше на нашем телевидении существовала передача "Пойми меня". Помните
такую? Так вот, хочу у вас спросить: какие ассоциации у вас возникают, когда вы
слышите слово ASIO? Что-то, связанное со звуком? И все? Так, будем это
поправлять…
Раньше все звуковые приложения использовали VxD-драйверы, работающие на
интерфейсе MME (Multimedia Extension). Интерфейс этот был придуман Microsoft.
Приложения проигрывали музыку, пользователи ее слушали, и было бы все
замечательно, вот только для музыкальных надобностей не подходили эти драйверы
из-за своей чрезвычайной медлительности.
Хотя слушать музыку через них было можно, но вот обрабатывать звук в реальном
времени - нет. Проблема интерфейса MME заключалась в том, что музыкальные
приложения "разговаривали" со звуковой картой не напрямую, а через операционную
систему. А поскольку ни одна из Windows, существующих на сегодняшний день, не
проектировалась как система реального времени, "разговор" получался с большой
(если не сказать, огромной) задержкой.
Нужен был единый стандарт для драйверов, который бы дал возможность приложениям
общаться со звуковыми платами без посредников и, соответственно, с минимальными
задержками. И этот стандарт был создан компанией Steinberg, которая дала ему
звучное имя ASIO (Audio Stream Input / Output - "ввод / вывод звукового
потока"). Выигрыш был налицо: низкая задержка, высокое качество обработки и
сравнительно небольшая загрузка процессора.
Поэтому производители более-менее серьезных звуковых плат стали писать свои
ASIO-совместимые драйверы. Поняв, что их обходят, подопечные Microsoft выпустили
свою версию драйверов с низкой задержкой под названием WDM (Windows Driver
Model). Эти драйверы нашли свое применение как в обычной пользовательской жизни,
так и в профессиональном мире (например, в приложениях фирмы Cakewalk), но, тем
не менее, большая часть серьезных музыкальных программ все-таки использует ASIO,
потому что эта архитектура успела стать стандартом де-факто для производителей
программного обеспечения и железа.
Справедливости ради нужно сказать, что существует еще интерфейс GSIF,
используемый в программных сэмплерах Gigasampler и Gigastudio. У него задержки
вообще практически отсутствуют, однако интерфейс этот поддерживают пока только
полу- и профессиональные звуковые платы. И, к тому же, он позволяет обрабатывать
только MIDI-сигнал.
Что же нужно для того, чтобы обработать звук в реальном времени? Во-первых,
нужен собственно звук, который будет подвергнут обработке. Этот звук можно
извлечь из любого устройства, которое подключается к входу звуковухи
(MIDI-клавиатура, электрогитара, микрофон, микшерный пульт и т. п.), или из
глубин компьютера (например, щелкнуть мышкой в секвенсоре на какой-нибудь ноте).
Во-вторых, не помешает программа-хост, которая будет общаться с ASIO-драйвером и
обрабатывать звук одним или несколькими эффектами. В качестве такой программы
разумно использовать одну из предлагаемых Steinberg. Например, Cubase или
Nuendo. В-третьих, необходимы сами эффекты. Обычно эти эффекты либо встроены в
программу-хост, либо подключаются в качестве плагинов. Если мы остановили свой
выбор на Cubase, то основной стандарт плагинов, подключаемых к ней, называется
VST (Virtual Studio Technology).
Этот интерфейс разработан все той же Steinberg и позволяет загружать виртуальные
инструменты и процессоры эффектов и ими обрабатывать звук. На сегодняшний день
существует огромное количество различных VST-эффектов - от бесплатных маленьких
эффектиков до гигантских монстров стоимостью в сотни долларов.
Еще одной важной составляющей обработки звука в реальном времени является
ASIO-совместимый драйвер звуковой платы. Если разработчики по каким-то причинам
сочли, что их карточка не будет поддерживать ASIO, а альтернативных драйверов
никто для нее не сделал, то низкой задержки добиться не удастся. Из широко
распространенных на сегодняшний день плат ASIO поддерживают: Sound Blaster Live!
(с kХ-драйверами), Audigy, Audigy2 и многие другие.
Если все это у вас есть, то можете начать музицировать. Главное, помнить, что
никакие технологии не заменят интересных музыкальных идей и таланта.
|