Monkey’s Audio (APE). Сжимаем звук без потерь

Краткое описание
Наряду с кодеками типа MP3 существуют кодеки, работающие без потерь (lossless-кодеки). Один из наиболее эффективных — Monkey’s Audio.

Несжатые звуковые файлы имеют немалые размеры, поэтому широко используются форматы сжатия, которые можно разделить на две категории:

  • работающие с потерями (lossy),
  • работающие без потерь (lossless).

Наиболее популярны форматы, основанные на психоакустических алгоритмах сжатия. Такие алгоритмы удаляют из аудиозаписи слабо различимые человеческим слухом детали, благодаря чему достигается гарантированное многократное сжатие. К форматам этого типа относятся MP3, Ogg Vorbis, AAC, WMA и проч.

Однако неизбежные потери качества при применении lossy-кодеков делают их непригодными для хранения цифровых аудиозаписей с возможностью их восста­новления в оригинальном виде.

Формат Monkey’s Audio (APE) предназначен для сжатия звуковых файлов без потерь.

Концепция аудиоархиватора

Идея применения особых алгоритмов для сжатия данных определённого типа не нова:

  • архиваторы SFPack и SFArk позволяют сжимать банки инструментов (сэмплов) в формате SF2;
  • для сжатия звуковых файлов существуют специализированные архиваторы типа WaveZIP;
  • в популярный архиватор WinRAR как минимум с версии 2.7 встроена возможность так называемого мультимедиа-сжатия, когда при сжатии несжатых графических, звуковых и видеофайлов задействуются алгоритмы, учитывающие особенности структуры файлов в конкретных форматах, что позволяет добиться более эффективного сжатия таких файлов.

Однако использование традиционных архиваторов ведёт к невозможности воспроизведения звукового файла без его предварительной распаковки.

Одним из решений, призванных совместить в одном формате отсутствие потерь качества, высокую степень сжатия на уровне архиватора типа WinRAR и возможность прямого воспроизведения сжатых файлов, стали формат Monkey’s Audio и одноимённая бесплатная программа-конвертор, позволяющие уменьшить размер Wave-файлов от 30-50% в общем случае до многократного сжатия в зависимости от сложности звукового материала.

Возможности Monkey’s Audio

Windows-программа Monkey’s Audio Convertor, представляющая собой компрессор/декомпрессор, поддерживает моно- и стереофайлы с любыми частотами дискретизации, имеющие разрядность 8, 16 или 24 бит. Поддержка 24-разрядных звуковых файлов позволяет применять формат Monkey’s Audio в том числе в профессиональной сфере для хранения звука с высоким качеством.

При сжатии с помощью Monkey’s Audio не происходит никаких потерь качества по сравнению с файлом-оригиналом. Более того, сохраняются дополнительные служебные данные, к которым можно отнести информацию о маркерах, регионах (расставленных, например, при помощи звукового редактора Sony Sound Forge), а также параметры петли (loop) и проч., имеющие место в оригинальном Wave-файле. Фактически перед нами настоящий, полноценный архиватор, обладающий рядом преимуществ перед своими традиционными конкурентами типа WinRAR:

  • более высокая степень сжатия;
  • более высокая (вплоть до различий на порядок) скорость работы;
  • возможность прямого воспроизведения сжатых файлов;
  • поддержка информационных тегов (подобно формату MP3) с вытекающей возможностью создания удобных в использовании звуковых архивов.

Эффективность Monkey’s Audio

Доступно несколько режимов сжатия: от самого быстрого и наименее эффективного до самого медленного, но обеспечивающего наиболее сильное сжатие. По степени сжатия Monkey’s Audio превосходит большинство аналогичных продуктов, включая FLAC, WavPack, WaveZIP, а также традиционные архиваторы типа WinZip и WinRAR. Подробная таблица сравнения Monkey’s Audio с десятком конкурентов приведена в разделе «Comparison Chart» комплектного файла справки.

Декодирование APE-формата требует в несколько раз больше процессорных ресурсов, чем формата с потерями, например, MP3. Однако с учётом быстродействия современных процессоров это не является проблемой.

Комплект поставки Monkey’s Audio

В комплекте с программой-конвертором Monkey’s Audio поставляется плагин (программный модуль), позволяющий воспроизводить файлы в формате Monkey’s Audio при помощи плеера Winamp. Плагин поддерживает кириллицу в тегах. Из интересных его особенностей можно выделить возможность нормализации файлов в реальном времени (непосредственно во время воспроизведения). Нормализация — это подъём громкости звука во всём файле до максимально возможного уровня. Эта функция доступна при воспроизведении файлов, созданных при помощи конвертора Monkey’s Audio версий 3.0 и выше.

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

В настройках плагина можно задать маску, в соответствии с которой композиции будут отображаться в плэйлисте Winamp, по умолчанию же она имеет традиционный вид «Исполнитель - Название композиции». И, разумеется, есть редактор информационных тегов, аналогичный редактору ID3-тегов штатного MPEG-аудиоплагина Winamp.

Доступен официальный SDK (комплект для разработки ПО), позволяющий добавлять поддержку Monkey’s Audio в сторонние программные продукты.

Конкуренты и выводы

К сожалению, Monkey’s Audio долгое время распространялся без исходных кодов модулей кодирования/декодирования, а поддержку Monkey’s Audio в сторонние продукты предлагалось добавлять с использованием заранее скомпилированной Windows-библиотеки. Поэтому перенос Monkey’s Audio на другие платформы был затруднён, и на сегодня встроенная поддержка формата Monkey’s Audio представлена не очень широко.

В то же время аналогичный формат FLAC, несмотря на чуть менее эффективное сжатие, поддерживается исключительно широко — во многом благодаря тому, что программа для кодирования в формат FLAC распространяется с исходными кодами и лицензией, допускающей их свободное изменение и разработку независимых реализаций. В результате поддержка FLAC встроена во многие программные проигрыватели — например, Winamp и foobar2000 для Windows, и характерна для самых разных платформ, включая Linux, Android и аппаратные плееры известных производителей (например, WD TV Live, ASUS O!Play и проч.).

Тем не менее, если для вас основное значение имеет высокая степень сжатия и не сильно интересует возможность прослушивания вне Windows или не на компьютере, то Monkey’s Audio — ваш выбор.