Audio Stream Input/Output![]() Audio Stream Input/Output (ASIO; «ввод-вывод потоковых аудиоданных») — протокол передачи данных с малой задержкой (англ. low-latency), разработанный компанией Steinberg в 1997 году[1]. Протокол обеспечивает приложениям стандартный программный интерфейс к аудиоустройствам и решает две основные задачи:
ASIO реализуется в виде программно-аппаратного драйвера для звуковых карт, обеспечивающего низкий уровень задержки передачи аудиосигнала и высокую точность синхронизации[2]. В отличие от наиболее распространённых в пользовательской среде Windows средств вывода (например, Microsoft DirectSound), ASIO предоставляет прямой доступ к аппаратуре, что позволяет использовать виртуальные студии, секвенсоры и аудиоредакторы для реального времени обработки звука[3]. Технические особенностиПротокол обеспечивает обход промежуточных программно-логических слоёв Windows: аудиопоток минует системный микшер и поступает напрямую в драйвер устройства[4], что уменьшает задержки передачи, а также позволяет получить доступ ко всем каналам устройства напрямую и отдельно. ASIO исключает использование микшерного ядра Windows Audio (KMixer), за счёт чего достигается битовая идентичность потока (bit-perfect)[3]. Спецификация поддерживает различные частоты дискретизации, форматы (16-, 24-, 32-битные целочисленные и 32/64-разрядные с плавающей запятой), произвольное число каналов и реализацию мониторинга с нулевой задержкой[5]. ИсторияПервоначальная версия ASIO была внедрена в студийных приложениях Steinberg (в частности, Cubase) в 1997 году[6]. В 1999 вышел ASIO 2.0, в который были добавлены функции прямого мониторинга (direct monitoring) и поддержки синхронизации цифровых аудиоустройств[7]. Версия ASIO 2.3 (с 2013 года) дополнила спецификацию средствами детектирования перегрузки и расширенными методами работы с внутренними буферами, а также поддержкой 64-разрядных ОС и формата DSD[8][9]. Применение и совместимостьASIO преимущественно применяется под Windows, где имеет уникальную востребованность из-за особенностей традиционной аудиоподсистемы ОС[10]. В Windows Vista KMixer был удалён и заменён драйвером WaveRT[11], который не реализует синхронизацию аудиоустройств и не поддерживает внешнее тактирование[12]. В 2024 году объявлена перспектива встроенной поддержки ASIO в Windows благодаря USB Audio Class 2 driver[13]. На платформах Mac OS X и Linux традиционно используются Core Audio и ALSA соответственно[10]. Для запуска ASIO-приложений в Linux/WINE существует проект wineasio на базе звукового сервера JACK[14]. ЛицензированиеТехнология ASIO запатентована Steinberg Media Technologies. Для разработки совместимых продуктов требуется бесплатная (нероялти) лицензия SDK ASIO с указанием авторских и товарных знаков[15]. См. такжеWASAPI[англ.] / WASAPI Exclusive[16][17] Примечания
|