Какой кодек лучше aac или mp3

Обновлено: 06.07.2024

Все любят музыку. Одни слушают ее в пути на работу, а некоторые не могут провести и минуты без любимых композиций. Комфортное прослушивание музыки зависит не только от настроения, времени, фазы луны и хороших наушников, но и от аудиоформата, в котором она хранится на наших устройствах.

В XXI веке становятся популярными стриминговые сервисы, но большинство людей все равно хранят музыку offline и слушают ее со своих телефонов, плееров, аудиосистем и т.д. Но этот пост - не обсуждение «Какие наушники лучше?», «С чего слушать музыку?» или «Почему винил, а не CD?», а краткий очерк популярных на сегодняшний день цифровых аудиоформатов, их плюсы и минусы. Я не буду разбирать их все, а также не буду сравнивать различные кодировки, отличия «вот такого AAC от вот этого AAC», а просто постараюсь в доступной форме рассказать о различиях некоторых популярных аудиоформатов друг от друга.

Так в чем лучше хранить свою музыкальную коллекцию? На сегодняшний день существует множество цифровых аудиоформатов и при желании вы можете посмотреть их список на «Википедии». Но мы остановимся лишь на Mp3, AAC, WMA и FLAC.

Mp3

Самый популярный аудиоформат и с этим никто не может поспорить. Почему он так популярен? Всё просто – потому что Mp3 был первым аудиоформатом с самым лучшим (на то время) соотношением размера файла и его качества при сжатии. Поэтому большинство композиций переводились в Mp3, что и послужило бесспорному первенству аудиоформата на рынке.

Плюсы понятны из абзаца выше: малый размер, терпимые потери при сжатии, повсеместная распространенность, поддержка всеми устройствами, а также, ввиду малого размера, можно хранить большую коллекцию композиций на носителе малого объема памяти, что для некоторых также является преимуществом.

Но и минусы у Mp3 имеются. Не смотря на то, что потери при сжатии обывателям не видны, разбирающиеся люди заметят их сразу. Это – низкое качество звучания в сравнении с другими аудиоформатами, а также «срез» частот выше 17 кГц, что при наличии хороших наушников ощущается на слух.

AAC

Молодой аудиоформат AAC, продвигаемый в большинстве своем Apple, можно считать преемником Mp3. AAC выглядит куда более выигрышно, т.к. в сравнении с Mp3 компрессия файлов AAC эффективнее. При битрейте 128 кбит/с композиция в AAC сопоставима по качеству звучания такой же композиции в Mp3 при битрейте 192 кбит/с.

Более лучшее качество при сжатии – основной плюс AAC. Минусами же является не такая распространенность, как у того же mp3. Некоторые устройства до сих пор не поддерживают этот формат. А также композиции в AAC занимают больше места, чем в Mp3. Не так много, как FLAC, но всё же для некоторых это является критичным фактором.

WMA

Формат WMA был создан Microsoft как альтернатива Mp3 для пользователей ОС Windows. Считалось, что при вдвое меньшем битрейте, чем Mp3, WMA выдает схожее с ним качество. Но на деле композиция в WMA при битрейте 128 кбит/с заметно проигрывает Mp3. К плюсам можно отнести полную поддержку со стороны Windows, но а минус – чрезвычайно низкое качество при низком битрейте. Из личного наблюдения скажу, что давно не видел людей, хранящих свою музыку в этом аудиоформате.

FLAC

Один из наиболее распространенных аудиоформатов у любителей музыки в хорошем качестве. FLAC осуществляет сжатие данных, оставляя на выходе их идентичными оригиналу, не теряя никаких данных – что и является основным алгоритмом сжатия без потерь. А также декодирование формата FLAC не такое требовательное к ресурсам процессора, что позволяет прослушивать музыку на портативных устройствах.

Плюсы музыки во FLAC – отличное качество и быстрое декодирование, ну а минус, как следствие, большой размер файлов.

Так в каком аудиоформате держать свою музыкальную коллекцию? Если вам не так критичны потери после сжатия, хотите не прогадать с поддержкой, чтобы ваша коллекция через 5 лет не превратилась в кучу бесполезных файлов, вы ограничены в количестве памяти под свою музыку, то выбирайте Mp3. Если свободное место позволяет хранить файлы большего размера, то переходите на AAC. WMA лично я не советую, т.к. считаю этот аудиоформат мертвым, хоть и большинство людей со мной не согласятся. А если вам важно качество, у вас хорошая аудиосистема или наушники, для вас непростительны аже минимальные потери при сжатии, то безусловно FLAC. Но будьте готовы к тому, что места под музыку у вас должно быть много.

Но вот что еще скажу. Ваш выбор зависит только от того, что услышите вы сами. Отдельно взятый человек может даже не заметить разницу между Mp3 и FLAC. Так что всё надо слушать самому, сравнивать и выбирать из личных предпочтений.

Если не lossless, то кот? MP3, AAC — что еще? Ранее мы уже несколько раз изучали алгоритмы сжатия музыки, настало время сравнить самых достойных.

