12 лет назад 5 октября 2006 в 11:11 326

Раньше все звуковые приложения использовали 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 и многие другие.

Если все это у вас есть, то можете начать музицировать. Главное, помнить, что никакие технологии не заменят интересных музыкальных идей и таланта.

Особенности
ASIO 2.0 и VST 2.0

В 1999 году компания Steinberg анонсировала новую версию единого стандарта драйверов для звуковых карт – ASIO 2.0 – и новую версию подключаемых модулей – VST 2.0.
Основные особенности ASIO 2.0:
– механизм синхронизации с точностью до сэмпла при работе с цифровым интерфейсом формата ADAT;
– запуск нескольких приложений, использующих драйвер ASIO 2.0;
– возможность прямого мониторинга любого входа через любой выход;
– обратная совместимость с ASIO 1.0.

Особенности VST 2.0:
количество используемых модулем параметров увеличено до 16;
– стало возможным управление параметрами посредством MIDI, что позволяет, например, создавать программные синтезаторы и сэмплеры;
– возможно управлять временем задержки в зависимости от темпа композиции;
– стала возможной самостоятельная адаптация модуля к условиям использования (стерео или моно, в зависимости от установки в разрыв или в посыл-возврат);
– возможность ввода параметров с клавиатуры.

Артем Инджикян

Никто не прокомментировал материал. Есть мысли?