Тестирование lossy-форматов (сжатие звука с потерями)

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

С lossless форматами всё ясно, как его ни крути, как ни преобразовывай – получим исходное качество музыкального материала (если не будем играть с частотой и глубиной дискретизации). Но у lossless есть один существенный недостаток – большой “вес”. Да, объёмы накопителей постоянно растут и проблем с хранением всё меньше. Но с увеличением возможностей – растут и наши запросы. На большом винчестере хочется держать большую музыкальную коллекцию. Будем хранить все в lossless – опять упремся в нехватку места. Именно поэтому lossy форматы не теряют свою популярность.

Сжатие с потерями… Согласитесь, звучит угрожающе. Если мы сожмем музыкальную композицию – мы безвозвратно потеряем что-то, какую-то часть материала, какие-то ноты. А некоторые утверждают, что композиция потеряет свою душу.
Да, в интернете есть масса обзоров и сравнений того или иного кодера. Но проверить своими силами – всегда интереснее. Кроме этого, тесты будем проводить исключительно на AIMP, конвертировать треки с помощью встроенного конвертера и воспроизводить в самом плеере. Разберемся, какую часть души композиции отбирает тот или иной кодер!

Конфигурация

  • ОС: Windows XP Pro SP3 Rus x86
  • Метод вывода звука: DirectSound
    Как мы выяснили в статье “Тестирование методов вывода звука” – данный метод дает побитово точный вывод звука.
  • Звуковая карта: Virtual Audio Streaming
    Виртуальная звуковая карта позволяет исключить особенности железа и реализации драйверов к нему. В добавок к этому, нам будет проще списать с нее выходные данные
  • Настройки плеера и ОС: 44.1 кГц, 16 Бит/сэмпл, громкость 100%, эквалайзер и другие эффекты выключены
  • Плеер и конвертер: AIMP 3.10.1027

Участники тестов

  • MP3
  • WMA
  • OGG Vorbis
  • WavPack (гибридный режим)

Методика тестирования
Для замеров я использовал RightMark Audio Analyzer (RMAA). В ней сгенерировал тестовый WAV-файл, со следующими характеристиками: 44.1 кГц, 16 Бит/сэмпл (Качественно сжать такой тестовый файл – не проблема для любого кодера. Поэтому я решил усложнить задачу, добавил в конце файла фрагмент трека “Yello – How How” – композиции с полным спектром частот – непростая задача для сжатия. Этот фрагмент никак не повлияет на анализ полученного файла). С помощью конвертера преобразовывал получившийся файл в различные форматы с тремя настройками качества: 128 kbps, 256 kbps и 320 kbps. Воспроизводил этот файл в плеере, записывал выходной сигнал напрямую в файл и анализировал с помощью той же RMAA.

Замечание 1: По причине того, что в конвертере AIMP для формата OGG реализован только алгоритм сжатия VBR, битрейт будет немного отличаться от значений, указанных в методике тестирования.

Замечание 2: Гибридный алгоритм сжатия WavPack, в отличие от обычного, имеет лишь несколько техник по ухудшению качества звука для улучшения степени сжатия. Исходя из этого ограничения, WavPack кодер не может гарантировать точное удержание указанного битрейта.

Тест1: Сравнительный анализ для 128 kbps

Сравнительный анализ для 128 kbps

Частотная характеристика Нелинейные искажения + шум (при уровне -3 дБ)

Интермодуляционные искажения Взаимопроникновение стереоканалов

Поразила ровная АЧХ формата WMA. Кому отдать пальму первенства в этом тесте – не определился: с одной стороны – OGG имеет диапазон частот вплоть до 20 кГц, с другой – WMA до самого среза на 16 кГц имеет идеально ровную АЧХ.

Тест2: Сравнительный анализ для 256 kbps

Сравнительный анализ для 256 kbps

Частотная характеристика Нелинейные искажения + шум (при уровне -3 дБ)

Интермодуляционные искажения Взаимопроникновение стереоканалов

В этом тесте картина выравнялась. Частотный диапазон WMA оказался на пределах возможностей человеческого уха, у MP3 чуть хуже – срез на 19 кГц, зато искажения самые низкие.

Тест3: Сравнительный анализ для 320 kbps

Сравнительный анализ для 320 kbps

Частотная характеристика Нелинейные искажения + шум (при уровне -3 дБ)

Интермодуляционные искажения Взаимопроникновение стереоканалов

На этой степени сжатия характеристики ещё больше сблизились. Только WavPack выбивается из общей картины из-за смешивания стерео-каналов.

Сравнительный анализ MP3.

Сравнительный анализ MP3

Частотная характеристика Нелинейные искажения + шум (при уровне -3 дБ)

 Сравнительный анализ WMA.

Сравнительный анализ WMA

Частотная характеристика Нелинейные искажения + шум (при уровне -3 дБ)

Сравнительный анализ OGG.

Сравнительный анализ OGG

Частотная характеристика Нелинейные искажения + шум (при уровне -3 дБ)

Сравнительный анализ WavPack.

Сравнительный анализ WavPack

Частотная характеристика Нелинейные искажения + шум (при уровне -3 дБ)

Интермодуляционные искажения Взаимопроникновение стереоканалов

Выводы.