По-хорошему следовало бы отречься от lossy-кодеков вовсе, но всегда интересно прочертить границу, где количество переходит в качество. Кроме того, даже lossy-кодек может кое-чем удивить, вот увидите.

В данном обзоре было решено не морочить голову разными VBR-режимами, а сразу остановиться на максимальном битрейте с постоянной величиной 320 кб/с. Сегодня, при современной емкости портатива, выпрашивать лишние 10 Мб на емкость альбома с риском потерять в качестве? Зачем? В целом, даже с древними кодеками поток 320 кб/с обеспечивает отсутствие характерных артефактов с мерзкими позвякиваниями. Первая часть обзора будет посвящена сравнению роста артефактов с помощью софта RMAA, во второй — изложен субъективный опыт слушателя на реальных фонограммах.


Сравнительная АЧХ трех lossy-форматов относительно оригинала WAV

Если в прошлый раз в качестве источника звука использовался iPad Mini, то сейчас для повышения точности мы выносим любое влияние железа за скобки, и далее весь анализ искажений будет проводиться исключительно в цифровом домене, без преобразования в аналог, поскольку RMAA предоставляет такую возможность.

Для этого генерируем в RMAA тестовый образец в WAV, затем поочередно загоняем его в различные lossy-кодеки. Далее конвертим обратно из них WAV, чтобы программа могла «узнать» файл и оценить отклонения от оригинального шаблона. Теперь смотрим, как рубятся высокие частоты и растут искажения, которые придают противную окраску звуку. Их, кстати, будет не так уж и много. Вообще, на битрейте 320 кб/с поймать на слух явно что-то вредное будет не так просто. Речь пойдет не об артефактах даже, а разве что некоторой «тупости» звука по сравнению с оригиналом. Фонограмма как будто чуть выдыхается, теряет подвижность из-за нарушения переходных процессов после психоакустической обработки. Но явственно зафиксировать эту разницу получится не всегда, зависит от конкретного трека.

MP3: лавинообразные искажения

Начинаем с самого популярного формата. МР3 — чудовище из института Фраунгофера, которое захватило Землю. Из-за него сегодня никому не приходит в голову использовать чистый WAV для записи звуков. Даже если выдирают изуродованное аудио из YouTube, то все равно крошат его еще раз в МР3, да еще и с похабным битрейтом 128 кб/с. Мы так делать не будем, и для теста используем самую актуальную на сегодня версию кодера LAME 3.100 с пресетом insane и битрейтом 320 кб/с.

На самом первом рисунке было видно, что спектр в МР3 ожидаемо испытывает колебания в области ВЧ и окончательно отфильтровывается на границе 20 кГц. Разумеется, это предел синтетического теста, на реальном музыкальном сигнале она наверняка окажется еще ниже. Размеры динамического диапазона в МР3-файле не изменились по сравнению с оригиналом. Т.е. кодер LAME 3.100 на битрейте 320 кб/с не добавляет в запись никаких собственных шумов.


Искажения формы сигнала 1 кГц при кодировании в МР3 в сравнении с оригиналом WAV

Конвертация в МР3 одиночного сигнала 1 кГц показала появление множества мелких гармонических искажений. И хотя формально их доля невелика (0,0009%) — т.е. раза в полтора-два меньше, чем на выхлопе у хорошего ЦАПа, — в динамичном спектре реальной фонограммы их число будет расти в лавинообразном и непредсказуемом порядке. Также «утолщение» основания узкого в оригинале пика 1 кГц указывает на определенные проблемы, обрастание паразитными колебаниями. Эту особенность наглядно иллюстрирует «квадратная» 100 Гц волна после ее конвертации в МР3. Как видите, по горизонтальной оси ее контур теряет четкость. Все это в конечном итоге отрицательно сказывается на утомляемости слуха при прослушивании МР3, увы, даже самых максимальных битрейтов.

«Квадратная» волна 100 Гц после конвертации в МР3 (вверху) и AAC (внизу)

AAC: поднять шум, но сохранить чистоту

Более аккуратным образом действует алгоритм ААС, которым активно оперирует Apple, да и не только он. С данным аудиокодеком работают цифровые ТВ-бродкастеры, а кроме того, ААС входит в пакет контейнера MPEG-4.

Квадратная волна после конвертации в ААС сохраняет свою форму, хотя искажения основания и гармоники вокруг пика 1 кГц тоже имели место, хотя и менее заметно, чем в МР3. При этом ААС демонстрирует больший на 1 дБ измеренный уровень шума. Что бы это значило — промежуточная запись на кассету, что ли? Нет, наверняка в алгоритме ААС используется что-то вроде нойзшейпинга — великое изобретение, позволяющее снижать ошибки квантования за счет подмешивания псевдослучайного шумового сигнала. Повторюсь, это не просто утопление искажений ниже шумового порога — здесь применяется более изощренная математика.

Для иллюстрации посмотрим артефакты вокруг так называемого джиттер-теста на частоте 11,025 кГц. Почему именно эта частота? Потому что кратная гармоника к этому пику приходится ровно на верхнюю границу спектра из цифрового потока с дискретизацией 44 кГц, а все остальные будут находиться за его пределами. Паразитные маленькие пики, особенно те, которые располагаются симметрично относительно основного тона (продукты модуляции, «боковые полосы») — вот это и есть зерна джиттера.

Устойчивость в джиттер-тесте ААС (вверху) и МР3 (внизу)

Как видим, дурак-МР3 сберег низкий уровень шума, но сгенерировал больше высокочастотного джиттера (наиболее заметного на слух), а AAC немного поднял шум, зато избежал паразитов на остальных участках спектра. Но еще большие фокусы с нойзшепингом вытворяет кодер WavPack.

WavPack: сохранить частоту, поменять разрядность

Вообще, если уж сразу и совсем коротко, то математика кодера WavPack на сегодня относится к самым гибким и крутым протоколам для аудиоэнтузиастов, без шуток. В отличие от FLAС, он умеет поддерживать 32-битное исчисление (я рекомендовал его для создания lossless виниловых рипов). Более того, в WavPack даже можно запаковать DSD-файл, не обращая его в РСМ. При этом размер такого файла получится гораздо меньше, чем dsf-оригинал. Но об lossless WavPack мы поговорим как-нибудь в другой раз, а пока рассмотрим уникальный принцип действия lossy-кодека WavPack.

В одном из своих обзоров я показывал, что в ряде случаев при сжатии с потерями имеет смысл снижать не частоту дискретизации, а непосредственно битность сигнала (т.е. ниже 24 или 16 бит), аккуратно подмешивая дизер (т.е. специальный профиль шума для уменьшения ошибок квантования). WavPack пошел именно этим славным путем, не трогая дискретность и частотку вообще, зато изменяя глубину бит, которая теперь является динамической величиной, описывая уровень громкости сигнала. Чем-то напоминает DSD-принцип, не правда ли?

Примечательно, что при конвертации в такой lossy WavPack, можно дополнительно сохранить параллельный «корректирующий» файл, с помощью которого можно будет полностью, до последнего бита, восстановить оригинал. Правда, экономить место на диске в этом случае не получится, так как размер такой пары будет все равно соответствовать lossless-оригиналу. Но тем не менее функционал протокола все равно впечатляет.

Битрейт нашего тестового файла был выставлен на 320 кб/с, чтобы сопоставить его с максимумом наших МР3 и ААС, но теоретически в WavPack его можно ставить и выше. Особенно это пригодится для хайрезов, далее я покажу как — и никакой MQA больше не нужен!


Сравнение гармонических искажений оригинала (зеленым) и файла, закодированного в lossy WavPack (белым). Чуть подрос уровень шума и почти никаких искажений

На графиках lossy WavPack демонстрирует похвальное отсутствие частокола гармоник, которые набегали у двух предыдущих кодеров из-за агрессивной психоакустической модели. В WavPack подобные хитрые алгоритмы отсутствуют, фильтров АЧХ тоже нет — работает просто динамическое взвешивание уровня сигнала под заданный битрейт, и все. В итоге тестирование 1 кГц дает всего несколько гармоник нечетного порядка — 3-я, 7-я, 9-я и т. д. Частотный диапазон сохранен, квадратная волна тоже. На джиттер-тесте 11 кГц по остальному спектру кроме подросшего шума не замечено, никакой паразитной деятельности.


В джиттер-тесте тоном 11025 Гц у lossy WavPack все чисто

Для слухового опыта я отобрал пару достаточно звонких и неплохо прописанных фонограмм, которые вы также можете скачать и послушать в трех вариациях lossy-кодирования с битрейтом 320 кб/с: MP3, AAC и WavPack. Там же, в этих двух архивах, будут приложены оригиналы FLAC в стандартном CD-разрешении 16 бит / 44 кГц.


Композиция «White Wood» группы Lush поможет оценить деградацию ВЧ-диапазона. Кто-то на форуме шутил над моей верностью шугейзу, но именно такая, хрупкая, но спектрально насыщенная ткань оказывается весьма чувствительной к бульдозеру lossy-кодеков и поганой аппаратуры. Стоит чуть уступить, и все гитарные хорусы с медью тарелочек превратятся в жестяную помойку. Вторая фонограмма, «Deep Sleep» B-52’s, представляет собой пример адекватного мастеринга с сочным саундом, студийными эффектами и сохраненным при этом динамическим диапазоном.


Выводы

По итогам прослушивания все треки разделились на две группы. В первую по степени неразличимости попали оригинал, AAC и WavPack. На их фоне МР3 прозвучал явным аутсайдером-одиночкой. Звук МР3 на 320 кб/с не делается жестким, нет, скорее даже наоборот. Я бы, кстати, звучание этого кодека охарактеризовал скорее как теплое — подача музыки как будто оборачивается мутноватым полиэтиленом. Само собой, мастеринг и частотная коррекция у альбомов бывает очень разной, в том числе и такой вот теплой. И если просто запустить подобный MP3 без сравнения с оригиналом, никто ничего и не заподозрит. Но в целом следует признать, что МР3 справляется со своей задачей хуже всех.

