18 лет назад 5 октября 2006 в 11:20 1673

А вас, MP3, я попрошу остаться...

<PТолько сухое академическое изложение, как в учебнике… С другой стороны, те, кто разбирается в таких вещах профессионально, все равно эту статью читать не будут — они еще три года назад раскопали все, что есть по этой теме в интернете, и уже успели устать от споров на темы «ISO vs. Fraunhofer IIS» или «какой декодер лучше» в специализированных конференциях.

Так что поговорим о консервированном звуке попроще — просто немного полезной информации для умного человека, который кое-чего об этом слышал краем уха, но никогда не вникал, ибо незачем.

Разберем по косточкам MP3. Других форматов (ATRAC, VQF, LQT, AAC, WMA) я не буду касаться принципиально. Делаю так по многим причинам: во-первых, у разных форматов сжатия звука есть много общего, а MP3 — самый из них главный и первый, так уж сложилось исторически. Во-вторых, именно по этому формату проведено наибольшее количество специализированных исследований (возможно, ATRAC, как ориентированный на массовый рынок MiniDisc-техники, изучен не менее досконально, но эта информация в основном закрытая).

В-третьих (и это главное), ни один из альтернативных форматов сжатия пока не может конкурировать по качеству с MP3 высоких битрейтов (256-320 кбит/с). Основные козыри конкурентов MP3 — лучшее качество звучания на средних и низких битрейтах (64-160 кбит/с), но это малоинтересно для поклонников истинного Hi-Fi. Интересно, конечно, при передаче звука через интернет, но для домашней звуковой студии — абсолютно неактуально.

Как это было задумано

Как осуществляется кодирование в MP3? Сначала исходный звуковой файл, например, формата PCM 16 бит @ 44 100 Гц, разбивается на множество равных частей — фреймов (секунда звука состоит из 77 фреймов для постоянных битрейтов), каждый из которых затем кодируется отдельно. Потоковость формата обеспечивается тем, что каждый фрейм абсолютно самодостаточен — для начала воспроизведения нужно получить первый. Оставшиеся можно создать по ходу дела, что удобно, например, для передачи компрессированной речи по узким каналам связи.

Такой процесс — когда фреймы передаются потоком — называется streaming. В наиболее же распространенном случае фреймы хранятся все сразу в одном MP3-файле, при этом в конце последовательности может добавляться специальный блок ID3, содержащий тэги (текстовую информацию об исполнителе, названии композиции, жанре произведения и т. д.).

После того как исходный материал разбит на фреймы, каждый из них кодируется отдельно и, возможно, с разными параметрами (они прописываются в заголовке фрейма). В пределах каждого фрейма звуковой сигнал разбивается (с помощью фильтров) на несколько составляющих, лежащих в разных частотных диапазонах. Это аналогично тому, как мы представляем произвольный вектор, лежащий в трехмерном пространстве, в виде трех линейно независимых координат (X, Y, Z). Конечно, в случае MP3 частотных диапазонов не три, а побольше.

Далее сигнал каждого диапазона анализируется: если оказывается, что он маскируется сигналом предыдущего фрейма или сигналом соседнего частотного диапазона, то он не кодируется — им можно пренебречь (ключевое слово — «маскируется». Именно здесь и лежит весь смысл психоакустической модели, позволяющей осуществлять впечатляющую компрессию звука (в 5-10 раз) без заметной потери качества. Дело в том, что слух человека устроен таким образом, что мы попросту не услышим слабый звук скрипки, если рядом с ней в этот же момент выдаст мощное соло саксофон. Хотя в честно оцифрованной записи на компакт-диске будут присутствовать оба звука).

Далее, оставшиеся значимые сигналы анализируются на предмет того, сколькими битами на сэмпл можно пожертвовать при описании каждого из них, чтобы уровень потерь от этого дополнительного преобразования (удаление каждого бита приводит к увеличению шума квантования на ~ 6 дБ) не превышал бы максимально допустимого (опять же, с учетом маскирующего эффекта).

Итого, от исходной, явно избыточной информации остается только значимая, та, которая и формирует окончательный образ музыкального произведения в голове слушателя. Уровень приближения к оригиналу задается при кодировании — указанием битрейта. Если вы ужимаете звук до 32 кбит/с, алгоритм используется такой же, как и при кодировании в 320 кбит/с.

Только в первом случае психоакустическая модель рассчитана на то, чтобы обмануть слух пьяного дворника, слушающего музыку через жестяной репродуктор, а при кодировании в 320 кбит/с планка поднимается намного выше, что позволяет обмануть слух профессионального музыканта, производящего контрольное прослушивание в специально оборудованном помещении («обмануть слух» в данном контексте означает «не дать отличить звучание сжатой копии и несжатого оригинала»).

Не стоит забывать еще об одном параметре записи — частоте дискретизации.

Можно из PCM 16 бит @ 44 100 Гц получить файл MP3 с частотой дискретизации 32 000 Гц, или 22 050 Гц, и это здорово сэкономит место на диске. Но нужно учитывать тот факт, что понижение этого параметра соответствующим образом сжимает частотный диапазон и, кроме того, такая передискретизация сама по себе не идет на пользу качеству звука — дополнительные преобразования вносят и дополнительные искажения (относительно небольшие, но все же).

Поэтому всегда лучше привязываться к исходному материалу: если вы сжимаете исходный файл формата PCM 16 бит @ 48 000 Гц, то и MP3 лучше делать 48-килогерцовым.
Окончательный этап формирования потока MP3 — кодирование оставшихся данных по Хаффману, и мы получаем готовый к употреблению файл track01.mp3.

Как это воплощено

Далее разберемся с вариантами кодирования стереозаписей. Теоретически, MP3 (в своем варианте MPEG 2 layer 3) позволяет записывать в одном файле и пятиканальное звуковое сопровождение (например, к DVD-фильму), но подавляющее большинство существующих записей представлены в виде традиционного стерео.

Существует несколько вариантов записи двухканального звука в MP3. Dual Channel (варианты: Dual Stereo, 2 Channel). Каналы полностью независимы. Каждый использует ровно половину битрейта. Рекомендуется, когда левый и правый каналы несут абсолютно независимую информацию (например, в левом — звуковое сопровождение фильма, а в правом — речь переводчика). Также это бескомпромиссный по качеству вариант для сложных музыкальных произведений на самых высоких битрейтах (320 кбит/с).
Stereo.

В целом аналогично предыдущему случаю — каждый канал кодируется отдельно, но битрейт может расходоваться динамически. То есть, если в какой-то момент времени левый канал несет скудную звуковую информацию, часть его битрейта может быть отдана правому каналу, наполненному сложной музыкальной партией «под завязку». Выбор профессионала на битрейтах порядка 256 кбит/с. Возможно использование режима Stereo и на более низких битрейтах (128-160 кбит/с), особенно это оправдано в случаях заметных фазовых расхождений между каналами, когда Joint Stereo пасует.

Joint Stereo (MS Stereo). Из стереосигнала выделяется некий средний (Mid) сигнал, кодируемый большей частью битрейта, и разностный между каналами (Side) — для него отводится меньшая часть битрейта. Иногда это очень обоснованный метод, позволяющий максимально эффективно использовать емкость кодированного потока. Однако в случае фазового сдвига между каналами (который чаще всего встречается на оригиналах, изначально записанных на магнитофонную ленту), Joint Stereo MS резко сдает свои позиции — своеобразные фазовые искажения начинают просто резать слух. Вообще, даже при самых благоприятных условиях Joint Stereo, прямо скажем, не улучшает стереопанорамы.

