Audio Interface Library

Материал из Old-Games.RU Wiki
Перейти к навигации Перейти к поиску
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Audio Interface Library (AIL) - популярный пакет промежуточных драйверов (middleware) звуковых карт для DOS. Первоначально разрабатывался Джоном Майлсом (John Miles) для его собственной компании Miles Design; впоследствии пакет был передан компании RAD Game Tools и переименован в Miles Sound System, под этим именем продается и поддерживается до сих пор.

Пакет представляет собой набор PCM и MIDI-драйверов разных звуковых карт, а также файлы с патчами для воспроизведения MIDI, так называемые GTL (Global Timbre Library). Собственной утилиты для определения и настройки звуковых карт пакет не включает, данный процесс оставлен на усмотрение разработчика игр. Сперва поддерживались лишь несколько звуковых карт, но в процессе развития пакета список оборудования существенно вырос.

Существуют принципиальные версии для реального режима (драйверы имеют расширение ADV) и защищенного режима (расширение DLL). Пакет для защищенного режима называется AIL/32 и поддерживает сокращенный по сравнению с AIL список оборудования. Также существует пакет AIL/16 для 16-битного защищенного режима, но на его базе известны всего несколько игр. Более поздний пакет Miles Sound System имеет несколько иную структуру и в данной статье не рассматривается.

Список драйверов для воспроизведения PCM:

  • ALGDIG.ADV (A32ALGDG.DLL) - Adlib Gold
  • ARIADIG.ADV (A32ARDG.DLL) - карты на базе процессора Sierra Semiconductor ARIA
  • AUDDRVDG.ADV - ESS AudioDrive
  • GF1DIGI.ADV (GUSDIG32.DLL) - карты Gravis Ultrasound на базе процессора GF1
  • PASDIG.ADV (A32PASDG.DLL) - MediaVision Pro AudioSpectrum и совместимые (Plus, 16, Studio 16)
  • SBDIG.ADV (A32SBDG.DLL) - Creative Sound Blaster 1.0, 1.5, 2.0; MediaVision Thunderboard
  • SBPDIG.ADV (A32SBPDG.DLL) - Creative Sound Blaster Pro и совместимые
  • VESADIG.ADV - оборудование, совместимое со стандартом VESA VBE/AI

Список драйверов для воспроизведения MIDI:

  • ADLIB.ADV (A32ADLIB.DLL) - Adlib MSC
  • ADLIBG.ADV (A32ALGFM.DLL) - Adlib Gold
  • ARIATSR.ADV - карты на базе процессора Sierra Semiconductor ARIA (работает через резидентный драйвер карты MIDITSR)
  • ARIAXMID.ADV (A32ARXM.DLL) - карты на базе процессора Sierra Semiconductor ARIA
  • AUDDRVFM.ADV - ESS AudioDrive
  • GENMIDI.ADV, GENMID.ADV - General MIDI
  • GF1MIDI.ADV (GUSMID32.DLL) - карты Gravis Ultrasound на базе процессора GF1 (требуется утилита ULTRAMID)
  • MMSYNTH.ADV - карты стандарта ASC Media Master, например Omni Labs Audio Master
  • MT32MPU.ADV (A32MT32.DLL) - Roland MT-32, MT-100, RA-50, CM-32L, CM-64, CM-500, LAPC-I
  • MT32SB.ADV (A32MT32S.DLL) - Roland MT-32, MT-100, RA-50, CM-32L, CM-64, CM-500 через MPU-порт Sound Blaster
  • MULTISND.ADV - Turtle Beach Multisound Classic (на базе E-MU Proteus)
  • PASFM.ADV (A32PASFM.DLL) - MediaVision Pro AudioSpectrum
  • PASOPL.ADV (A32PASOP.DLL) - MediaVision Pro AudioSpectrum Plus, Pro AudioSpectrum 16, Pro Audio Studio 16
  • PCSPKR.ADV (A32SPKR.DLL) - PC Speaker
  • SBFM.ADV (A32SBFM.DLL) - Creative Sound Blaster 1.0, 1.5, 2.0; MediaVision Thunderboard
  • SBAWE32.ADV (A32AWE32.DLL) - Creative Sound Blaster AWE32 и AWE64
  • SBP1FM.ADV (A32SP1FM.DLL) - Creative Sound Blaster Pro
  • SBP2FM.ADV (A32SP2FM.DLL) - Creative Sound Blaster Pro 2.0, Sound Blaster 16
  • SC32MPU.ADV - Roland Sound Canvas (SCB-55, SCC-1 и другие)
  • TANDY.ADV (A32TANDY.DLL) - трехголосный синтезатор Tandy 1000
  • VESAMID.ADV - оборудование, совместимое со стандартом VESA VBE/AI
  • WAVE.ADV - Creative Wave Blaster
  • WSS.ADV, SENSAT.ADV - Microsoft Windows Sound System и совместимые, например Tandy Sensation

Настройка оборудования

Драйверы AIL поддерживают произвольные значения адреса, IRQ и DMA для любой карты. Однако из-за отсутствия в пакете утилиты для настройки наличие возможности менять эти параметры остается на усмотрение разработчика конкретной игры. В более позднем пакете Miles Sound System появилась утилита для настройки.

Форматы файлов

AIL поддерживает загрузку и проигрывание форматов VOC (PCM-звук) и XMI (MIDI-музыка). Для конвертации MIDI-файлов в формат XMI имеется утилита MIDIFORM.

Загрузка патчей

Для оборудования, поддерживающего управление патчами, предусмотрена загрузка последних из файлов GTL (Global Timbre Library). Необходимость в загрузке патчей из GTL определяется автоматически при загрузке XMI-файла, если последний использует тембры, отличные от стандартных для данного синтезатора. В случае OPL2 и OPL3 любой инструмент требует загрузки из GTL, поскольку OPL не имеют стандартных тембров.

Известные GTL:

  • .AD - для OPL2-совместимых карт
  • .OPL - для OPL3-совместимых карт
  • .MT - для Roland MT-32 и Gravis Ultrasound

Для определенного оборудования вместо GTL используются иные механизмы управления патчами.

Sierra Semiconductor ARIA - драйвер ARIAXMID.ADV при старте загружает управляющую информацию из GM1.BNK или GM2.BNK, в зависимости от объема ROM (512K или 1024K).
Turtle Beach Multisound Classic - используются специфическая утилита PRESETS с банками формата MPP, которые на деле представляют из себя набор SYSEX-команд для имеющегося на карте синтезатора Proteus 1/XR.
Gravis Ultrasound - несмотря на наличие механизма загрузки патчей через GTL, чаще всего используется специфическая утилита LOADPATS и патчи в формате PAT.
Sound Blaster AWE32, AWE64 - механизма загрузки через GTL нет, альтернативные механизмы не поддерживаются. Поддержка загрузки банков SBK и SF2 появилась только в Miles Sound System.

Игры

Использующие AIL игры получили широкое распространение в начале-середине 90-х годов. Некоторые известные названия: