Пространство звука
АрхивС появлением аудиокарт, поддерживающих многоканальный звук, и программных плейеров, воспроизводящих всевозможные форматы звуковых файлов, возникает закономерный вопрос: а почему бы не записывать звук с фантастическими пространственными эффектами в формате АС-3, начиная с домашней звукозаписи и кончая "дружеским" тиражированием? Более того, те же рекламные ролики, прокручиваемые на презентациях и выставках с помощью персоналок, в АС-3 зазвучали бы более внятно, доходчиво и впечатляюще...
Самые удачные (как по звучанию, так и по качеству записи в цифре) последние звуковые карты, например Aureal Vortex SQ2500 и серия Live! от Creative, имеют поддержку многоканального звука. Наряду с выходами на 4 колонки эти карты оборудованы цифровым SP-DIF-выходом, используемым для передачи потока аудиоданных, сжатых в формате АС-3, на внешний декодер-усилитель. Стоимость упомянутых карт без наворотов "коробочных" и "платиновых" версий не превышает 60 долларов, появились и 6-канальные звуковые карты с 24-битным 96 кГц ЦАП (www.hoontech.com, SoundTrack AudioDSP24, 199 долларов), предназначенные для авангарда меломанов, который "за ценой не постоит". Тенденция налицо: лучшие звуковые карты будут многоканальными! То, что они побьют рекорды популярности, не приходится сомневаться: рано или поздно DVD сделает свое дело.
Общеизвестные программные плейеры WinDVD и PowerDVD без проблем воспроизводят файлы в формате АС-3 с любого носителя, включая CD-R-диски, и обеспечивают поддержку 4-канального звука (с микшированием) для соответствующих звуковых карт. В простейшем случае для воспроизведения можно использовать обычную стереоаппаратуру, правда, в сдвоенном варианте. Владельцы акустики домашнего театра не будут разочарованы: современные плейеры обеспечивают прохождение натурального многоканального звука через цифровой выход SP-DIF. К сожалению, некоторые плейеры, например от Creative, пока не воспроизводят многоканальный звук в формате АС-3, ограничившись форматом VOB [1] (Video OBject).
Декодирование аудиопотока требует существенно меньшей вычислительной мощности по сравнению с декодированием видео. Однако в разных плейерах используются различные алгоритмы декодирования, не одинаково загружающие процессор. Программные плейеры, воспроизводящие АС-3-файлы, рассчитаны на мощные процессоры (>PII-266) и память, желательно не менее 32 Мбайт. Устаревшие драйверы к звуковой карте могут стать причиной неработоспособности плейера при попытке воспроизвести АС-3-файл хотя бы в стерео. На компьютерах с процессором слабее ориентировочно Р-166 (зависит от всего железа в комплексе) звук в АС-3 может рваться и искажаться. Необходимость мощного компьютера - пожалуй, единственный серьезный фактор, сдерживающий победное шествие многоканального звука.
Кухня АС-3
Формат АС-3 (точнее, одноименная технология сжатия-декодирования звука) был разработан Dolby Laboratories в 1992 году для телевидения высокой четкости (HDTV) и нашел широкое применение в DVD-Video. Когда на DVD-диске или упаковке к нему скромно виднеется надпись Dolby Digital 5.1 (или DD5.1), это означает, что звуковая дорожка к фильму записана в формате АС-3, причем 6-й канал (LFE) содержит только дополнительные низкочастотные (5-120 Гц) эффекты. Исторически сложилось так, что для озвучивания кино используются пять полноценных каналов (фронтальные: левый, правый, центральный; тыловые: левый, правый) и один дополнительный, подмешиваемый при необходимости к другим каналам или подаваемый непосредственно на активный сабвуфер. Все каналы в DD5.1 [2] изначально цифруются с одной частотой дискретизации (как правило, 48 кГц), а потом кодируются в единый поток (bitstream) величиной от 320 кбит/с до 480 кбит/с, при этом обеспечивается высокое качество звука, а объем хранимых данных после кодирования-сжатия уменьшается в ~10 раз и более.
Кодирование в АС-3 было разработано с учетом реализации всевозможных решений в распространенных электроакустических системах. В первую очередь речь идет о перемикшировании (downmixing) "на лету" в требуемое число каналов при декодировании, например, из 6 каналов в 2 или в 4. Для этого данные (в сжатом виде) по каждому каналу хранятся в отдельных блоках. При декодировании из 6 в 4 канала центральный канал добавляется в равной мере в правый и левый фронтальные каналы, а канал низкочастотных эффектов может подмешиваться ко всем четырем каналам. Главное, сохраняется целостность воссоздаваемой "звуковой картины", то есть пространственные эффекты и качество звука остаются на должном уровне.
Сжатие звука в АС-3 относится к компрессии с потерями, не воспринимаемыми на слух вследствие особенностей психоакустики человека. Сначала оцифрованные сигналы анализируются на предмет наличия резких изменений амплитуды, чтобы использовать временное окно обычной или укороченной вдвое длительности. Затем сигнал каждого канала в отдельности трансформируется в частотную область. Результат разбивается на пары: мантиссу и экспоненту [3]. Мантисса дискретизируется с переменным числом бит на основе параметрической модели размещения бит (bit allocation), которая используется, чтобы определить, сколько бит достаточно для каждой мантиссы в той или иной частотной полосе. Эта модель построена на психоакустических принципах маскировки более слабых звуков и использует синтезированный банк порогов, полученный с высоким разрешением по частоте. Иногда мантисса не получает ни одного бита, чаще - несколько бит, но так или иначе, количество бит, необходимых для представления источника, сокращается, чем и достигается сжатие. На финальной стадии кодирования вся полученная таким путем информация пакуется в единый блок, а блоки по каждому каналу объединяются во фрейм вместе с параметрами синхронизации. Фрейм имеет фиксированный размер, зависящий только от частоты дискретизации и задаваемой (в кбит/с) величины АС-3-потока [3].
Кстати, эффективность сжатия в АС-3 возрастает с увеличением числа каналов. Это достигается за счет двух принципиальных особенностей кодирования. Во-первых, процедура размещения бит "перепихивает" биты между каналами, то есть если один канал не активен в какой-то момент времени, то предназначенные для него биты будут "поделены" между другими каналами. Во-вторых, если каналы коррелированы в высокочастотной области (в которой наши уши-мозги различают только огибающую, а не истинные изменения амплитуды во времени), то для таких каналов осуществляется сопряжение в "одну кучу" с описанием изменения огибающей по каждому из каналов. Ясно, что отмеченное сопряжение является потенциальным источником артефактов, особенно на пониженных уровнях АС-3-потока.
Благодаря экспоненциальному представлению амплитуды сигнала отсутствуют жесткие ограничения по динамическому диапазону, что дает преимущество АС-3 при применении 18-24 битных АЦП-ЦАП. Дополнительно появляется возможность регулировать динамический диапазон декодированного сигнала, например, для ночного прослушивания, чтобы соседи по квартире не подпрыгивали на кроватях от внезапных всплесков громкости. Фактически, при "задавленном" динамическом диапазоне тихие звуки звучат громче, а мощные - приглушаются, что позволяет уменьшить общую громкость, не напрягая слух на фразах, сказанных шепотом.
Тонкостей при декодировании АС-3 предостаточно. Так, в каждый фрейм закодированного потока заносится несколько параметров, помогающих корректно восстановить сигнал во временной области. Как правило, микширование каналов происходит уже во временной области, но может быть выполнено полностью и в частотной области. Самое примечательное, чтобы получить аккуратный 16-битный РСМ на выходе, буферы микширования должны быть 20-битными. Захотят ли над этим пыхтеть производители программных плейеров - отдельный вопрос.
Данный теоретический экскурс (честно говоря, довольно-таки беглый) приведен не для красного словца. Чтобы грамотно создавать АС-3-звук, нужно хорошо представлять, какие подводные камни встретятся на пути и где искать причины искажений многоканального звука. Прежде всего, звуковые дорожки (треки) для каждого будущего канала необходимо усиливать и оцифровывать не менее 16 бит. Частота дискретизации в 48 кГц - оптимально благоразумна, все плейеры потом заведемо смогут воспроизводить полученный таким образом АС-3. Несмотря на большие потенциальные возможности по динамическому диапазону, перед кодированием РСМ в АС-3 не следует нормировать трек на максимальное значение амплитуды, как минимум целесообразна нормировка на -5 дБ. Плейер может своеобразно микшировать каналы при декодировании, например, ослабив вклад канала низкочастотных эффектов. В некоторой степени от плейера зависит и качество звуков, состоящих из чистых гармоник. Наконец, никого не должна удивлять разница в оценках качества звука: каждый из нас будет слышать АС-3 по-своему, поскольку модель психоакустического восприятия создавалась из расчета на среднестатистического слушателя.
Just do it!
Начальный вариант для 5-6 инструментов: записать по отдельности каждый инструмент и "запихнуть" в свой канал. Однако интерес представляет создание пространственных эффектов. Рассмотрим простейший, когда звук из одного уха перетекает в другое, удаляясь в левое или правое полупространство. В первую очередь запишем исполненный на синтезаторе сэмпл (который впоследствии будет повторяться желаемое число раз) в монотрек и продублируем его в любом из музыкальных редакторов, получив стереофайл. Далее проделаем нехитрые преобразования амплитуды в пределах сэмпл-файла, для чего воспользуемся программой SoundForge, выбрав в меню опцию Pan/Expand (см. рис. 1). Это преобразование даст звук, уходящий в левый канал и затем возвращающийся, после чего повторяющий такой же "уход", но только уже в правый канал. Подобное преобразование легко запрограммировать самостоятельно, благо доплер-эффект и фазовые задержки не используются. Остается сделать "загрузочный" файл желаемой продолжительности, составив его из повторов нашего стереофонический сэмпл-файла.
Теперь настал черед самого-самого. Со скромной по размеру программой SoftEncoder (стоимостью 995 долларов, от Sonic Foundry Inc.) можно ознакомиться, порывшись в россыпи посвященных домашнему кинозвуку сидючков с "Горбушки". Интерфейс интуитивен "как божий день". Открыв АС-3-проект, загрузим созданный нами стереофайл. Программа сама поймет, что это будут левый и правый фронтальные каналы. Для упрощения примера в центральный и LFE-каналы зашлем "нулевые" треки, то есть полную тишину. Загрузим еще раз тот же самый стереофайл, и программа сообразит, что это будут левый и правый тыловые каналы. Если не сообразит - легко поправить одним кликом. Остается запустить программу на кодирование в АС-3, указав требуемый размер потока (см. рис. 2), и файл многоканального звука готов!
Другой простейший эффект - "полет" по кругу: каналы передают эстафету друг другу с некоторым перекрытием во времени. На аналогичной основе делается более сложный эффект: так называемая восьмерка, когда звук (например, синтезатора) стартует из головы слушателя, уходит вперед-влево, описывает дугу в левом полупространстве, возвращаясь из тыла в голову, а затем повторяет аналогичную дугу в правом полупространстве. Дальше - дело за фантазией.
Отдельного разговора заслуживает многоканальный звук в формате ААС и его сравнение с АС-3.
До новых встреч...
Дополнительная информация
[1] http://ixbt.stack.net/multimedia/dd_ac3_faq.html
[2] www.dolby.com
[3] S. Vernon "Design and Implementation of AC-3 coders" IEEE Tr. Consumer Electronics, Vol. 41, No.3, August 1995.
1 (обратно к тексту) - В файлах формата VOB содержатся совместно видео- и аудиоданные, причем тип последних может быть разный (PCM, AC-3, DTS).
2 (обратно к тексту) - Некоторые подробности о DD5.1 можно почитать в [1] на русском или в оригинале на английском [2].
3 (обратно к тексту) - Формат с плавающей точкой.