Joint Stereo (MS/IS Stereo). Еще более упрощенный вариант предыдущего метода. Все также из исходного стереосигнала выделяется средний для обоих каналов. Но в некоторых частотных диапазонах вычисляется уже не разностный сигнал, а просто соотношение мощностей каналов (IntenSive). Это еще больше экономит место, но при этом полностью теряется фазовая информация, так как сигналы обоих каналов приводятся к одной фазе. Рекомендуется использовать в крайне тяжелых условиях низких битрейтов (64-96 кбит/с), в тех случаях, когда можно пожертвовать стереопанорамой в пользу общего качества звука.

Теперь о битрейтах применительно к качеству. Многочисленными тестами с привлечением широкого круга экспертов было доказано следующее: человек в большинстве случаев не может заметить ухудшения качества при переходе от оригинала формата WAV (PCM, 16 бит @ 44 100 Гц) к копии, сжатой в MP3, 256 кбит/с, Stereo (это компрессия в 5,5 раз. Потому что 256 кбит/с — это 128 000 бит/с на один канал, а оригинал — 44 100 х 16 = 705 600 бит/сек. В данном случае килобит = 1000 бит. Максимально же доступный битрейт для формата MP3, обеспечивающий наибольшее приближение к оригиналу, равен 320 кбит/с, что означает компрессию в четыре с половиной раза).

Разумеется, прослушивания производились на аппаратуре самого высокого качества в специально приспособленных для этого условиях. Кодирование, естественно, производилось программами-кодерами, обеспечивающими максимально достижимое качество в рамках заданного битрейта. Правда, все это — с многочисленными оговорками. Если предоставить для прослушивания одновременно оригинал и сжатую копию, причем с возможностью переключаться между ними, опытный эксперт, скорее всего, найдет отличия (например, на струнных инструментах, которые, кстати говоря, немало теряют в качестве и при переходе с мастер-ленты на CD).

Однако если не говорить ему, какая из записей является оригиналом, он вряд ли сможет это определить — отличия не всегда означают ухудшение качества. И, наконец, если сравнивать не с чем, вряд ли хоть один эксперт сможет назвать формат хранения звука MP3, 256-320 кбит/с ущербным с точки зрения качества.

Просто при кодировании, за счет вмешательства психоакустической модели, звук немного меняется — можно сравнить это с изменением фотографии на мониторе при изменении цветовой температуры в меню с 9300 до 9000 К. Различия между этими режимами есть — однако поди ж ты скажи, что во втором случае картинка стала хуже. И попробуй, подойдя к другому монитору, определить, какой режим сейчас на нем стоит — 9300 или 9000 К.

Еще раз повторю: какие-то отличия от оригинала в сжатой копии всегда будут. Но вся соль психоакустики как раз состоит в том, что для человека они абсолютно несущественны (на высоких битрейтах). И все отличия, о которых говорится в предыдущем абзаце, настолько малы и настолько некритичны для восприятия, что представляют скорее теоретический интерес. Смена колонок на другую модель, например, даст куда большую разницу в звучании, чем переход от CD-Audio к MP3, 256 кбит/с, Stereo, сжатому хорошим кодером.
На средних битрейтах (диапазон от 160 до 192 кбит/с) ряд экспертов отмечает уже заметное на слух ухудшение качества.

При этом основные претензии высказываются вовсе не к частотному диапазону, и не к появлению каких-то шумов. В первую очередь страдает динамический диапазон записи и мелкие детали, находящиеся на грани слышимости. Это приводит к потере «кристальной чистоты звука» и «ощущения пространства» — термины трудно определимые, но очень точные. Одновременно с этим слегка ухудшается стереопанорама, что приводит к менее точной локализации источников звука и к общей смазанности звуковой сцены. Кстати, такие же впечатления остались у меня самого, когда я долго пытался уловить разницу между разными битрейтами в промежутке 160-320 кбит/с. Опыты я проводил на альбоме «Magnetic Fields» Жана Мишеля Жарра, который богат совершенно чумовыми стереоэффектами. Действительно, первой страдала как раз стереопанорама.