Конечно, можно обратиться к старинным МР3-кодекам типа LAME 3.93, где отключался полифазный фильтр, покрутить еще какие-то настройки. Но после ясного и естественного звука AAC на том же битрейте, заниматься подобными экспериментами пропадает желание. К тому же AAC и WavPack можно слушать на любом софте и в том числе на телефонах после установки какой-нибудь портативной версии Foobar. С поддержкой WavPack в Car Audio придется повозиться, но в принципе все преодолимо.


В заключение также предлагаю сравнить работу WavPack на образце моего винилового рипа из «Щелкунчика». Здесь уже продемонстрирована обработка высокодискретного сигнала. Оригинал был закодирован во FLAC с размерностью 24 бит / 88 кГц. Далее из него было сделано два варианта:

№1 — это стандартный FLAC 16 бит / 44 кГц, совместимый с CD-стандартом.

№2 — lossy WavPack с дискретностью 88 кГц и битрейтом 700 кб/с.

Величину данного битрейта lossy WavPack можно было сделать меньше или больше, она подбиралась экспериментально. Для нашего сравнения было важно, чтобы конечный файл WavPack совпадал по размеру с конкурентом FLAC 16 бит / 44 кГц. Все три файла также можно скачать и сравнить самостоятельно.

Непосредственное сравнение образцов подтвердило идею о том, что стандартное понижение HD-мастеров до CD-разрешения, пускай и незначительно, но все же огрубляет музыкальную фактуру оригинала. Деградация происходит, главным образом, за счет потери глубины передних и дальних планов. Сцена как бы выстраивается в единую плоскость. При этом стоит отметить, что вариант lossy WavPack при сопоставимом размере файла оказался лишен данного недостатка и может быть рекомендован для широкого применения в портативном аудио и различных стриминговых сервисах.

Внимание: это старая версия статьи, новая доступна на моём сайте.

На дворе 2011-й год, с момента появления первого MP3 кодировщика прошло уже 17 лет. Но то, что большинство из нас до сих пор спокойно слушает музыку в формате MP3 — вовсе не значит, что прогресс всё это время топтался на месте. И это касается не только развития алгоритма кодирования MP3, но и эволюции кодирования аудио с потерями вообще — в виде новых, более совершенных кодеков, действительно позволяющих получить лучшее качество при меньшем размере. Такие форматы как OGG Vorbis, AAC, WMA, Musepack давно оставили позади устаревший MP3 с его многочисленными ограничениями и недостатками.

Параллельно, всё большие обороты набирает кодирование без потерь (lossless). Но из-за больших объемов данных на сегодняшний день оно всё еще непригодно для полномасштабного использования — особенно для портативных устройств с ограниченным объемом памяти, для потокового вещания в сети, и просто для быстрого обмена музыкой в интернете (надо признать, что не у всех и не всегда под рукой есть 100-мегабитный доступ в интернет).

И так, MP3 устарел, и ему определенно созрела замена. Только как быть пользователю непосвященному, но желающему добиться максимально качественного звучания с минимальными затратами объемов памяти? Ведь альтернативных кодеков довольно много (как минимум 3 из них действительно достойны внимания): Apple продвигает с помощью своего iTunes Store формат AAC (Advanced Audio Coding — позиционируется как преемник MP3), Microsoft — свой собственный лицензируемый WMA (Windows Media Audio), кроме того, всё большую известность приобретает OGG Vorbis, а особо просветленные используют даже такой формат как Musepack. Который из этих кодеков выбрать?

Однозначного ответа на этот вопрос нет — и именно поэтому я пишу сию статью.

Выбор того или иного кодека зависит от конкретной задачи. А именно:

1. От оборудования и ПО, с помощью которого будет воспроизводиться звук. Т.е. от наличия поддержки того или иного формата аудио, а также качества воспроизведения (им желательно руководствоваться при выборе битрейта).

2. От объема памяти, который будет выделен под конечный материал. Соответственно подбирается больший или меньший целевой битрейт/качество.

Ну и, конечно же, необходимо кроме формата и битрейта подобрать оптимальный кодировщик и параметры кодирования. При этом надо понимать, что различные форматы/кодеры по-разному проявляют себя на разных диапазонах битрейта.

Таким образом, алгоритм примерно следующий:

1) Выяснить, какие форматы поддерживает целевое устройство.
2) Определиться, сколько места вы сможете выделить под аудио материал, а также определить суммарную продолжительность аудио предназначенного для кодирования.
3) Вычислить нужный битрейт по формуле: битрейт = дисковое_пространство(в килобитах) / суммарная_продолжительность(в секундах).
4) В соответствии с битрейтом выбрать из поддерживаемых форматов оптимальный (об этом далее).
5) Подобрать наилучший кодер и параметры к нему.