Алгоритм гибридного сжатия WavPack на всех настройках качества показал смешивание стереоканалов. И это показали не только измерения, уши это так же хорошо слышат. На деле, при прослушивании, мы получим сужение стереопанорамы, звук будет казаться менее объёмным.
Для WMA  зачастую нет смысла использовать сжатие с максимальным качеством. На 256 kbps мы уже видим полную отдачу. Но не буду утверждать, что это верно для всех композиций.
MP3 требует максимального битрейта, только тогда мы увидим действительно максимальное качество получаемого трека.
Так что же выбрать, кто лучше? WMA меньше остальных склонен к клиппингу – хрипам на максимальной громкости. OGG даже на низких битрейтах старается сохранить весь спектр частот исходной композиции. WavPack старается максимально сохранить исходное качество. MP3 предлагает нечто среднее. На максимальном битрейте почти не срезает частотный диапазон, имеет более-менее ровную АЧХ и вносит наименьшее количество искажений в исходный сигнал.
Как бы это ужасно не звучало, но мой выбор – MP3 320 kbps.
Спасибо за внимание. Прошу сильно не пинать за выводы.

12 thoughts on “Тестирование lossy-форматов (сжатие звука с потерями)

    1. soolo Post author

      Статья задумывалась, как тестирование форматов, которые есть в АИМП конвертере.
      Пока что AAC там нет, как появится – возможно, будет продолжение

      1. Black_AVP

        Ну можно было бы использовать пока сторонний кодек, уж очень хотелось бы сравнить AAC с остальными конкурсантами, и плеер этот формат поддерживает.
        Ещё интересно было бы взглянуть на результаты сравнения тех же форматов на низких битрейтах 32-48 kbps и на низких частотах дискретизации – что лучше подойдёт для записи речи.

  1. maxim-b

    Артём, спасибо.
    Кокой кодек MP3 вы использовали в, вашем, тесте?
    Fraunhofer и разные версии lame-а, на слух, звучат, очень, по разному. Но в целом я, с вами, согласен – из lossy кдеков, mp3 320 самый оптимальный. У ogg-а преимущества перед mp3 только на битрейтах выше 320; mpc хоть и имеет очень аккуратный и прозрачный верх, всё-же звучит как-то “деревянно”; только aac на низких и средних битрейтах превосходит mp3 с таким же битрейтом.

    1. soolo Post author

      > Кокой кодек MP3 вы использовали в, вашем, тесте?
      Использовался кодер из АИМП конвертера (lame) – брал версию 3.99.3

  2. Audiophile

    Сам таким когда-то занимался. Но не имеет особого смысла тестировать алгоритмы использующие психоакустику с помощью методов анализа предназначенных для цепей с постоянной передаточной функцией. Т.к. психоакустика вносит нелинейность второго порядка (если так можно выразиться) – переходные характеристики одних составляющих сигнала зависят от уровня других составляющих. Ну и конечно же крайне трудно по спектральному представлению оценить воспринимаемое звучание – ввиду большого количества особенностей человеческого слуха.

    Так что слушаем, слушаем и еще раз слушаем. Вслепую конечно же.

    1. soolo Post author

      Тесты дают вполне адекватную картину. Я не про цифры в таблицах, а про графики. Нужно лишь верно эти графики растолковать.
      Тестировать на слух – неблагодарное занятие. Звуковая память человека очень кратковременная. Прослушивая минутный тестовый звуковой фрагмент – к концу мы уже забудем как звучало начало. Чтобы запомнить как звучит тот или иной трек нужно несколько недель слушать его, и только тогда включив этот же трек в другом качестве – мы услышим разницу и сможем её описать. Ну а ещё для таких тестов нужна выборка людей, человек 50. Кроме этого оценить lossy с помощью критерия хорошо/плохо не получится. Разные кодеры предлагают нам совершенно разные подходы к сжатию. В общем, тестировать нужно всегда объективно и с помощью “синтетики”, только методику проработать. По графикам спектра можно примерно описать звучание. WV – сужение стереопанорамы, OGG и WMA – пропадание тихих звуков. MP3 – ухудшение деталировки самых верхних частот

      1. Audiophile

        А кто сказал что будет легко? Да, нужен продуманный алгоритм, много людей, статистический анализ результатов. Чисто для себя можно сделать слепой тест с мгновенным переключением, например, в foobar2000: http://audiophilesoft.ru/publ/software/abx/4-1-0-37

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

        1. soolo Post author

          Спасибо за инфу, но я любитель графиков и цифр. Принимать или не принимать эти данные всерьез – личное дело читателя.

      2. biofibre

        Тестировать на слух — неблагодарное занятие.

        Странное понятие. Слушаем ушами, тестируем только графиками? А на фиг слушать музыку, включаем визуальные эффекты, выключаем звук и наслаждаемся. В своё время определённый тип людей ( все этим болели) покупали аппаратуру, упорно ставя во главу угла технические и частотные характеристики тракта и на звук не обращали внимания. И сейчас готовы в стандартную комнату 18 кв.м засунуть напольники с низами от 25-30 Гц и говорить как классно они звучат. Можно ещё кучу примеров привести банального нежелания слушать звук и смотреть на графики тоже, но слушать в первую очередь.
        Музыканты графиками думаю не руководствуются, это для глубоких технарей и компьютерщиков. Спасибо.

        1. vlad001

          Т.е. приходя в магазин, скажем за обоями, я должен руководствоваться шире/уже, длиннее/короче по моим представлениям? Или всё таки определиться с точными данными в цифрах? Тут абсолютно то же самое, цифры даёт и сам производитель (любой), потому что это объективная величина. Представьте, давались бы характеристики в виде: лучше, красивее и т.д?
          Но напольники, полагаю будут лучше полочников, у который заявлено опять же в цифрах к примеру от 100 Гц?
          Музыканты? Вряд ли они играют на “бытовых” инструментах, на цифры они может и не смотрят, зато мы можем посмотреть. Это везде так.

Leave a Reply