Наконец, на низких битрейтах (диапазон 96-128 кбит/с) начинается полный кошмар для уха аудиофила. Режим Joint Stereo, применение которого на данных битрейтах вполне оправдано, приводит либо к фазовым искажениям (своеобразная металлизированная «шепелявость», «мутации звука»), либо к смазанности стереопанорамы вместе с другими артефактами сильной компрессии (неестественность, «роботизированность» звука). При использовании режимов Stereo или Dual Channel на таких низких битрейтах уже элементарно не хватает информационной емкости потока для сохранения более-менее значимых сигналов из исходной записи. В результате качество хуже, чем при использовании Joint Stereo.

Сверхнизкие битрейты (32-64 кбит/с) годятся лишь для записи речи в монофоническом формате. С этой задачей они справляются неплохо.

Таким образом, становится очевидна несостоятельность утверждений многих производителей MP3-плейеров типа: «Наш продукт Х обеспечивает два часа непрерывного звучания на битрейте 96-128 кбит/с с качеством CD-Audio». Господа! Расставим точки над «i» в очередной раз. «Качество CD-Audio» — это запись на 256-320 кбит/с, причем сжатая очень хорошим кодером, который еще долго нужно выбирать. «Близко к качеству CD-Audio» — это 160-192 кбит/с. А запись в 96-128 кбит/с даже близко не стояла рядом с оригиналом.

Это близко к качеству записи магнитофона «Электроника-302», выполненной на раздолбанной кассете МК-60. Только с очень низким уровнем шумов, ибо MP3, слава Богу, их практически не добавляет, и с неплохим частотным диапазоном. Заметные искажения присутствуют в обоих случаях, различие в том, что в магнитофоне они появляются за счет большого коэффициента детонации и неидеальной АЧХ тракта записи-воспроизведения, а в случае MP3 вызваны компрессией.

Хочу обратить ваше внимание: зависимость качества от битрейта совсем не линейна. Если от 320 до 256 кбит/с разница почти отсутствует, то при уменьшении ширины потока со 160 до 96 кбит/с качество падает просто катастрофически.

На основании вышесказанного можно сделать вывод (который я для себя сделал года три тому назад): если вы хотите хранить свою фонотеку в цифровом сжатом виде и не желаете мириться даже с мизерным ухудшением качества — пользуйтесь качественным кодером и форматом 320 кбит/с, Dual Channel. Если уж многие эксперты на аппаратуре высшего класса не могут определить отличий копии 256 кбит/с от оригинала, то использование битрейта 320 кбит/с дает дополнительный запас прочности. Кстати, такие высокие битрейты просто жизненно необходимы для сложных, насыщенных музыкальных произведений, богатых полифонией и живыми инструментами: примеры такого рода — оркестр Поля Мориа, Эннио Морриконе (и симфоническая музыка вообще) или некоторые вещи Pink Floyd.

Не очень сложную в плане звуковой насыщенности музыку (к таковой можно отнести даже «Крематорий», «Машину времени» или Никольского, не говоря уж о попсе любого калибра) можно консервировать и в 160-192 кбит/с, Stereo, причем кодер тут нужно использовать уже другой, заточенный именно под эти битрейты. Правда, запаса по качеству в этом случае уже не будет. Такие компромиссы имеют смысл, если вы являетесь владельцем плейера с ограниченным объемом памяти, но все же хотите слушать музыку высокого качества.

Ну а то, что скачано из интернета (как правило, это 96-128 кбит/с, Joint Stereo + кодер неизвестного происхождения), всерьез воспринимать, конечно же, не стоит. Этот мутноватый эрзац годится лишь для ознакомительного прослушивания.

Как это делаю я

Для извлечения оригинала с компакт-диска на винчестер я пользуюсь граббером, встроенным в программу AudioCatalyst 2.0. Разумеется, я отдаю себе отчет в том, что попсовость такого варианта бесспорна — встроенный в AudioCatalyst кодер на движке Xing не выдерживает никакой критики. Но ведь я не пользуюсь этим кодером и не включаю нормализацию (нормализация — процесс приведения пикового уровня сигнала в конкретной композиции к заданному уровню. Плюсы — все ваши записи будут звучать с одинаковой громкостью. Минусы — появление искажений, ведь пересчет всех сэмплов, составляющих композицию, не может пройти бесследно для качества звука) в процессе извлечения WAV-файла.

У меня, конечно же, есть и профессионально-навороченный аудиограббер EAC (Exact Audio Copy), но я пару раз сравнил WAV-файл, созданный им, с WAV-файлом AudioCatalyst — они не отличались ни на бит. А к AudioCatalyst я очень привык. Впрочем, у EAC последних версий достоинств гораздо больше, чем недостатков (не требует инсталляции, отлично грабит даже проблемные треки и т. д.), и эту программу я также могу порекомендовать вам с чистой совестью.

После того как WAV-файлы свалены в одну директорию, я науськиваю на них кодер mpegEnc v007a by SoloH. Это уникальная штука, основанная на неоптимизированном демонстрационном коде ISO (ISO — Международная организация по стандартизации (International Standardization Organization). Возможно, вы встречали эту аббревиатуру, когда печатали ваши документы на принтере) и в свое время считавшаяся эталоном качества для высших битрейтов.

Кстати, не забывайте об этом — mpegEnc v007a предназначен только для битрейтов 256-320 кбит/с, Stereo или Dual Channel. Как-то раз я приготовил с его помощью MP3, 128 кбит/с, Joint Stereo — и это было что-то ужасное. Уникальность данного кодера состоит еще и в том, что он самый медленный среди всех существующих — на моем Pentium III 866 процесс идет со скоростью 1,8:1, то есть 40 минут звука кодируются час с лишним. Но это полностью компенсируется удобным интерфейсом и тем, что процесс кодирования прекрасно идет в фоновом режиме, абсолютно не напрягая вас — можете хоть в игры в это время играть. К тому же мне доставляет удовольствие наблюдать, как не спеша, обстоятельно программа просчитывает каждый фрейм — ведь хороший алгоритм не может быть слишком быстрым, правда?

Прослушиваю MP3-файлы я с помощью проигрывателя Winamp 2.61, в котором использую модуль декодирования от версии 2.22 (основанный на оригинальном коде Fraunhofer IIS). Приготовить такой «коктейль» на самом деле чрезвычайно просто — после установки любой версии Winamp нужно скопировать в папку Plugins загодя припасенный файлик in_mp3.dll весом 132 кб.

Вот так, можно сказать душа в душу, живем мы с MP3 уже четвертый год. Конечно, я периодически читаю про появление новых форматов сжатия и про новые продвинутые кодеры. Я знаю, что есть такая ужасная вещь, как джиттер, что качественный риппинг возможен только со SCSI-дисков программами типа EAC и что ребро компакт-диска нужно закрашивать специальным аудиофильским фломастером зеленого цвета.

Правда, на меня это мало действует: я принадлежу к той категории людей, которые считают, что бит — он и в Африке бит. К новым кодерам и декодерам я также отношусь с подозрением, поскольку жизнь давно научила меня, что лучшее — враг хорошего.

Просто слушаю музыку, получаю удовольствие.
Чего и вам желаю.

Андрей Никулин

Никто не прокомментировал материал. Есть мысли?

Эти утверждения верны для фирменных компактов за 1-2тыс.руб. и аппаратуры HI-END.
И битрейт 128кб/с звучит гораздо лучше не то что «Электроники-302»,но и «Веги-120»,на уровне лучших японских магнитофонов или пиратских дисков за 100 руб.Я бы даже выбрал хороший MP3 128Кб/c,чем пиратские диски или самую крутую кассету ,они пожалуй хуже звучат.