image

  • поддержка более широкого набора форматов (вплоть до 48 каналов) и частот дискретизации звука (от 8 кГц до 96 кГц);
  • более эффективный и простой банк фильтров: гибридный банк фильтров МР3 был заменен обычным MDCT (модифицированным дискретным косинусным преобразованием);
  • более широкие пределы варьирования частотно-временного разрешения в банке фильтров — в восемь раз (в МР3 — в три раза) — привели к улучшению кодирования транзиентов (переходных процессов) и стационарных участков аудиосигнала;
  • более качественное кодирование частот выше 16 кГц;
  • более гибкий режим кодирования стереосигналов, позволяющий переключаться в режим M/S («joint stereo») независимо в различных частотных полосах;
  • дополнительные возможности стандарта, повышающие эффективность компрессии: технология формирования шума во временной области (TNS), предсказание MDCT-коэффициентов по времени (long term prediction), режим параметрического кодирования стереосигнала (parametric stereo), синтез шумов (perceptual noise substitution), технология восстановления высоких частот (SBR).
OGG Vorbis

image

Ogg Vorbis — это относительно новый универсальный формат аудио компрессии, официально вышедший летом 2002 года. Он принадлежит к тому же типу форматов, что и МР3, AAC, VQF и WMA, то есть к форматам компрессии с потерями. Психоакустическая модель, используемая в Ogg Vorbis, по принципам действия близка к МР3 и иже с ними, но и только — математическая обработка и практическая реализация этой модели в корне отличаются, что позволяет авторам объявить свой формат совершенно независимым от всех предшественников.
Главное неоспоримое преимущество формата Ogg Vorbis — это его полная открытость и свободность. Более того, в нем использована новейшая и наиболее качественная психоакустическая модель, из-за чего соотношение битрейт/качество значительно ниже, чем у других форматов. Как результат — качество звука лучше, но размер файла меньше.
В формате имеется большое количество достоинств. Например, формат Ogg Vorbis не ограничивает пользователя только двумя аудио каналами (стерео — левый и правый). Он поддерживает до 225 отдельных каналов с частотой дискретизации до 192kHz и разрядностью до 32bit (чего не позволяет ни один формат сжатия с потерями), поэтому Ogg Vorbis великолепно подходит для кодирования 6-ти канального звука DVD-Audio. К тому же, формат OGG Vorbis — sample accurate. Это гарантирует, что звуковые данные перед кодированием и после декодирования не будут иметь смещений или дополнительных/потерянных сэмплов относительно друг друга. Это легко оценить, когда вы кодируете non-stop музыку (когда один трек постепенно входит в другой) — в итоге сохранится целостность звука.
Возможностью потокового вещания сейчас никого не удивишь, но у этого формата она заложена с самых основ. Это дает формату достаточно полезный побочный эффект — в одном файле можно хранить несколько композиций с собственными тегами. При загрузке такого файла в плеер должны отобразиться все композиции, будто их загрузили из нескольких различных файлов.
Отдельно стоит упомянуть достаточно гибкую систему тегов. Заголовок тегов легко расширяется и позволяет включать тексты любой длины и сложности (например, текст песни), перемежающиеся изображениями (например, фотография обложки альбома). Текстовые теги хранятся в UTF-8, что позволяет писать хоть на всех языках одновременно и исключает возможные проблемы с кодировками. Это значительно удобнее различных ухищрений типа id3 тегов.
Ogg Vorbis по умолчанию использует переменный битрейт, при этом значения последнего не ограничены какими-то жесткими значениями, и он может варьироваться даже на 1kbps. При этом стоит заметить, что форматом жестко не ограничен максимальный битрейт, и при максимальных настройках кодирования он может варьироваться от 400kbps до 700kbps. Такой же гибкостью обладает частота дискретизации — пользователям предоставляется любой выбор в пределах от 2000Hz до 192000Hz.
Ogg Vorbis был разработан сообществом Xiphophorus для того, чтобы заменить все платные запатентованные аудио форматы. Несмотря на то, что это самый молодой формат из всех конкурентов МР3, Ogg Vorbis имеет полную поддержку на всех известных платформах (Windows, PocketPC, Symbian, DOS, Linux, MacOS, FreeBSD, BeOS и др.), а также большое количество аппаратных реализаций. Популярность на сегодняшний день значительно превосходит все альтернативные решения.
Стоит заметить, что Ogg Vorbis является всего лишь небольшой частью мультимедиа проекта Ogg Squish, в который также входят свободные кодировщики: Speex — для сжатия голоса; FLAC — для сжатия звука без потерь; Theora — для сжатия видео.

