Lame кодек какой лучше
Что такое кодек и зачем нужны кодеки
Кодек — это небольшая программа, которая предназначена для сжатия (кодирования) и распаковки (декодирования) цифрового файла мультимедиа, к примеру видео или музыкального файла.
Кодек состоит преимущественно из двух компонентов — декодера и кодировщика. При этом главная функция декодера — распаковка, то есть декодирование, а функция кодировщика — сжатие, то есть кодирование. Стоит отметить, что кодеки могут включать в себя как оба компонента, так и один из них. Кодеки позволяют кодировать поток/сигнал для шифрования, хранения или последующей передачи и, к тому же, раскодируют его для расшифровки, воспроизведения.
Не менее актуальный вопрос: зачем нужна такая кодировка?
Файлы мультимедиа имеют достаточно большой размер, а это, согласитесь, не очень удобно, поскольку они занимают место на диске и их сложнее передавать по сети, чем файлы небольшого размера. Таким образом использование кодеков позволяет значительно уменьшить исходный размер таких файлов, при этом сохраняя достаточно хорошее качество.
Следует помнить, что сами по себе кодеки не способны воспроизводить файлы мультимедиа. Они необходимы для того, чтобы «помочь» программам-проигрывателям воспроизводить данные файлы, к примеру проигрывателю Windows Media Player. Но также существуют проигрыватели, уже содержащие специальные встроенные кодеки. Это, к примеру, медиа-плеер Light Alloy или проигрыватели KMPlayer и VLC.
У таких проигрывателей нет проблем при воспроизведении различных форматов видео и аудио, поскольку кодеки им не требуются.
Как найти кодек?
Из-за существования огромного количества различных форматов хранения файлов мультимедиа существует и огромное множество кодеков. Вот малый список исключительно только самых популярных кодеков:
Видео кодеки: Cinepak, MPEG-1, MPEG-2, MPEG-4, DivX, xVid, RV, Indeo, WMV, H.261, H.263, H.264, RM и так далее.
Аудио кодеки: MP3, RAM, ACELP.live, AU, LAME, Ogg Vorbis, AAC, RA, AIF, WMA и так далее.
Найти кодек, при наличии сведений об идентификаторе кодека и его имени, можно в интернете. Однако, можно воспользоваться специальными программами для определения типа видео- и аудиокодеков. Вот некоторые из них: MediaInfo, aviinfo, VideoInspector, GSPOT и другие.
Такие программы позволяют легко определить, какой именно используется кодек в проигрываемом аудио и видео файле. Таким образом можно также легко определить, какой кодек нужно поставить для прослушивания или просмотра файла. Многих интересует вопрос: существует ли возможность сразу установить все самые необходимые кодеки?
Действительно, такая возможность есть и называется она пакет кодеков. Данный пакет представляет собой программу, позволяющую во время установки выбрать только самые необходимые инструменты и кодеки, при этом убрав или установив в соответствующих пунктах галочки. Стоит отметить, что самым популярным пакетом кодеков является бесплатный пакет K-Lite Codec Pack. Данный пакет при установке позволяет избежать различных проблем между уже установленными и новыми кодеками, а также может решить и некоторые из уже существующих проблем.
Почему при установке недостающего кодека воспроизведение файла по-прежнему недоступно?
Кодеки как правило предназначаются либо для 64-разрядной версии операционной системы либо для 32-разрядной. Стоит отметить, что при использовании 64-разрядной версии ОС нужно устанавливать и 64-разрядные версии кодеков. Помните, обычно доступны лишь 32-разрядные версии кодеков.
Как определить, какие кодеки установлены на компьютере?
Для того, чтобы определить, какие кодеки проигрывателя Windows Media установлены на компьютере, необходимо выполнить следующие действия: в меню Справка нужно выбрать пункт «О проигрывателе Windows Media», после чего в этом диалоговом окне щелкните Служба технической поддержки.
Просмотр информации о кодеках, установленных в Windows
Далее откроется страница со сведениями об установленных фильтрах, файлах, кодеках и так далее. Все просто и понятно. Причем можно узнать не только о том, какие кодеки установлены в системе, но и какие dll-файлы за них отвечают. Такие сведения значительно облегчат работу при устранении различных неполадок компьютера.
Какие кодеки установлены в системе? Сейчас узнаем.
Кодеки и форматы файла — одно и тоже?
Ответ на это вопрос прост: кодеки и форматы файла это не одно и тоже, хотя в большинстве случаев их достаточно легко можно спутать. Формат файла можно сравнить с неким контейнером определенного типа. Внутри данного контейнера содержатся данные, сжатые с помощью определенного кодека.
К примеру, формат файла Windows Media Audio содержит преимущественно данные, которые были сжаты с помощью кодека Windows Media Audio. Формат файла Audio Video Interleaved (AVI) может содержать данные, которые были сжаты с помощью различных кодеков, например DivX, XviD или MPEG-2. Также файлы AVI могут содержать и данные, не сжатые не одним из кодеков. Таким образом пользователь может воспроизвести только лишь файлы AVI. Также может быть доступно воспроизведение только аудиопотока файла AVI, а воспроизведение видеопотока — нет.
Данное исследование попытается пролить свет на то, как изменялся кодек LAME за прошедшие 13 лет. Список версий, которые попали в это тестирование:
- LAME 3.97 — 24 сентября 2006
- LAME 3.98.4 — 22 марта 2010
- LAME 3.99.5 — 28 февраля 2012
- LAME 3.100 — 13 октября 2017
Подробное описание новой методики тестирования можно найти здесь. Самый лакомый кусок свежей методики — спектральный анализ искажений, вносимых алгоритмом сжатия с потерями.
Запуск тестов производился на MacBook Pro 2018 года с процессором 2.3 GHz Intel Core i5 Coffee Lake (8259U), 6 MB L3. К сожалению, сборки старых версий кодека под MacOS найти не удалось, поэтому я решил воспользоваться сборками под Windows и эмулятором Wine. Может быть, когда-нибудь я смогу раздобыть компьютер с Windows, чтобы проводить тестирования более честно.
Для запуска применялся единственный ключ --preset extreme . Как сообщается в документации кодека, эта преднастройка рекомендуется для людей с очень хорошим слухом и отличным оборудованием, она предоставляет качество слегка выше --preset standard . Ожидаемый результирующий битрейт: 200-240 кбит/с, в зависимости от сложности музыки.
Теперь немного о треке, который был использован при тестировании. Являясь поклонником творчества российской группы Abyssphere, я поддерживал их рублём при их создании нового альбома «На пути к забвению». Одним из бонусов этой поддержки являлась возможность получить этот альбом в цифре в виде высококачественных WAV-файлов. Чем я не удержался воспользоваться. Итак, тестирование проводилось на треке «Вирус» из вышеупомянутого альбома.
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 (внизу)
Общие сведения
Формат иногда путают с MPEG-3, но MP3 предназначен для сжатия исключительно аудиоинформации и полное название звучит как MPEG Audio Layer-3. MPEG-3 же предназначался для использования в системах телевидения высокой четкости (HDTV) с битрейтом потока 20-40 Мбит/с, но позже стал частью стандарта MPEG-2 и отдельно теперь не упоминается.
Нельзя сказать, что этот формат аудиосжатия легко пробился к массовому пользователю. На начальном этапе раскрутки Fraunhofer — институт, создавший МP3, едва не убил собственное детище не в меру поспешной жадностью (кстати, многие разработчики новых аудиоформатов, совершают ту же ошибку), но, увидев, что никто не желает платить деньги за кота в мешке, сделала единственно верный шаг — сделала этот формат открытым и бесплатным. Сказать, что после этого МP3 стал популярен — значит ничего не сказать. Это был взрыв популярности! Этот аудиоформат столь резво пошедший в массы обладал по тем временам нереально высоким коэффициентом сжатия звука при достаточно высоком качестве звука и с легкостью покорял любого пользователя, который любил слушать музыку. С молниеносной быстротой появилась целая индустрия: МP3-сайты, которые занимались только МP3, производители программных и аппаратных проигрывателей музыки в МP3 формате, нелегальные распространители музыкальных композиций, более известные как пираты, первые додумавшиеся до выпуска дисков типа «все песни этой группы на одном диске». Невероятно возрос спрос на пишущие CD-R дисководы и чистые диски для них. МP3 теперь всюду — это признанный звуковой формат. Его используют в играх, кодеки встраивают в операционные системы. Вот уже несколько лет МP3 на вершине популярности…
Но вот, эйфория, вызванная его появлением, потихоньку прошла, и стало ясно, что МP3 вовсе не безупречен. Несмотря на высокую степень сжатия, размер файлов все же слишком велик, чтобы сделать МP3 по-настоящему сетевым форматом, а 128 kbps, столь любимый пиратами и народом, дает настолько низкое качество, что огрехи при воспроизведении слышат не только продвинутые музыканты и меломаны, но и вполне рядовые пользователи. В свете этого возникла нужда в новых альтернативных более прогрессивных алгоритмах компрессии звука. И такие алгоритмы появились очень быстро. Некоторые из них начали разрабатываться практически одновременно с МP3 (например VQF), но по каким-то причинам вышли позже и упустили пальму первенства, некоторые алгоритмы разрабатывались и позиционировались разработчиками уже как замена МP3 (семейство MPEG-2 ААС). Тем не менее, эти алгоритмы по своим возможностям и качеству во многом превосходят MP3.
Спектральный анализ искажений
Попытаемся выяснить, как же проявили себя сделанные изменения в частотном диапазоне на логарифмической шкале.
Сделаю небольшое пояснение: версии 3.97 + 3.98.4 и 3.99.5 + 3.100 практически полностью слились в два графика (жёлтый и синий).
Версия 3.98.4 для пресета extreme привнесла только совсем небольшое увеличение искажений на частоте около 19 кГц. Что мне показалось довольно странным, учитывая количество проделанной работы над качеством. Но давайте посмотрим дальше, версия 3.99.5 позволила сильно снизить уровень искажений на частотах выше 16 кГц, а также слегка от 13 до 16 кГц. И, обратившись к списку исправлений в 3.99.5, можно предположить, что в данном случае в версии 3.98.4 просто не включился модернизированный VBR режим:
All encoding modes use the PSY model from new VBR code, addresses Bugtracker item [3187397] Strange compression behavior
И, тем не менее, на частотах от 7 до 13 кГц уровень искажений в 3.99.5 слегка увеличился, что тоже можно списать на изменения в психоакустической модели. Это совсем слабое ухудшение, но немного досадно, что оно произошло на частотах, которые уже достаточно неплохо улавливаются человеческим ухом.
Версию 3.100 в этом разделе рассматривать не имеет смысла, она не внесла никаких изменений в уровень искажений на всём спектре частот.
Итоги
Конечно, можно сказать, что кодек LAME стагнировал и практически перестал развиваться в последнее время, но и сам формат MP3 уже достаточно стар, согласитесь. Но и всё же, можно совершенно смело рекомендовать последнюю версию, она даёт улучшенное качество наряду с повышенной производительностью. Я всё ещё немного сомневаюсь в выборе Wine для оценки производительности, но считаю, что порядки показателей как минимум должны быть адекватными.
Спасибо за проявленный интерес к теме и до встречи в новых исследованиях!
Это наверное самый логичный шаг после обкатывания и отладки новой методики тестирования: взять кодеки с потерями, которые все считают одними из лучших, и посмотреть, кто кого? В сегодняшнее тестирование попали:
- Apple AAC LC — утилита afconvert, входящая в состав MacOS.
- Ogg Vorbis libvorbis 1.3.6 aoTuV b6.03 — наиболее свежая модификация с оптимизациями качества кодирования.
- Opus 1.3.1 — самый современный кодек и формат кодирования с потерями, позиционируется как лучший на момент написания статьи.
- LAME 3.100 — самая свежая стабильная версия кодека для работы с популярным и по сей день форматом MP3.
Могу сказать, что ради интереса я поверхностно прогнал старичков faac и nero для кодирования в AAC LC. Можно сказать, faac сдался сразу же, на частотах выше 6 кГц он вёл себя на порядок хуже конкурентов. А вот nero удивил, сухие цифры говорят, что он и по сей день прекрасен на частотах до 9500 Гц и даже вполне в паритете с современным Opus! Но, начиная с 13 кГц nero полностью проваливается и сдаёт все позиции конкурентам. Эти два кодека я всё же решил убрать из результатов тестирования. Вероятно, я сделаю обзор на них позже.
В будущем я также думаю сделать обзор, насколько в действительности модификация aoTuV улучшает качество оригинального кодека Ogg Vorbis.
Но давайте продолжим, кто же из 4 перечисленных претендентов на лучший кодек сможет отстоять своё звание?
LAME 3.99.5
В этой версии упор был в основном сделан на тюнинг всё той же психоакустической модели для нового VBR. Изменений на первый взгляд было не так уж и много.
MP3Pro
Расширенная версия от Coding Technologies, которая использует Spectral Band Replicaton (отражение спектральной полосы частот) — SBR, чтобы повысить его эффективность для битрейтов ниже 96 kbps stereo. Не будучи частью MPEG стандарта, поддержка mp3PRO обеспечивается только некоторыми программными и аппаратными продуктами, например Thomson демо плеер/кодировщик и input plugin для Winamp, MusicMatch JukeBox, Nero, dbPowerAMP, JetAudio, Steinberg myMP3PRO, Impload, Spacial Audio, Audion 3, RCA Lyra портируемый и DVD плеер. Это возможно не изменится в будущем, тем не менее некоторые слуховые тесты показали хорошую производительность на низких битрейтах по сравнению с другими кодеками.
Эффективность сжатия
Что касается размера итогового файла, то тут произошли совсем небольшие изменения, всего 0.6% при переходе 3.98.4 → 3.99.5. Но, тем не менее, тоже результат, учитывая сниженный уровень искажений на высоких частотах.
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, представляет собой пример адекватного мастеринга с сочным саундом, студийными эффектами и сохраненным при этом динамическим диапазоном.
Список основных изменений
Итак, прежде чем углубляться в результаты, давайте пробежимся по важным изменениям, касающимся качества и производительности, которые вносились от версии к версии.
Opus 1.3.1
Скорость кодирования
В этой рубрике кодировщик Ogg Vorbis работал в эмуляторе Wine, поэтому не будем брать в рассмотрение его слабый результат. Могу сказать, что без эмулятора кодировщики Ogg Vorbis весьма и весьма быстрые.
Кодеки отсортированы по скорости декодирования по возрастанию. Тем самым мне хотелось сделать акцент на бытовое применение кодека, так как зачастую именно с этой процедурой сталкиваются потребительские устройства вроде плееров и смартфонов.
Что ж, несмотря на всю свою технологичность, очевидно, что декодирование музыки в формате Opus будет требовать гораздо больших вычислительных ресурсов. Если сравнить с кодеком AAC Apple, то эта разница просто феноменальна и достигает 7 раз!
Что же касается декодеров Ogg Vorbis и LAME, они показывают себя наравне. Хм, здесь очень интересно, насколько оптимальный декодировщик встроен в Spotify, потому что, если результаты их плеера сравнимы с полученными выше, то Apple Music, вероятно, окажется намного более долгоиграющим на одном заряде. Стоит учитывать, что при тестировании использовались оригинальные и референсные декодеры, которые в других реализациях могут показать гораздо более высокие результаты. Впрочем, то же самое можно сказать и про Opus.
Тестирование
Итак, пришло время взглянуть на результаты.
Параметры исследования
Командные строки запуска кодеков:
Ogg Vorbis libvorbis 1.3.6 aoTuV b6.03
Apple AAC LC afconvert
AAC: поднять шум, но сохранить чистоту
Более аккуратным образом действует алгоритм ААС, которым активно оперирует Apple, да и не только он. С данным аудиокодеком работают цифровые ТВ-бродкастеры, а кроме того, ААС входит в пакет контейнера MPEG-4.
Квадратная волна после конвертации в ААС сохраняет свою форму, хотя искажения основания и гармоники вокруг пика 1 кГц тоже имели место, хотя и менее заметно, чем в МР3. При этом ААС демонстрирует больший на 1 дБ измеренный уровень шума. Что бы это значило — промежуточная запись на кассету, что ли? Нет, наверняка в алгоритме ААС используется что-то вроде нойзшейпинга — великое изобретение, позволяющее снижать ошибки квантования за счет подмешивания псевдослучайного шумового сигнала. Повторюсь, это не просто утопление искажений ниже шумового порога — здесь применяется более изощренная математика.
Для иллюстрации посмотрим артефакты вокруг так называемого джиттер-теста на частоте 11,025 кГц. Почему именно эта частота? Потому что кратная гармоника к этому пику приходится ровно на верхнюю границу спектра из цифрового потока с дискретизацией 44 кГц, а все остальные будут находиться за его пределами. Паразитные маленькие пики, особенно те, которые располагаются симметрично относительно основного тона (продукты модуляции, «боковые полосы») — вот это и есть зерна джиттера.
Устойчивость в джиттер-тесте ААС (вверху) и МР3 (внизу)
Как видим, дурак-МР3 сберег низкий уровень шума, но сгенерировал больше высокочастотного джиттера (наиболее заметного на слух), а AAC немного поднял шум, зато избежал паразитов на остальных участках спектра. Но еще большие фокусы с нойзшепингом вытворяет кодер WavPack.
LAME 3.100
Эта версия включает в себя мелкие улучшения, исправления ошибок и уязвимостей. На момент написания статьи является наиболее новой.
Результаты
Давайте начнём с самого интересного, анализа вносимых искажений. Не могу сказать, что нам открывается что-то поразительное, но, тем не менее, картина весьма занятная.
Производительность
Годы разработки явно дали свои плоды, и мы видим, как время кодирования снизилось на 38% с 11.2 до 7 секунд, а декодирования в почти 3 раза с 5.3 до 1.8 секунд! Отличные показатели, тут разработчики явно постарались на славу. Интересно, что в 3.98.4 мы явно столкнулись с какой-то регрессией производительности (а может быть и проблемами запуска в Wine или недостаточной статистической выборкой).
LAME 3.100
Битрейты были подобраны так, чтобы размеры итоговых файлов были примерно одинаковыми: в диапазоне от 11.4 до 11.8 МБ. Оригинал был сжат более чем в 7 раз.
Выводы
По итогам прослушивания все треки разделились на две группы. В первую по степени неразличимости попали оригинал, 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 при сопоставимом размере файла оказался лишен данного недостатка и может быть рекомендован для широкого применения в портативном аудио и различных стриминговых сервисах.
LAME 3.97 → 3.98.4
В версии 3.98 было сделано много исправлений в психоакустической модели (PSY model) и доработок нового VBR режима, всё это так или иначе должно было повлиять на качество и производительность. Это был довольно большой релиз, в котором была проделана большая работа.
Итоги
Очень сложно вынести окончательный вердикт, так как, с одной стороны, Opus и правда справляется со своей задачей намного лучше конкурентов. Но, с другой, он выглядит очень требовательным к ресурсам. Учитывая всё, я думаю, что готов объявить результаты:
- Первое место делят между собой кодеки Apple AAC и Opus 1.3.1. Это лучшие кодеки сжатия с потерями среди выбранных претендентов. Применяйте их в зависимости от вашей сферы: если вам нужно воспроизведение на слабых устройствах, берите Apple. Если же вы хотите получить лучшее качество без оглядок на требовательность к ресурсам: с уверенностью применяйте Opus.
- Второе место отдаётся Ogg Vorbis libvorbis 1.3.6 aoTuV b6.03. Хоть он и провалился на средних частотах, но всё же на частотах выше показал себя весьма неплохо.
- Третье место занимает LAME 3.100 из-за его слабостей на высоких частотах и ярко-выраженной полочки со срезом сверхвысоких частот.
Надеюсь, исследование вышло интересным и позволит вам принять правильное решение в выборе подходящего кодека. До новых встреч в новых исследованиях!
Если не lossless, то кот? MP3, AAC — что еще? Ранее мы уже несколько раз изучали алгоритмы сжатия музыки, настало время сравнить самых достойных.
По-хорошему следовало бы отречься от lossy-кодеков вовсе, но всегда интересно прочертить границу, где количество переходит в качество. Кроме того, даже lossy-кодек может кое-чем удивить, вот увидите.
В данном обзоре было решено не морочить голову разными VBR-режимами, а сразу остановиться на максимальном битрейте с постоянной величиной 320 кб/с. Сегодня, при современной емкости портатива, выпрашивать лишние 10 Мб на емкость альбома с риском потерять в качестве? Зачем? В целом, даже с древними кодеками поток 320 кб/с обеспечивает отсутствие характерных артефактов с мерзкими позвякиваниями. Первая часть обзора будет посвящена сравнению роста артефактов с помощью софта RMAA, во второй — изложен субъективный опыт слушателя на реальных фонограммах.
Сравнительная АЧХ трех lossy-форматов относительно оригинала WAV
Если в прошлый раз в качестве источника звука использовался iPad Mini, то сейчас для повышения точности мы выносим любое влияние железа за скобки, и далее весь анализ искажений будет проводиться исключительно в цифровом домене, без преобразования в аналог, поскольку RMAA предоставляет такую возможность.
Для этого генерируем в RMAA тестовый образец в WAV, затем поочередно загоняем его в различные lossy-кодеки. Далее конвертим обратно из них WAV, чтобы программа могла «узнать» файл и оценить отклонения от оригинального шаблона. Теперь смотрим, как рубятся высокие частоты и растут искажения, которые придают противную окраску звуку. Их, кстати, будет не так уж и много. Вообще, на битрейте 320 кб/с поймать на слух явно что-то вредное будет не так просто. Речь пойдет не об артефактах даже, а разве что некоторой «тупости» звука по сравнению с оригиналом. Фонограмма как будто чуть выдыхается, теряет подвижность из-за нарушения переходных процессов после психоакустической обработки. Но явственно зафиксировать эту разницу получится не всегда, зависит от конкретного трека.
Искажения
Что же у нас тут?
Apple AAC LC называют одним из лучших потребительских AAC кодеков на сегодняшний день. И действительно, он прекрасно держится и проигрывает только технологичному Opus. Но у нас будет ещё одна важная рубрика, посмотрим, как он поведёт себя дальше. Говоря более детально, он хорошо себя показывает на частотах до 3.5 кГц, и до самого потолка, можно сказать, держится наравне с Ogg Vorbis, то слегка выигрывая, то проигрывая.
Ogg Vorbis уже довольно старый формат и на диапазоне самых важных, на мой взгляд, частот от 1 кГц до 4.3 кГц проигрывает всем в степени искажений. Тем не менее, на высоких частотах от 7кГц он с лёгкостью обходит другой ещё более почтенный кодек LAME.
LAME обладает одной из самых низких степеней искажений до 3.5 кГц, затем постепенно сдаёт позиции и проваливается на частотах 6 кГц и выше. Кодек, история которого начинается больше 20 лет назад даже сегодня показывает вполне достойные результаты.
Opus наконец выглядит безусловным фаворитом этой рубрики. Я думаю, вы тоже заметили, что я опускаю рассмотрение искажений на низких частотах, где этот кодек выглядит хуже всех, но, учитывая логарифмическую шкалу и порядки искажений в сотые доли процента, не стоит так сильно упирать на этот момент. Тем не менее, стоит отметить, Opus действительно ведёт себя заметно хуже других кодеков на частотах до 1 кГц, но это примерно 0.04% у других и 0.08% у Opus. Это достаточно низкие показатели в абсолютных величинах. На частотах выше, вплоть до 14 кГц, этому кодеку нет равных, он идёт с большим отрывом, затем ненадолго сравнивается с Apple AAC и снова уходит в отрыв на сверх-высоких частотах выше 16.5 кГц. Стоит сказать, что этот кодек меньше всего «зарезает» сверхвысокие частоты, хотя для среднестатистического человека с обычными наушниками эти частоты уже почти не слышимы.
Читайте также: