Древности: чем хуже, тем лучше или особенности Sound Blaster Pro 2
В предыдущей статье я постарался описать весь спектр звуковых карт эпохи MS-DOS, но не то, чтобы сильно в этом преуспел. С конца восьмидесятых до середины девяностых многие производители экспериментировали с технологиями синтеза звука, воспроизведения цифровых записей, ранними протоколами сжатия и спецэффектами. Для продолжения моего проекта по строительству «прокачанного» 386-го компьютера базовых знаний достаточно. А дальше будем разбираться с конкретными железками.
Я остановился на трех звуковых картах для шины ISA, и каждая из них имеет свои особенности. Все три ценятся коллекционерами и строителями ретро-ПК, но поводы для этого разные. Sound Blaster 16 точно соответствует выбранному мной периоду: если бы я покупал новый компьютер в конце 1992 года, то это была бы самая современная звуковая карта от Creative. Sound Blaster Pro 2 чуть постарше в смысле технологий, но ее часто называют лучшей картой для DOS-игр. Sound Blaster AWE64 Gold выпущен позже и просто считается лучшей звуковой картой ISA: за счет качественного аудиотракта и модных разъемов с золочением.
Не буду пытаться устраивать интригу: в 386-й системе на постоянной основе поселится Sound Blaster Pro 2. В этой статье делюсь результатами моих попыток выяснить, почему в отзывах на форуме Vogons, на ютюбе иногда говорят о «более четком звуке» в играх, в то время как поздние звуковые карты, начиная с SB16, оцениваются как звучащие «глухо, нечетко, размыто». Мое небольшое исследование привело к интересному выводу: SB Pro 2 субъективно (не всем) «нравится» больше, потому что система обработки цифрового звука у него более неправильная, чем у последователей.
Все статьи по теме:
0. 1992 год в компьютерной прессе
1. Рассматриваем материнскую плату 386-го компьютера
2. Бенчмарк 386-го процессора и лихие девяностые
3. Трудный выбор звуковой карты для DOS-игр
4. Особенности Sound Blaster Pro 2 < — вы находитесь здесь
Дневник коллекционера старых железок я веду в Телеграмме. Там потихоньку делюсь результатами нового раунда коллекционирования минидисковой техники.
Давайте ознакомимся с претендентами. Начнем с самой новой (ну как, 23 года) Creative Sound Blaster AWE64 Gold. Это слегка улучшенная версия оригинальной карты AWE64, выпущенной в ноябре 1996 года, которая в свою очередь заменила AWE32. Замена получилась сомнительная. Во-первых, в Sound Blaster AWE32 можно было расширять оперативную память для сэмплов табличного синтеза с помощью обычных модулей SIMM, а они на тот момент стоили дешево. В AWE64 сделали проприетарный разъем. Во-вторых, полноразмерная AWE32 сейчас смотрится куда внушительнее «обычной» AWE64. Обе для моей 386-й системы в любом случае слишком новые. Табличный синтез меня пока не очень интересует, да и в Gold-версии на плате распаяны достаточные четыре мегабайта под банки сэмплов. В подборку AWE64 Gold попала просто: эта карта у меня уже была, а если качество звука у более старых карт оказалось бы совсем уж унылым, то я бы мог выбрать этот качественный вариант.
Creative Sound Blaster 16 — первая настоящая 16-битная звуковая карта Creative. По сравнению с более древними, она позволяет воспроизводить аудио с параметрами CD без ограничений. Sound Blaster Pro 2 цифровые данные в формате 44 кгц/16 бит воспроизводит только в моно. По меркам 1992 года это слабый аргумент в пользу SB16: никто тогда не хранил на жестком диске цифровую музыку в WAV или сжатом формате, разве что собственные записи с микрофона. В лучшем случае слушали компакт-диски, подключаемые к аналоговому входу звуковой карты. Игры с сэмплами в CD-качестве на моем компьютере скорее всего не заработают. У меня ранняя версия SB16, и это одновременно и хорошо, и плохо.
Хорошо, так как на моем варианте установлен правильный чип FM-синтеза Yamaha OPL3, такой же, как и на SB Pro 2. Позже Creative сделали собственный вариант синтезатора (известный как CQM), который поначалу звучал несколько не так, как надо. Плохо: в этой ревизии платы присутствует несколько серьезных багов. Один из наиболее важных — это так называемый DMA Clicking Bug. Если просто, в некоторых играх для воспроизведения цифровых музыкальных сэмплов используется механизм Single-Cycle DMA. В этом режиме после воспроизведения сэмпла карта SB16 ранних ревизий издает явно слышимый щелчок. Как это звучит на практике? Этот и другие примеры я привожу с помощью своей любимой игры Prince of Persia. В конце каждого уровня вам нужно открыть дверь на следующий. Звук открытия двери — это на самом деле короткий сэмпл, который повторяется несколько раз, создавая эффект поднимающихся ворот. После каждого микросэмпла SB16 издает щелчок, которого на других звуковых картах нет.
Ну и мой фаворит: купленная в последний момент за совсем небольшие деньги Sound Blaster Pro 2. Как и на ранней версии SB16, адрес (обычно 220), номер прерывания (5 или 7) и канал DMA (1) задаются перемычками прямо на плате. При наличии в файле autoexec.bat магической строчки SET BLASTER=A220 I7 D1 (подробнее) в большинстве игр звуковая карта заработает без каких-либо драйверов — они требуются для дополнительных фич и для регулировки громкости и включения-выключения аналоговых входов. AWE64 Gold поддерживает стандарт Plug and Play, прерывания настраиваются с помощью фирменной утилиты. Впрочем, после настройки они сохраняются, и дальше тоже можно обойтись без драйверов. Одна из причин для постройки «настоящего» ретро-ПК с шиной ISA заключается в том, что DOS-игры обращаются к железу напрямую, ожидая увидеть именно устройство на шине ISA с именно такими параметрами. Более поздние звуковые карты PCI обеспечивают эмуляцию, и как правило работают, но не всегда.
Что еще интересного мы видим на этой плате, кроме перемычек-джамперов и слоя пыли? Три разъема для внешних устройств: для подключения колонок, линейный вход и для микрофона. Отдельные входы для PC Speaker и звука с оптического привода. Колесо регулятора громкости намекает на присутствие на плате усилителя для пассивных колонок. К сожалению, на Sound Blaster Pro 2 этот усилитель неотключаемый, в отличие от SB16. Качества звуку он не добавляет. В свое время дешевые пассивные колонки (АКА пластиковые горшки с динамиками) были распространены, и вот эта регулировка громкости в недрах задней части компьютера была совсем неудобной. Сейчас колонки у меня хорошие, с усилителем, и дешевая схема на плате только все портит. Проблему можно решить паяльником и удалением пары элементов, но не хочется портить раритет. На всех трех картах присутствует порт для джойстика или для MIDI-устройства (в SB16 и AWE64 поддерживается стандарт MPU-401, в Pro 2 — не поддерживается), но на данном этапе он интереса не представляет.
Hi-Fi курильщика
Как вообще можно сравнивать звуковые карты друг с другом? Так как это устройства, воспроизводящие звук, я решил начать с объективных замеров качества этого самого звука. Получилось вот что:
Здесь меня больше всего интересует динамический диапазон. В этом тесте в программе RMAA воспроизводится сигнал с частотой 1 Кгц, с максимальной амплитудой. Измеряется разница между сигналом и шумом, который появляется как побочный продукт цифро-аналогового преобразования, так и благодаря особенностям аналоговой части. Показатель хорошего CD-проигрывателя — 96 дБ, кассетной деки — 60дБ, минидискового портативного проигрывателя — 87 дБ. Здесь мы видим, что, во-первых, до CD-проигрывателя не дотягивает даже AWE64 Gold. Разница между «премиальной» AWE64G и SB16 — не огромная. SB Pro 2 ожидаемо шумит больше других, на уровне кассетной техники, за счет неотключаемого усилителя. В правой колонке — результаты интегрированного звука у ноутбука ThinkPad 600. Как видите, вот там все гораздо хуже, чем у любого из более старых устройств.
Посмотрим на амплитудно-частотную характеристику. У ThinkPad 600 происходит какая-то несусветная дичь. У SB16 и AWE64 все более-менее ровно. У Sound Blaster Pro 2 наблюдается некоторый подъем на низких частотах и заметный завал на высоких — и к этому факту мы еще вернемся.
Звук в играх
Ох непростая это тема. В рамках данной статьи я сведу ее к одному нюансу в Sound Blaster Pro 2, хотя отличий между древними звуковыми картами на самом деле больше. В каких-то играх одна карта будет глючить, а другая нет. Где-то звук будет «правильный» именно на карте с настоящим чипом Yamaha, а не с репликой от Creative. Вариантов масса, и надо как-то упрощать задачу. Вот я и упростил, сравнив все три звуковые карты на двух играх: Принц Персии (версии 1.3) и Doom. Сравнения при воспроизведении MIDI-треков даже выкладывать не буду — их там нет. Музыкальная тема в Doom и Prince of Persia звучит одинаково на всех трех картах, а также в Dosbox и на ноутбуке ThinkPad 600. Может быть я не улавливаю каких-то нюансов, но скорее всего эти две игры не так требовательны к железу, как другие программы. Вот так начальную тему Prince of Persia играет звуковая карта Sound Blaster Pro 2:
Интро в «Принце» и дало мне повод для дальнейших исследований. Игра начинается с MIDI-трека, но есть одно исключение: в видео выше на 0:58, звук открываемой двери. Это цифровой аудиосэмпл, и вот он на Sound Blaster Pro 2 звучал как-то заметно иначе, чем на SB16 или AWE64 Gold. Я решил удостовериться, записав звук финальной битвы с «супербоссом» Prince of Persia на двенадцатом уровне. Нормального железа для захвата видео с ретроПК у меня пока нет, поэтому на видео ниже только звук.
Вот оно! Вот! Звук с SB Pro 2 заметно четче, там больше высоких частот. Sound Blaster 16 (а также AWE64, Dosbox и прочие более современные звуковые системы) на этом фрагменте звучат как-то более скучно. Как так получилось? Сопоставив информацию на форумах, я пришел к следующему объяснению. Тут я вынужден оставить важную ремарку: я не специалист. Если где-то ошибся в формулировках, буду рад уточнениям.
Так вот, согласно теореме Котельникова можно точно записать аналоговый сигнал в цифровой форме и воссоздать его, если его частота не превышает половину частоты дискретизации. Для CD частота дискретизации составляет 44100 Герц, соответственно аналоговый сигнал с частотой до 22050 килогерц можно записать и затем воспроизвести достоверно. В теории, а на практике возникают сложности, и в данном случае нам интересны сложности преобразования цифрового сигнала в аналоговый, для последующего усиления и передачи на колонки или наушники.
Цифро-аналоговые преобразователи не идеальны, и имеют тенденцию, помимо основного сигнала, создавать его фантомную копию с частотами в два раза выше, чем надо. Возникает эффект алиасинга: например, если на входе есть синусоидальный сигнал с частотой 12 килогерц, на выходе мы получаем нужные 12, а также паразитные сигналы с частотой 24, 36 килогерц и так далее. Дальнейшее усиление может привести к неправильной обработке этих высокочастотных сигналов и проникновению артефактов в слышимый диапазон частот. Борются с этим двумя способами: оверсэмплингом (подаем на ЦАП цифровой поток с частотой не 44100, а 88200 кгц или больше) или простым аналоговым фильтром, который после ЦАП срезает все частоты выше 20 килогерц, что считается пределом возможностей человеческого уха.
Оверсемплинг применяется по умолчанию на современных устройствах, но в начале девяностых это была достаточно дорогая технология. И да, если мы строим CD-проигрыватель, то все просто — частота дискретизации у нас одна. Проблема компьютерного звука в том, что эти частоты могут быть разные. В случае Принца Персии мы имеем дело с аудиосэмплами, записанными с частотой дискретизации 11025 килогерц. В таком формате мы можем сохранить и передать звук с частотой не более, чем 5,5 килогерц, а это достаточно мало. И вот поставьте себя на место проектировщика звуковой карты: в одной игре используется звук с частотой дискретизации 11025 Гц, в другой — 22050, в третьей — «по стандарту CD». Судя по всему, начиная с Sound Blaster 16 Creative использовала динамический аналоговый фильтр, который «срезал» частоты в соответствии с форматом исходного цифрового сигнала. В Sound Blaster Pro 2 и, возможно, в более ранних звуковых картах, использовался единственный аналоговый фильтр, который плавно отсекал высокие частоты: отсюда в моих замерах падение на 6дБ на частоте 15 килогерц.
Но для сэмплов Prince of Persia это недостаточно. Как это проверить? Давайте сгенерируем в программе Audacity синусоидальный сигнал с частотой 5 килогерц. В идеальных условиях при разложении частот он должен выглядеть так:
Сохраним этот сигнал с частотой дискретизации 11025 килогерц, воспроизведем на Sound Blaster 16 и запишем. Получается вот что:
Добавились искажения, но в целом все нормально. А теперь воспроизведем такой же аудиофайл на Sound Blaster Pro 2:
Искажений больше, но главное — появилась ранее отсутствовавшая копия сигнала в районе 15 килогерц. Вот эти искажения на видео с битвой из Prince Of Persia мы и слышим. В оригинальных аудиосэмплах их нет, это звуковая карта добавляет отсебятину. За счет этого и звучит «иначе», по сравнению с Sound Blaster 16 и всеми более современными звуковыми картами. И кому-то (например мне) кажется, что звучит она лучше. Хоть и неправильно. В любой другой аудиосистеме я бы сказал: ну нет, мы будем искать что-то более приличное. Но представьте себе разработчика DOS-версии «Принца» в 1989 году, который тестировал звук на еще более ранних версиях звуковых карт. Он настраивал звучание цифровых сэмплов так, чтобы они нормально звучали на том, технически несовершенном железе. Получается, что такой звук с искажениями — он более правильный?
Судя по голосованию (относительно видео с битвой на мечах) в моем Телеграм-канале, мнения разделились. Повторюсь: в 1992 году важно было, есть у тебя хоть какая-то звуковая карта, или нет. А не такие нюансы. Никто и не задумывался про точность воспроизведения звука, главное чтобы звук не ограничивался PC спикером. Но сейчас мы можем выбирать, и делать этот выбор осознанно. И выходит, что мой выбор — это устройство для воспроизведения звука, оказавшееся объективно худшим из трех кандидатов. Мне нравится, как оно звучит, но далеко не все это мнение разделяют.
Выводы у меня получаются такие. Sound Blaster 16 — не самый оптимальный выбор, не из-за фич, но из-за багов. Creative AWE64 Gold чуть менее шумная карта, она менее подвержена наводкам от другого компьютерного железа. В целом это солидный выбор для ретроПК, но кажется я ее поставлю в 486-й компьютер. В 386-м поселится Sound Blaster Pro 2: как наиболее соответствующая эпохе карта, и благодаря звуку, который отличается от других устройств более позднего периода. Решено! Пора добавить к этому РетроПК оптический привод и посмотреть, что понимали в 1992 году под термином «мультимедиа».