(c) DANGEROUS
Компьютерная музыка... Music оп inter-
rupt, DIGITAL STUDIO, COVOX, SB, GS,
GUS, TURTLE BITCH... MOD, STM, S3M, ХМ,
IT... Компьютерные music compo... Компь-
ютерщики тащатся от компьютерного зву-
ка...
Задумывались ли вы когда нибудь, уважа-
емые господа читатели, для чего вообще
персональный компьютер должен извлекать
звуки? Почему многие пользователи подол-
гу слушают ее, собирают музыкальные мо-
дуля? Безусловно, компьютерные эффекты
прекрасно дополняют игры и демки, но
можно ли назвать их музыкой? Как и
"просто модуля ниоткуда", сотнями храня-
щиеся на дисках многих пользователей и
регулярно переслушиваемые ими? Почему,
например, в мире РС идет постоянное по-
явление новых карт, в мире Амиги появля-
ются новые рlаyerы, дающие, якобы, луч-
шее звучание, а в мире Спектрума звук
эволюционировал от бипера до GS? Похоже,
что в компьютерном мире все помешались
на технических характеристиках звуковых
карт, забыв о том, что компьютер, каким
бы мощным он ни был, не способен родить
музыку. Прикупив более совершенную зву-
ковую карту взамен старой, бежим домой,
в предвкушении наслаждения чистым компь-
ютерным звуком...
A стоит ли он того?
Основываясь на инженерном подходе и
опираясь на технические характеристики,
усвоенные из руководства пользователя,
мы инсталлируем наше приобретение, дрожа
от нетерпения услышать обворожительное
звучание и погрузиться (или воспарить)
сознанием в неизведанные просторы Музы-
кальных Событий. Безусловно, желание
сравнить настоящее с прошлым велико, и
мы, подсознательно вобравши в себя сте-
реотип превосходства нашего приобретения
над предыдущим, начинаем ловить (подсо-
знательно, а иногда и специально) су-
ществующие и несуществующие события. И
доказывать появление оных себе и окружа-
ющим.
Прочитав в паспорте своей аудикарты "16
бит, 44 килогерца" и сравнив это с хара-
ктеристиками компакт-диска - 16 бит, 44
килогерца, неграмотный пользователь уве-
ренно заявляет своим неграмотным друзьям
- у моей карты качество компакт-диска!
То же самое он подсознательно заявляет
сам себе и, "зомбировавшись" собственным
заключением, с наслаждением слушает зву-
ки, издаваемые аудиокартой. При попытке
продемонстрировать "суперзвук" ничего не
понимающим в компьютерах родителям, мама
стремительно удаляется на кухню под
предлогом, что у нее убегает суп, а папа
через некоторое время начинает угрожать,
что если ты сейчас же не сделаешь поти-
ше, то он твой компьютер... (в лучшем
случае выключит).
Почему же не обремененные знаниями о
битах и килогерцах люди не в состоянии
слушать компьютерную музыку, в лучшем
случае равнодушны к ней? В то же время
пользователь получает определенное удо-
вольствие от прослушивания всяких там
mod-ов, stm-ов, хм-ов и т.д. Парадокс?
Давайте разберемся с пресловутыми 16
битами и 44 килогерцами и тогда поймем,
почему ни одна звуковая карта, даже са-
мая дорогая, не родит настоящей музыки и
не проиграет вам модуля с качеством ком-
пакт-диска. Хотя, что такое качество
компакт-диска? Надо полагать, это ка-
чество звука, который мы слышим при его
воспроизведении. Воспроизведении.. опять
же, на чем? (Оказывается, есть разница,
куда компакт-диск запихивать).
Для начала отбросим несовершенство ком-
пьютерного звучания и обратим внимание
на то, что музыкальная ценность подавля-
ющего большинства модулей устремлена к
нулю. Немногие оставшиеся, которые, в
принципе, могут задеть за душу, словно в
клетке, бьются, ограниченные музыкальны-
ми и техническими возможностями ауди-
окарт...
На заре компьютерного бума тот факт,
что компьютер может издавать звуки, по-
хожие на реальные, сводил с ума многих
юзеров, некоторые даже записывали эту
"музыку" на кассеты и потом слушали. Не-
которые пользователи просто зациклились
на этих электронных звучках, погрузились
в мир компьютерной музыки , забыв, что
есть еще и другая музыка - настоящая.
Предвижу возражения, что, дескать, вся
современная музыка создается с помощью
компьютеров. Ответ довольно прост: во-
первых, создается, а не прослушивается.
Во-вторых, такая музыка невысокого поле-
та, как правило, сопроводительная (для
игр, демок) или дискотечная (чтобы своим
интеллектом не мешать "двигать попой" и
думать об особях противоположного пола).
Истинную, авторскую музыку невозможно
создать на компьютере, так как он никог-
да не сможет переживать и в музыке изли-
вать свою душу (нет ее, души-то). Если
даже взять самый навороченный музыкаль-
ный редактор, то все усилия автора по
донесению своего музыкального замысла
разобьются о несовершенство компьютерно-
го цифрового тракта. Пусть даже в ком-
пьютере стоит дорогая аудиокарта.
Чтобы не показаться занудным при описа-
нии всяких музыкальных метафор, развен-
чаю возможности компьютеров с чисто тех-
нической стороны. Я уверен, что этого
вполне достаточно. Придется начать с са-
мого начала. Стиль выберу - "науч-поп",
поэтому читаться должно легко. Никакого
супервысшего образования для впитывания
изложенного ниже материала не требует-
ся. Поначалу будет скучно (возможно).
Каким образом естественный звук перево-
дят в цифровой код? Известно, что, тео-
ретически, непрерывный сигнал с ограни-
ченной полосой частот может быть одно-
значно восстановлен по значениям дис-
кретных отсчетов, если выполнено усло-
вие: F>2f, где F - частота дискретиза-
ции, а f - полоса частот кодируемого на-
ми сигнала (то есть верхняя частота
спектра, которую мы планируем потом вос-
становить). Частота дискретизации пока-
зывает, сколько раз за секунду дигитай-
зер снимет показание амплитуды нашего
сигнала, чтобы затем с помощью АЦП (ана-
лого-цифрового преобразователя) иденти-
фицировать каждую измеренную амплитуду
двоичным кодом.
рис. 1.
Осталось только записать коды в память
- и все. Нетрудно догадаться, что, чем
чаще мы будем снимать показания с сигна-
ла, то есть повышать F, тем больше веро-
ятность зафиксировать всякие мелкие осо-
бенности сигнала. Здесь есть один под-
водный камень. Если верхняя частота циф-
руемого нами сигнала превысит поло-
вину частоты дискретизации, то при
прослушивании мы услышим существен-
ные искажения в виде посторонних призву-
ков (не шума, не скрипа, а именно при-
звуков, которые тянутся синхронно с ос-
новными звуками. Очень заметно на ком-
пьютерах Амига, да и на РС тоже). Чтобы
этого не произошло, надо бы цифруемый
сигнал предварительно обрубить сверху
фильтром низких частот (ФНЧ) с частотой
среза в нашем случае 22.05 килогерца (на
самом деле еще чуть ниже).
Что происходит на практике? У вас в ру-
ках дигитайзер, вы загружаете программу,
которая управляет дигитайзером. После ее
загрузки вы можете выбрать частоту дис-
кретизации (побольше, если надо оцифро-
вать качественней, или поменьше, для
экономии памяти). Поскольку для каждого
конкретного случая нужно иметь конкрет-
ный ФНЧ, то непонятно, на какую частоту
фильтр нужно настроить, если бы он стоял
в дигитайзере. Поэтому его там просто
нет. Далее, практически никто (до по-
следнего времени) не оцифровывал сигнал
16 бит 44.1 кгц - слишком много памяти
потребуется. Посчитаем - 2 байта умножим
на 44100. Будет, грубо говоря, 90 кило-
байт в секунду. Поскольку суммарная дли-
тельность сэмплов у модуля средней пар-
шивости может составлять 10 секунд, то,
если опять посчитать, получится, что мо-
дуль средней паршивости должен занимать
около 900 килобайт - и это только сэмп-
лы! На самом деле так никто не делает.
На компьютерах Амига, например, музыко-
делатели цифруют сэмплы с частотой около
8 кгц в 8-битном формате (звук-то у
Амиги 8-битный). Получается скромненькая
цифра - на секунду звучания сэмпла -
около 8 килобайт. Естественно, звук
страдает. Но ничего, люди слушают, мно-
гим даже нравится.
На РС, кстати, немногим лучше. Только в
последнее время появились 16-битные
сэмплы, но тоже цифрованные на довольно
низкой частоте. К тому же у многих ки-
тайских SoundBlasterob аналоговая часть
настолько плохо выполнена, что различить
8 бит и 16 практически невозможно.
Теперь самое интересное. Если проигры-
вать такие сэмплы на звуковой карте 16
бит 44 кгц, то, по всей вероятности,
сэмпл, оцифрованный на частоте 8 кило-
герц, должен проиграться в 44/8=5.5 раз
быстрее и при этом стать писклявым. Что-
бы этого не произошло, драйвер карты
(или какая другая программа, неважно)
производит пересчет и заставляет кидать
на ЦАП (цифро-аналоговый преобразова-
тель) один и тот же байт, пока не подой-
дет время прихода следующего байта, если
бы сэмпл воспроизводился со своей родной
частотой дискретизации. Так что увеличи-
вай частоту дискретизации, не увеличивай
- сэмпл как игрался, так и будет играть-
ся, и никакого изменения в качестве не
будет. Поэтому к возгласам вашего прия-
теля "У меня все играется на частоте 44
килогерца!" относитесь спокойно.
Теперь опять внимание. Мы не рассмотре-
ли вопрос о работе ЦАПа. Если вы думае-
те, что в проигрывателях CD значения
цифрового кода попросту считываются с
диска, кидаются на ЦАП, а затем поступа-
ют на выход, то вы круто ошибаетесь. Так
бывает только в COVOXax, бытовых компью-
терных звуковых картах да в компьютерных
CD-драйвах. Почему? Потому, что голое
цифроаналоговое преобразование сигнала
не есть его восстановление! Для того,
чтобы получить то, что мы (или не мы)
когда-то подавали на вход АЦП, нужно
произвести именно восстановление!
Для восстановления сигнала, его необхо-
димо пропустить через специальную штуку
- В.Ф - Восстанавливающий Фильтр (фильтр
Котельникова). Тогда на выходе мы и по-
лучим искомый сигнал. Как его реализо-
вать - отдельный вопрос, который я не
буду здесь освещать (это невозможно объ-
яснить на пальцах), скажу только, что
его можно поставить в тракт прохождения
сигнала либо до ЦАПа, либо после него.
В первом случае фильтр будет цифровым,
а во втором - аналоговым. Аналоговые
фильтры Котельникова не делают - очень
сложно, а вот цифровые реализовать мож-
но. (На самом деле идеальный Ф.К. реали-
зовать теоретически невозможно, делают
лишь приближения с разной степенью точ-
ности - чем "идеальнее" фильтр, тем выше
его стоимость). Функция восстанавливаю-
щего фильтра - восстановление сигнала в
рабочей полосе частот, до половины ча-
стоты дискретизации. A также подавление
спектральных составляющих за пределами
рабочей полосы - выше половины частоты
дискретизации.
Восстановление сигнала описывается не-
безызвестной формулой Котельникова, о
которой сейчас говорят все, кому не
лень, которая мудрена и неподготовлен-
ному читателю внушит ужас:
S(Т) - восстановленный сигнал.
Т - время
Si - значение i-го отсчета.
Частью этой формулы является так назы-
ваемая функция Найквиста, которая имеет
важное значение при восстановлении ана-
лового сигнала из цифровой формы, так
как являет собой импульсную реакцию иде-
ального Ф.К.:
Итак, цифровой фильтр. Его задача -
принять кодовую последовательность,
обработать ее и кинуть на ЦАП СОВЕРШЕННО
ДРУПУЮ ПОСЛЕДОВАТЕЛьНОСТь, которая,
пройдя ЦАП, превратится в реальный сиг-
нал.
Если все-таки чуть-чуть проникнуться
формулой Котельникова, то можно прийти к
следующему выводу: операция дискретиза-
ции и восстановления в корне отличаются
друг от друга. Процедура дискретизации
последовательна, то есть достаточно
знать только значение сигнала в мент
взятия отсчета. A для обратного преобра-
зования дискретизированного сигнала в
непрерывный необходимо знать значение
всех отсчетов сразу! То есть идеальный
Ф.К. должен принять в себя ВЕСь исходный
цифровой материал, а затем уже выдавать
на ЦАП свои измышления. Если быть теоре-
тически точным, то на самом деле реакция
на выходе Ф.К. должна появиться до того,
как на него подадут сигнал - посмотрите,
функция Найквиста определена и для отри-
цательного времени! В природе это, ес-
тественно, невозможно, но инженеры из-
вращаются и придумывают всякие обходные
маневры в виде линий задержек и элемен-
тов памяти. В реальности фильтр должен
"помнить", что было ранее, а также
"знать", что будет потом. И чем в более
широких пределах он "помнит" и "знает",
тем качественней фильтр.
Что же конкретно делает цифровой восста-
навливающий фильтр?
Суть процесса в следующем: осуществля-
ется, так называемая передискретизация -
между существующими отсчетами с частотой
ЧЧкгц вставляются дополнительные, вычис-
ленные в соответствии с импульсной ха-
рактеристикой фильтра Котельникова, ко-
торую и отражает вышеупомянутая функция
Найквиста. (Импульсная характеристика -
это реакция на так называемый дельта-
импульс - некий гипотетический импульс,
амплитуда которого бесконечна, а дли-
тельность равна нулю). В дешевых проиг-
рывателях используется 8-кратная пере-
дискретизация (то есть между двумя от-
счетами вставляется еще семь), в доро-
гих - 256-кратная. Это значит, что в
дорогих проигрывателях значения кидаются
на ЦАП с частотой 44.1*256=11289.6 кПц,
т.е. 11.2896 мегагерц! Вот, кстати, одно
из объяснений, почему двухскоростной CD-
ROM стоит тридцать долларов, а хороший
проигрыватель CD - тысячу.
На рисунке показана двухкратная пере-
дискретизация (пунктирные линии) при
восстановлении сигнала, взятого с рисун-
ка 1. Между существующими отсчетами поя-
вились новые - вычисленные передиск-
ретизатором.
Рисунок довольно идеалистичный, так как
на самом деле здесь все должно быть в
цифровых "ступеньках", я же, заведомо
отбросив их, показываю, во что превра-
тился сигнал.
При внимательном сравнении рисунков за-
метна разница форм сигналов - исходного
и восстановленного. Это - свидетельство
малой частоты исходной дискретизации, а
также невысокой передискретизации. (Если
бы передискретизации не было, то форма
восстановленного сигнала отличалась бы
от оригинала катастрофически.) Из-за
этого утеряна информация об участках
сигнала, характеризующаяся наиболее ши-
роким спектром. В востановленном сигнале
пропал острый пик исходного сигнала, а
также резкий спад стал более плавным.
(Кстати, может получиться, что взятие
отсчета все-таки произойдет в момент
"пика", но тогда после восстановления
поднимется уровень сигнала в окрестности
этого "пика". Интересный факт - дважды
цифруем одно и тоже, а результат раз-
ный.)
Важно, что это не недостаток фильтра -
информация о сигнале была утеряна еще в
процессе перевода в цифровой код! Посе-
му, каким бы хорошим не был восстанавли-
вающий фильтр, этот сигнал он уже пра-
вильно не восстановит. Это вовсе не
означает, что появится цифровой скрежет.
Вот он как раз-то и не появится. Фильтр
его прекрасно подавит, а вот музыкаль-
ность сигнала сильно пострадает - в пер-
вую очередь динамика и тембр. При ис-
пользовании сигнала в качестве спецэф-
фектов в играх - по большому счету, на-
плевать, а вот нормальную музыку слушать
будет, мягко говоря, неинтересно. Напри-
мер, невозможно будет отличить, играют
ли живые скрипки или их имитирует синте-
затор, звук двух разных тарелок ударной
установки тоже будет неразличим, скорее
всего он вообще превратится в шипение
(при хорошем фильтре очень чистое), все
будет звучать глухо и т.п, одним словом
- демонстрация мертвых звуков и полная
потеря средств выражения.
Люди, далекие от техники, ищут в музы-
ке прежде всего музыкальную мысль, а
когда им подсовывают компьютерную тара-
барщину, чувствуют дискомфорт.
Почему для восстановления нужно исполь-
зовать именно фильтр Котельникова? Пото-
му, что, руководствуясь его работой,
можно сколь угодно точно вычислить
ИСТИННЫЕ промежуточные значения между
основными отсчетами.
Если бы звуковая карта работала в соот-
ветствии с ИДЕАЛьНОЙ 256-кратной пере-
дискретизацией в соответствии с формулой
Котельникова, то для сэмпла длиной 1 ки-
лобайт идеальный алгоритм ее работы та-
ков: 44100*256=11289600 раз в секунду
умножить 1024 числа на соответствующие
коэффициенты, затем все суммировать. A
для сэмпла длиной 10 килобайт придется
поумножать в 10 раз побольше. (Да, во
втором канале надо будет делать прибли-
зительно то же самое, а у карты AWE64 -
64 канала). К тому же, в процессе вычис-
лений могут возникать числа разрядностью
до 64-х.
Если так продолжать, то на одну звуко-
вую карту можно будет заставить работать
все процессоры в мире. Для упрощения
процедуры берут не все байты, а, скажем,
50 ближайших (реальная цифра), тогда вы-
числительных способностей Пентиума200
вполне хватит для восстановления сигна-
ла, и тогда уже можно кидать это на ЦАП.
Например, в карте General Sound для пе-
редискретизации стоит Z80 на 12мгц. Пе-
редискретизация - по двум соседним от-
счетам, как получится, вернее, как успе-
ется. Реально 3-4-кратная. Интерполяция
там не "по Котельникову", а среднеариф-
метическая, но субъективно чистота звука
улучшается очень сильно. Фильтров же
после ЦАПов там нет никаких - им там уже
просто нечего восстанавливать.
Кстати, если кто непосредственно срав-
нивал звучание GS и Амиги, мог иногда
замечать, что на GS некоторые модуля иг-
раются подозрительно глухо, а некоторые
- совершенно нормально. Это - прямой ре-
зультат передискретизации. В сэмплах,
цифрованных с частотой 8 килогерц, выше
4 килогерц нет никакой музыкальной ин-
формации - поэтому все, что выше - по-
давляется передискретизатором. Вот поэ-
тому и появляется "глухота". Амига же
поставляет вместе с сэмплами приличную
долю высокочастотного шума - отсюда ка-
жущаяся звонкость. Если же сэмпл цифро-
вали на 22 килогерцах, то разница будет
уже почти незаметна.
Известно, что на звуковые карты Пентиу-
мов200 не ставят. Не ставят их и в про-
игрыватели CD. В проигрывателях CD роль
цифрового фильтра-восстановителя выпол-
няет специальный сигнальный процессор,
который только и умеет делать это. A в
РС и Амигах теперь пишут специальные
плейеры, которые с горем пополам произ-
водят какую-то интерполяцию. О ее вер-
ности никто не знает, кроме авторов этих
программ. В одном я уверен - фильтром
Котельникова там даже не пахнет, но звук
они улучшают. (Вернее не улучают, а уби-
рают откровенную цифровую грязь, а заод-
но и немалую часть истинной музыкальной
информации, привнося свою, ложную). Вот
теперь, чем выше передискретизация, тем
чище звук. Именно чище, а не правильней!
Так что о живой музыке забудьте.
Еще огорчение - компьютер при этом не
может выполнять свою прямую функцию по
назначению - его процессор загружен поч-
ти до предела. Об интерполированной му-
зыке в динамических играх пока что речи
тоже нет.
Теперь развенчаю еще один "цифровой
миф", порожденный, в основном, рекламной
кампанией. Это динамический диапазон в
9бдБ. Для тех, кто не знает - это пока-
затель отношения максимального и мини-
мального уровней громкости в системе.
Описывается выражением D=20*lg(мах/min).
Если посчитать по этой формуле динами-
ческий диапазон 16-битовой системы, то
как раз и получим число 96. A что в ре-
альности? У любой цифровой системы есть
один принципиальный недостаток - при ма-
лом уровне громкости возникают, так на-
зываемые, искажения квантования. Ведь,
чем меньше громкость, тем меньше бит
используется для преобразования! При ма-
лом уровне громкости старшие биты цифро-
вого слова сидят себе в нуле и слыхом не
слыхивают о сигнале. Получается, что с
тихими звуками проблема. Поэтому, как
показала практика, звуки оцифрованные с
уровнем -ЧOдБ, уже не очень похожи на
настоящие, при цифровке -бOдБ от звука
остаются рожки да ножки... A какая музы-
ка без настоящих тихих звуков? Реально
используемый динамический диапазон - 30-
ЧOдБ. Посему удел компьютерной музыки -
одна технота да попса, так как она обла-
дает ислючительно узким D. (В проигры-
вателях CD опять же борятся с этим раз-
ными методами).
Фанатам Амиги предлагаю самим посчитать
динамический диапазон 8-битовой системы
(кстати, этого вполне хватает для эффек-
тов и сопроводительной музычки в играх).
Так что, может быть, не будем так серь-
езно относиться к компьютерной музыке,
аудиокартам, music compo, ведь все му-
уровнем -ЧOдБ, уже не очень похожи на
настоящие, при цифровке -бOдБ от звука
остаются рожки да ножки... A какая музы-
ка без настоящих тихих звуков? Реально
используемый динамический диапазон - 30-
ЧOдБ. Посему удел компьютерной музыки -
одна технота да попса, так как она обла-
дает ислючительно узким D. (В проигры-
вателях CD опять же борятся с этим раз-
ными методами).
Фанатам Амиги предлагаю самим посчитать
динамический диапазон 8-битовой системы
(кстати, этого вполне хватает для эффек-
тов и сопроводительной музычки в играх).
Так что, может быть, не будем так серь-
езно относиться к компьютерной музыке,
аудиокартам, music compo, ведь все му-
зыкальные прибамбасы сделаны для того,
чтобы в игры было интересней играть. Или
я не прав?
Other articles: