Звуковые системы
для IBM PC
ВВЕДЕНИЕ
Взаимодействие человека с ЭВМ должно быть прежде всего взаимным ( на то оно и общение ). Взаимность, в свою очередь, предусматривает возможность общения как человека с ЭВМ, так и ЭВМ с человеком. Неоспоримый факт, что визуальная информация, дополненная звуковой, гораздо эффективнее простого зрительного воздействия. Попробуйте, заткнув уши, пообщаться с кем-нибудь хотя бы минуту, сомневаюсь, что вы получите большое удовольствие, равно как и ваш собеседник. Однако пока многие ортодоксально настроенные программисты/ проектировщики до сих пор не хотят признавать, что звуковое воздействие может играть роль не только сигнализатора, но информационного канала, и соответственно от неумения и/или нежелания не используют в своих проектах возможность невизуального общения человека с ЭВМ, но даже они никогда не смотрят телевизор без звука. В настоящее время любой крупный проект, не оснощенный средствами multimedia (в дальнейшем под словом "средства multimedia" мы будем прежде всего понимать совокупность аппаратно/программных средств, дополняющие традиционно визуальные способы взаимодействия человека с ЭВМ) обречен на провал.
ОСНОВНЫЕ МЕТОДЫ ОЗВУЧИВАНИЯ
Есть много способов заставить компьютер заговорить или заиграть.
1. Цифроаналоговое преобразование ( Digital to Analogue (D/A) conversion ). Любой звук (музыка или речь) содержаться в памяти компьютера в цифровом виде ( в виде самплов ) и с помощью DAC трансформируются в аналоговый сигнал, который подается на усиливающую аппаратуру, а затем на наушники, колонки, etc.
2. Синтез. Компьютер посылает в звуковую карту нотную информацию, а карта преобразует ее в аналоговый сигнал ( музыку ). Существует два способа синтеза :
а) Frequency Modulation (FM) synthesis , при котором звук воспроизводит специальный синтезатор, который оперирует математическим представлением звуковой волны (частота, амплитуда, etc ) и из совокупности таких искусственных звуков создается практически любое необходимое звучание.
Большинство систем, оснащенных FM-синтезом показывают очень неплохие результаты на проигрывании "компьютерной" музыки, но попытка симулировать звучание живых инструментов не очень хорошо удается. Ущербность FM-синтеза состоит в том, что с его помощью очень сложно (практически невозможно) создать действительно реалистическую инструментальную музыку, с большим наличием высоких тонов (флейта, гитара, etc). Первой звуковой картой, которая стала использовать эту технологию, был легендарный Adlib, который для этой целей использовал чип из синтеза Yamaha YM3812FM. Большинство Adlib-совместимых карт (SoundBlaster, Pro Audio Spectrum) также используют эту технологию, только на других более современных типах микросхем, таких как Yamaha YMF262 (OPL-3) FM.
б) синтез по таблице волн (Wavetable synthesis), при этом методе синтеза заданный звук "набирается" не из синусов математических волн, а из набора реально озвученных инструментов - самплов. Самплы сохраняются в RAM или ROM звуковой карты. Специальный звуковой процессор выполняет операции над самлами (с помощью различного рода математических преобразований изменяется высота звука, тембр, звук дополняется спецэффектами).
Так как самплы - оцифровки реальных инструментов, они делают звук крайне реалистичным. До не давнего времени подобная техника использовалась только в hi-end инструментах, но она становится все более популярной теперь. Пример популярной карты, использующей WS Gravis Ultra Sound ( GUS ).
3. MIDI. Компьютер посылает на MIDI-интерфейс специальные коды, каждый из которых обозначает действие, которое должен произ вести MIDI-устройство ( обычно это синтезатор ) (General) MIDI - это основной стандарт большинства звуковых плат. Звуковая плата, самостоятельно интерпретирует, посылаемые коды и приводит им в соответствие звуковые самлы ( или патчи ), хранящиеся в памяти карты. Количество этих патчей в стандарте GM равно 128. На PC - совместимых компьютерах исторически сложились два MIDI-интерфейса : UART MIDI и MPU-401. Первый рализован в SoundBlaster's картах, второй использовался в ранних моделях Roland.
ЗВУКОВЫЕ ВОЗМОЖНОСТИ СЕМЕЙСТВА IBM PC
PC
Уже на самых первых моделях IBM PC имелся встроенный динамик, который однако не был предназначен для точного воспроизведения звука: он не обеспечивал воспроизведения всех частот слышимого диапазона и не имел средств управления громкостью звучания. И хотя PC speaker сохранился на всех клонах IBM до сего дня - это скорее дань традиции, чем жизненная необходимость, ибо динамик никогда не играл сколь-нибудь серьезной роли в общении человека с ЭВМ.
PCjr
Однако, уже в модели PCjr появился специальный звуковой генератор TI SN76496A, который можно считать предвестником современных звуковых процессоров. Выход этого звукового генератора, мог быть подключен к стерео-усилителю, а сам он имел 4 голоса ( не совсем корректное высказывание - на самом деле микросхема TI имела четыре независимых звуковых генератора, но с точки зрения программиста это была одна микросхема, имеющая четыре независимых канала ). Все четыре голоса имели независимое управление громкостью и частотой звучания. Однако из-за маркетинговых ошибок модель PCjr так и не получила широкого распространения, была об'явлена неперспективной, снята с производства и поддержка ее была прекращена. С этого момента фирма IBM больше не оснащала свои компьютеры звуковыми средствами собственной разработки. И с этого момента место на рынке прочно заняли звуковые платы.
ОБЗОР ЗВУКОВЫХ КАРТ
Covox
Своеобразный "внебрачный сын" PC и желания человека услышать приличный звук с минимумом финансовых затрат. Covox недаром называют "SoundBlaster для бедных" ибо стоимость его на порядок ниже самой дешевой звуковой карты. Суть Covox'a крайне проста - на любой стандартной IBM-совместимой машине обяза тельно присутствует параллельный порт (обычно он используется под принтер ). На этот порт можно посылать 8-ми битовые коды, которые после простого смешивания на выходе дадут вполне удовлетворительное mono звучание.
К сожалению из-за того, что основные производители программного обеспечения игнорировали это простое и остроумное устройство ( сговор с производителями звуковых карт), то никакой программной поддержки covox так и не получил. Однако, не составляет труда самостоятельно написать драйвер для covox'a и заменить им драйвер любой 8-ми битовой звуковой карты, которая используется в DAC-режиме, или немного изменить код программы, перенаправив 8-ми битовую оцифровку, скажем в 61-ый порт ППИ.
The SoundBlaster Pro (SB-pro) The Creative Labs' SoundBlaster (SB) была первой Adlib-совместимой звуковой картой, которая могла записывать и играть 8-ми битовые самплы, поддерживала FM-синтез с помощь микросхемы Yamaha YM3812. Оригинальная mono-модель SB была оснащена одной такой микросхемой, а более новая стерео-модель - двумя. Наиболее продвинутая модель из этого семейства SB-pro. 2.0, эта карта содержит наиболее современную микросхему FM-синтеза (стандарт OPL-3). SB-pro способен производить оцифровку/проигрывание реального звука с частотой до 44.1 Hz ( частота CD-проигрывателей ) в стерео режиме. Также с помощь внешних драйверов эта карта поддерживает General MIDI интерфейс. Содержит встренный 2-х ватный предусилитель и контроллер CDD ( обычно Matsushita ).
Поддерживаемые входные устройства :
- Microphone,
- external line in.
Поддерживаемые выходные устройства :
- Audio,
- line out,
- SB compatible MIDI,
- SB CD-ROM interface.
SB-pro была полностью совместима с Adlib-картой, что обеспечила ей потрясающей успех на рынке недорогих домашних звуковых систем ( прежде всего это касалось игр). И хотя профессионалы были недовольны неестественным "металлическим" звуком, да и симуляция MIDI оставляла желать лучшего, но эта карта пришлась по вкусу многочисленным поклонникам компьютерных игр, которые стимулировали разработчиков вставлять в свои игры поддержку SundBlaster-карт, чем окончательно закрепили лидерство Creative Labs на рынке. И теперь любая программа, которая претендует на то, что бы издавать звук на чем-то отличным от PC-speaker просто обязана поддерживать, ставшим de-facto стандартом SB. В противном случае она рискуeт быть просто не замеченной.
SoundBlaster 16
SoundBlaster 16 (SB 16) это улучшенная версия SB-pro, котoрая способна записывать и воспроизводить 16-и битовый стерео-звук. И конечно SB16 полностью совместима с Adkib & SB. SB-16 способна проигрывать 8-и и 16-и битовые стерео самплы на частоте до 44.1 KHz с динамической фильтрацией звука ( эта карта позволяет в процессе проигрывания подавить нежелательный диапазон частот ). SB16 также может быть оснащен специальной микросхемой ASP (Advanced (Digital) Signal Processor), который может осуществляю компрессию/ декомпрессию звука "на лету", разгружая тем самым CPU для выполнения других задач. Подобно SB-pro SB-16 осуществляет FM-синтез с помощью микросхемы Yamaha YMF262 (OPL-3). Также возможно дополнительно установить специальную плату расширения WaveBlaster, который обеспечивает более качественное звучание в режиме General MIDI.
Pro Audio Spectrum Plus and Pro Audio Spectrum 16 The Media Vision's
Pro Audio Spectrum Plus и -16 (PAS+ and PAS-16), это одна из многих попыток пополнить семейство SB-подобных карт. Обе карты почти идентичны, исключая то, что PAS-16 поддерживает 16-и битовый самплинг. Обе карты способны доводить частоту проигрывания до 44.1 KHz, динамически фильтровать звуковой поток. Подобно SB-pro и SB-16, PAS осуществляет FM-синтез через микросхему Yamaha YMF262 (OPL-3)
Поддерживаемые входные устройства :
- Microphone,
- external line in.
- PC speaker ( wow ! ).
Поддерживаемые выходные устройства :
- Audio line out (headphones, amplifier),
- SCSI (not just for CD-ROM, but also for tape-streamers,
optical drives, etc),
- general MIDI (requires optional MIDI Mate),
- joystick.
Несмотря на то, что Media Vision утверждает, что ее изделия полностью совместимы со стандартом SB, однако это не совсем так и многие люди получали неприятные неожиданности от этой карты, когда пытались использовать ее как SB. Однако, это некоторым образом компенсируется великолепным стерео-звучанием и очень низким уровнем шумов.
The Gravis UltraSound
The Advanced Gravis'
Gravis UltraSound (GUS) это несомненный лидер в области WS-синтеза. Стандартный GUS имеет "на борту" 256 или 512 килобайт памяти для хранения самплов ( называемых так же патчами ), с помощью проигрывания которых GUS и генерирует все звуковые эффекты и музыку. GUS может работать на частоте самплирования до 44.1 KHz и может осуществлять 16-и битовое стерео-звучание. С записью несколько сложнее - первоначально стандартные модели GUS осуществляли только 8-и битовую запись звука, но новые модели (GUS MAX) способны осуществлять и 16-и битовую запись. В целом звук, воспроизводимый GUS'ем является более реалистичным (из-за использования WS-синтеза, вместо FM), ну и разумеется GUS обеспечивает великолепную поддержку General MIDI из-за того, что ему нет необходимости "конструировать" все разнообразие звуков из набора синусообразных волн, - в его распоряжении находится специальная библиотека размером около 6M, инструменты из которой он может загружать в процессе воспроизведения.
Поддерживаемые входные устройства :
- Microphone,
- Audio Line In.
Поддерживаемые выходные устройства :
- Audio Line Out,
- Amplified Audio Out,
- speed compensating joystick (up to 50 Mhz),
- general MIDI (requires optional MIDI adapter),
- SCSI CD-ROM (requires optional SCSI interface card).
GUS не является SB-совместимой картой и не поддерживает стандарта SB или Adlib. Некоторая совместимось, однако может быть достигнута путем программной эмуляции с помощью специальных драйверов SBOS (Sound Board Operating System), поставляемых вместе с GUS'ем. Однако на практике, удовлетворительная работа SBOS явление скорее случайное, чем закономерное. Кроме того SBOS значительно замедляет работу процессора, что делает практически непригодным GUS для работы multimedia приложения, написанных исключительно для SB. Все же исключительные звуковые качества GUS'я заставили производителей программного обеспечения включать драйверы для этой карты в свои изделия. И хотя поддержка стандарта GUS еще не стало таким-же обычным делом, как и поддержа стандарта SB, но не вызывает никакого сомнения, что второй по значимости после SB является карта GUS.
Проблемы продвижения GUS на современный игровой рынок затруднено тем, что в настоящее время 45% игр пишется на Miles Design AIL 2.0 - 3.15, 50% на HMI SOS 3.0 - 4.0, остальные 5% на самопальных звуковых библиотеках. Как следует поддерживать GUS научилась только AIL 3.15 и то только почти. До этого (AIL 3.0-, HMI 4.0-) перед загрузкой игры запускалась LOADPATS.EXE или что-то подобное (MEGAEM...), которая грузит все (!!!) тембры, которые использует данная игра ( а всего в стандартной 512-и килобайтной памяти GUS'я помещается 30-50 тембров ), в AIL 3.15 чуть-чуть гуманнее - тембры грузятся по мере надобности (почти) но не выгружаются(!!), таким образом ситуция сводится к предыдущей. Я уж молчу, что оригинальные тембры используют редкие единицы фирм производителей и очень хорошо понимаю остальных - ради одного GUS'а покупать тембры и "перетягивать" музыку нет смысла. Hе говоря уже о проблемах производителей с созданием музыки под стандартные тембры и придумывании, как бы их запихнуть в 512/256K.
The Roland LAPC-1 and SCC-1
The Roland LAPC-1 это полупрофессиональная звуковая карта, базирующаяся на Roland MT-32Module. LAPC тождественнен MIDI-интерфейсу на PC-картах. Он содержит 128 инструментов. LAPC-1 использует комбинированный способ построения звучания ноты : каждая нота состоит из 4 "partials", каждый из которых может быть самплом или простой звуковой волной. Общее число partials'ов ограниченно 32'я, следовательно одновременно может играть всего 8 инструментов,также присутствует 9-ый канал для перкуссии. Помимо 128-и инструментов LAOC-1 содержит 30 перкуссионных звуков и 33 звуковых эффекта. The SCC-1 это дальнейшее развитие LAPC-1. Подобно LAPC-1 он содержит MPU-MIDI интерфейс, но в в свою очередь является полноценным WS-синтез картой. Он содержит 317 самплов ( патчей ), зашитых во внутреннюю память ROM. Патч может состоять из 24 partials'ов, но большинство патчей состоят из одного partials'a. Одновременно может быть проигранно 15 инструментов и одна перкуссия. Хотя возможность изменения внутренних самплов отсутствует, это в какой-то мере компенсируется наличием двух звуковых эффектов : hall и echo. Одним из самых серьезных недостатков карт семейства Roland является то, что ни одна из них не оснащена DAC/ADC, и не содержит контроллера CD-ROM, что делает невозможным ее применение в системах multimedia, удовлетворяющих стандарту MPC.
Качество звучания LAPC-1 очень высоко. Некоторые патчи ( подобно пианино или свирели ) превосходят по качеству аналогичные инструменты GUS'я. Качество воспроизводимых звуковых эффектов также очень высоко. Качество звука SCC-1 можно признать просто выдающимся. Что