Musepack
  • Формат не производит второе dct-преобразование, он фактически не страдает артефактами pre-echo, в отличие от таких форматов как MP3, Vorbis, AAC и WMA.
  • Более эффективные алгоритмы переменного битрейта. Если проследить, как изменяется битрейт во время проигрывания треков MPC, можно заметить, что для более простых участков кодер выделяет меньший битрейт, а для сложных — значительно больший, иногда выше 400 (!) кбит/с. Так же тут стоит упомянуть один интересный факт: кодер МР3 в режиме VBR для тишины выделяет битрейт 32 кбит/с (при частоте дискретизации 44100 Гц), AAC и OGG Vorbis — 2кбит/с, Musepack же кодирует тишину с минимальными затратами, <1 кбит/с (например, минута тишины займет каких-то 514 байт). Всё это говорит о чрезвычайной «экономности» этого кодера.
  • Мощная и гибкая психоакустическая модель. Тут можно упомянуть, например, динамический НЧ фильтр на базе фреймов (в других кодерах устанавливается фиксированная полоса пропускания для каждой предустановки качества).
  • Более продвинутое сжатие, основанное на оптимизированных таблицах Хаффмана (тот же LAME MP3 впустую тратит около 20% битрейта — только лишь из-за несовершенного математического сжатия)

image

Windows Media Audio — лицензируемый формат файла, разработанный компанией Microsoft для хранения и трансляции аудиоинформации.

Изначально формат WMA рекламировался как альтернатива MP3, но на сегодняшний день Microsoft противопоставляет ему формат AAC. Номинально формат WMA характеризуется хорошей способностью сжатия, что позволяет ему «обходить» формат MP3 и конкурировать по параметрам с форматами Ogg Vorbis и AAC. Но как было показано независимыми тестами, а также при субъективной оценке, качество форматов всё-таки не является однозначно эквивалентным, а преимущество даже перед MP3 однозначным, как это утверждается компанией Microsoft.

Теперь непосредственно к сути дела.

Чтобы облегчить вам выбор, я хотел бы поделиться своим опытом, полученным в ходе многочисленных сравнений, прослушиваний, а также на основе анализа результатов открытых слуховых тестов.

И так, ниже я расскажу о наиболее подходящих для каждого отдельного случая кодерах, а также о правильном выборе параметров. Для конвертирования рекомендую использовать foobar2000 (подробно настройка конвертера описана здесь), собственно параметры указаны как раз для него. Кроме того, для foobar2000 есть большое количество полезных DSP, которые могут нам пригодиться для предварительной обработки аудио.

Для тех же, кто собирается конвертировать через консоль или другую программу: переменную %s надо заменить на имя файла-источника (или аналогичную переменную), а %d — на имя выходного файла.

Обратите внимание, что для каждого диапазона битрейта указаны возможные варианты форматов: первый — самый приоритетный. Если же ваш плеер не поддерживает первый вариант — обратите внимание на следующий, и т.д. Как я уже писал, внимания на самом деле сегодня достойны только три кодека — это AAC, OGG Vorbis и Musepack. WMA же, по причине своей закрытости, особым качеством не отличается, но всё же в большинстве случаев лучше, чем MP3. Учитывая, что некоторые устройства из альтернатив поддерживают только WMA, я буду давать рекомендации для каждого из четырех форматов.

Насчет битрейтов: надо понимать, что оптимальным режимом кодирования является т.н. True VBR, т.е. режим с целевым качеством, а не битрейтом. В идеале результатом является трек с переменным битрейтом, но постоянным качеством (не приравнивайте эти два понятия — более сложным фрагментам трека для поддержания качества нужно больше бит). Таким образом битрейт а выходе — трудно предсказуем. Потому значения битрейтов ниже указаны только как примерные, по возможности — средние для большого количества композиций различной сложности.

Упоминаемые в этой статье, а также некоторые другие кодеры, с русскими описаниями основных параметров и рекомендациями можно найти здесь.

Сверхнизкие битрейты (

Этот диапазон прекрасно подходит для кодирования аудиокниг. И тут вариант может быть только один — AAC, а точнее, Nero AAC. Параметры следующие:

-lc -q 0.35 -ignorelength -if - -of %d

При этом материал должен быть предварительно преобразован в моно и ресемплирован до частоты 22050 Гц (желательно ресемплером SoX). На выходе получим обычное Low Complexity AAC с битрейтом около 25 кбит/с.

Для музыки в этом диапазоне тоже есть варианты:

1) Nero AAC. Тут никаких преобразований не нужно:

-q 0.15 -ignorelength -if - -of %d

На выходе — High Efficiency AAC v2 (с параметрическим стерео и синтезом ВЧ),

35 кбит/с. Прекрасный вариант для какого-нибудь интернет-радио. Только тут надо не забывать, что декодер в плеере должен поддерживать HE-AACv2, иначе получите полное отсутствие ВЧ и монофонию.

2) OGG Vorbis AoTuV — данная модификация libvorbis включает усовершенствование алгоритма кодирования с низкими битрейтами и, даже без технологии SBR, не сильно уступает HE-AACv2. Командная строка:

Полученные таким образом файлы должны быть полностью совместимы со стандартными декодерами OGG Vorbis. Битрейт — аналогичный — около 35 кбит/с.

3) WMA 10 Pro. Для таких случаев у Microsoft тоже есть что-то наподобие SBR (синтез ВЧ), звучит не так плохо, как могло бы. Правда битрейт чуть выходит за рамки — 48 кбит/с.

-silent -a_codec WMA9PRO -a_mode 3 -a_setting 48_44_2_16 -input %s -output %d

Учтите, что старые (особенно «железные») декодеры не поддерживают WMA 10. Для такого случая можно использовать WMA 9.2 (кодер тот же), правда, его качество на низких битрейтах значительно хуже.

-silent -a_codec WMA9STD -a_mode 3 -a_setting 48_44_2 -input %s -output %d

Низкий битрейт,

1) QuickTime AAC — победитель (если не считать новоиспеченный Opus/CELT) того самого теста. Ниже указаны настройки для кодера QAAC:

-s -v 64 --he -q 2 --ignorelength - -o %d

На выходе имеем HE-AAC (с SBR, но без Parametric Stereo), что должно поддерживаться различными iPod'ами и тому подобным.

2) OGG Vorbis AoTuV — хоть и оказался довольно далеко от QAAC, но всё же:

3) И на всякий случай WMA 10 Pro:

-silent -a_codec WMA9PRO -a_mode 3 -a_setting 64_44_2_16 -input %s -output %d

Для старых декодеров — WMA 9 Standard:

-silent -a_codec WMA9STD -a_mode 3 -a_setting 64_44_2 -input %s -output %d

Чуть выше,

А этот битрейт я рассматриваю уже из-за Vorbis.

1) Как показали тесты, лучше всего с ним справляется кодер OGG Vorbis AoTuV:

2) Nero AAC — очень неплохой результат. В местах, где высокие выражены не так ярко, может звучать даже лучше Vorbis'а (на высоких проигрывает из-за синтеза).
30 -ignorelength -if — -of %d

Используемый профиль — HE-AAC.

Стандарт де-факто, 128 кбит/с

Интересный факт: многие утверждают, что для MP3 128 кбит/с — «пограничный битрейт», с которого начинается неотличимое от оригинала качество. Пожалуй, это так… для пластмассовых китайских колонок с блатняком. Реально же этот порог находится где-то около 200 кбит/с, при чем новые форматы дают на этом битрейте более стабильное качество.

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

-q 0.40 -ignorelength -if - -of %d

Профиль — обычный AAC LC.

-silent -a_codec WMA9PRO -a_mode 3 -a_setting 128_44_2_24 -input %s -output %d

Для старых декодеров — WMA 9 Standard:

-silent -a_codec WMA9STD -a_mode 3 -a_setting 128_44_2 -input %s -output %d

В этом диапазоне разница межу кодерами Nero, QuickTime AAC и Vorbis практически сходит на нет. Но здесь уже на сцену выходит тот самый Musepack. Как раз на этих битрейтах начинает проявляться его преимущество (за счет необычайно гибкого VBR режима, а также принципиально другого алгоритма сжатия):

1) Musepack --silent --quality 5 - %d

2) Nero AAC -q 0.50 -ignorelength -if - -of %d

-silent -a_codec WMA9STD -a_mode 3 -a_setting 160_44_2 -input %s -output %d

Порог прозрачности:

То, о чем я говорил. При этом битрейте практически все кодеры дают прозрачный для большинства слушателей звук. И именно этот диапазон является оптимальным в плане размер/качество.

Кстати, у LAME MP3 в этом районе тоже находится подобный порог (VBR V2), но у этого кодека очень большие проблемы с пре-эхом (искажения предшествующие резким всплескам сигнала), а на слух часто ощущается Noise Shaping (шумы от ошибок квантования таким образом переносятся в высокочастотную область).

У таких же кодеков, как Vorbis, AAC и MPC на этом пороге начинается четкая прорисовка в композициях даже фоновых шумов.

1) Musepack --silent --quality 6 - %d

2) Nero AAC -q 0.55 -ignorelength -if - -of %d

-silent -a_codec WMA9PRO -a_mode 3 -a_setting 192_44_2_24 -input %s -output %d

WMA 9 Standard, максимальный битрейт воспринимаемый старыми декодерами:

-silent -a_codec WMA9STD -a_mode 3 -a_setting 192_44_2 -input %s -output %d

Разумный максимум:

225 кбит/с повышение битрейта чаще всего уже не дает слышимого прироста качества, а размер файлов, естественно увеличивается. Но всё же, для особенно сложных композиций (и хорошей аппаратуры/ушей) существуют более высокие настройки качества. На этих битрейтах для таких кодеров как Museppack и Vorbis мне даже не удалось найти киллер-семплов (проблемные семплы, на которых явно проявляются недостатки алгоритма кодирования). И так:

2) Musepack --silent --quality 10 - %d

3) QAAC -s -V 127 -q 2 --ignorelength - -o %d

4) WMA 10 Pro -silent -a_codec WMA9PRO -a_mode 3 -a_setting 384_44_2_24 -input %s -output %d

Опережая ваши вопросы: да, для некоторых из этих кодеров существуют и более высокие настройки качества, но дальнейшее их повышение уже не имеет никакого смысла. Разве что вам действительно не важен объем занимаемый музыкой памяти, а поддержкой lossless ваше устройство не располагает.

Вот, собственно, и всё, чем я хотел с вами поделиться. Пробуйте, комментируйте, задавайте вопросы.


В общем возник вопрос сравнения форматов .mp3 и .аас.
Иногда некоторые, малораспространенные источники позволяют в использовании делать выбор только между этими форматами. Теоретически известно, что аас, как и многие другие менее распространенные форматы имеет преимущество в качестве звука над .mp3. Но так ли велика разница, чтоб на ней заморачиваться?

Предлагаю разобраться!) И для пущщей шикарности добавим в сравнение формат .ogg который также встречается в различных устройствах.

Суть сравнения в следующем.
1. Вооружаемся программой SOUND FORGE.

2. Берем тестовый отрезок насыщенного качественного трека с одного из тестовых дисков. Отрезок в формате WAV 16/44

3. Далее крепко сжимаем с тестового отрезка три файла .mp3, .aac, .ogg одинаковым битрейтом 128 кб/c. Поскольку все это файлы сжимающие исходную информацию с безвозвратными потерями, их алгоритмы сжатия что-то выкидывают из исходного сигнала, а что-то добавляют от себя.

4. Разжимаем все три файла снова в WAV с параметрами 16/44 как у исходного файла. Частота дискретизации в сжатых была аналогичной исходному для избавления от мусора на ресэмплинге.

5. Поочередно накладываем с равными громкостями получившиеся файлы на исходный с полной инверсией по фазе. В результате, все идентичное в дорожках вычитается и остается только то, что было вырезано из исходного файла и то, что добавилось из того, что в исходном не было. Мусор, короче.
И по величине мусора можно прикинуть аккуратность работы с треком каждого формата. Чем меньше мусора, тем ближе итоговый файл к оригиналу. (Если исходный трек вычесть из самого себя, то остается пустая дорожка.)

Напрямую и без танцев с бубном SOUND FORGE работать с ААС не умеет. Зато он понимает видеоформат mp4 а формат этот умеет содержать звуковую дорожку в ААС. Таким образом достаточно было просто сконвертить исходный файл с mp4 с дорожкой ААС нужных параметров.


Все .wav файлы логично имеют идентичный размер в 10мб ибо их размер зависит только от хронометража трека. Зато все сжатые файлы имеют хоть не значительный но разброс в размерах ибо в сжатых файлах размер зависит от содержимого трека и алгоритмов сжатия.


Собсна наглядно сравнение выглядит на графиках формы сигнала треков с мусором следующим образом:


Видно, что лидер нашего сравнения .ogg файл. Он оставил мусора меньше всего.
Плотнячком к нему идет .ААС. В нем мусора капельку больше.
Ну, и с большим отставанием проигрывает .mp3. В нем мусора значительно больше, чем в первых двух.
Но, графики графиками, но музыку нужно слушать ушами, а не буквами и кривульками. ))

По этому вот вам архив с треками: ТЫЦ

В нем есть файл исходник. С него все конвертилось и с ним сравнивалось.
Также там есть сжатые файлы для сравнения в вашей аудиосистеме.
И, поскольку в головных устройствах воспроизведение сжатых аудиофайлов сильно зависит от алгоритмов их распаковки в PCM поток, я в архиве оставил разжатые вавки. На них вы сможете оценить разницу форматов на своих устройствах так сказать в чистом виде. Ибо во всех случаях ваше ГУ будет работать с одним и тем же форматом .wav
Сжимал все пожестче, чтобы вы могли оценить потери как на графиках, так и на слух. Даже на системах начального уровня.

Ну, собсна говоря, я этими маневрами никому америки не открыл. .mp3 далеко не лучший компрессионный формат. Его плюс только в подавляющей распространенности и необходимой достаточности. Есть масса форматов теряющих меньше при идентичном итоговом размере файла.
И если у вас есть желание слушать треки более качественно, а ваше ГУ не вопспроизводит лослесс форматы, то теоретически есть смысл нужные треки конвертить из лослесс в .ogg и .aac.
Практически, делайте выводы сами после прослушки тестовых треков. )))

З.Ы. Разумеется я в курсе, что данная метода весьма топорна, кроме того количество мусора в пределах формата ощутимо зависит от алгоритмов сжатия коих у каждого формата несколько. Цель была наглядно показать тенденцию, которая так или иначе будет таковой как на графиках и файлах. )))

Как-то так.)
Возможно, кому-то инфа окажется полезной.

UPD.
Большой респект markus912 за помощь в конвертации.
Вот вам еще инфа в догонку. Сравнение первого попавшегося кодека .mp3 кодеком LAME этого же формата, считающимся лучшим.


Первые два файла mp3 одного и того же битрейта но сконвертированные разными кодеками. Видно как с LAME мусора осталось значительно меньше и весьма близко к показателям ACC. При этом, размер файла оказался самым маленьким! 929Кб.

Ну и на закуску мусор в файле сжатым в mp3 с помощью LAME но с битрейтом 320кб/с


Шикарный результат. Файл с таким маленьким мусором многие в своих системах не отличат от лосслес.

Читайте также: