FLAC, ALAC, WavPack: аудио без потерь для мастеров и музыки

Автор: Николай СапуновОбновлено: август 202616 мин чтения
Содержание статьи +

Опубликовано: 2026-06-05 · Время чтения: 11 мин · Автор: Николай Сапунов, CEO Фора Софт

Коротко

Форматы аудио без потерь сжимают запись примерно вдвое, а при декодировании восстанавливают каждый бит оригинала – ничего не теряется, в отличие от кодеков с потерями (AAC, Opus, MP3), которые удаляют те звуки, которые, как считается, вы не слышите. В видеопродукте вы встретите три таких формата: FLAC – открытый стандарт, теперь формально описанный отдельным интернет-стандартом RFC и используемый Tidal, Qobuz и Amazon Music; ALAC – аналог от Apple, кодек для Apple Music Lossless; и WavPack – самый гибкий из трёх, единственный, кто умеет создавать «гибридную» пару: файл с потерями и файл-коррекция. Все три математически без потерь и примерно равны по размеру, поэтому выбор почти всегда определяется платформой и контейнером, а не качеством звука. Аудио без потерь нужно для хранения мастер-файлов, архивов-мезонинов или музыкальных тарифов, которые должны соответствовать Apple, – но не для повседневного стриминга, где кодеки с потерями меньше по объёму и звучат для слушателя так же.

Почему это важно

Если вы создаёте OTT-сервис, музыкальное приложение, инструмент постпродакшна или любой продукт, в котором исходное аудио сохраняется до сжатия для доставки, вам придётся выбрать формат для мастер-файла – и этот выбор будет сделан в рамках семейства форматов без потерь. Статья предназначена для продакт-менеджеров, основателей и операционных руководителей без аудиоэкспертизы: к концу вы поймёте, что на самом деле означает «без потерь», чем отличаются FLAC, ALAC и WavPack, почему все они имеют примерно одинаковый размер и в каких случаях вашему продукту нужен формат без потерь вместо более дешёвых кодеков с потерями. Каждое числовое утверждение здесь основано на управляющем документе – для FLAC это теперь формальный стандарт IETF, – а не на пересказе из вторых рук.

Что на самом деле значит «без потерь»

Кодек – это согласованный способ сжать звук на одном конце канала и восстановить его на другом. Большинство кодеков, используемых в видеопродукции – AAC, Opus, MP3, – работают с потерями: они навсегда удаляют части сигнала, которые слушатель вряд ли заметит, и декодированный звук похож на оригинал, но не идентичен ему. Кодек без потерь даёт другое обещание: он сжимает аудио так, что при декодировании вы получаете исходные данные точно, бит в бит, без каких-либо потерь. Расплата прямо в названии: вы ничего не теряете, но экономите меньше места.

Цифры делают этот обмен наглядным. Музыкальный кодек вроде Opus, описанный в статье об Opus, передаёт стереозапись со скоростью 128 кбит/с. Та же песня в формате без потерь обычно занимает 700–900 кбит/с – то есть в пять–семь раз больше. Так что вариант без потерь никогда не бывает дешёвым. Это точный вариант, и за точность приходится платить объёмом данных.

Как кодек без потерь вообще экономит место, если ничего не выбрасывает? Он использует предсказуемость. Реальное аудио не является случайным: следующий отсчёт обычно близок к предыдущим. Кодер без потерь строит небольшую математическую модель, которая предсказывает каждый следующий отсчёт на основе уже известных, и сохраняет лишь крошечную разницу между предсказанием и реальным значением – число, которое почти всегда значительно меньше исходного отсчёта и потому требует меньше битов. Чтобы восстановить оригинал, декодер применяет ту же модель и прибавляет сохранённые разницы – результат получается в точности таким же, как исходный. Эта идея – предсказать, сохранить ошибку, восстановить процесс – лежит в основе всех трёх форматов, описанных ниже. То же семейство подходов подробно разобрано в как работает сжатие звука, а исходная несжатая форма – это PCM, о котором рассказано в что такое цифровой звук.

Рис. 1. Обмен на одной картинке: с потерями – мало, но приблизительно; без потерь – больше, но бит в бит.

FLAC: открытый стандарт, доступный всем

FLAC – Free Lossless Audio Codec – самый распространённый формат без потерь и один из самых открытых. Долгое время его спецификация была доступна только в документации на сайте Xiph.org, но в декабре 2024 года он стал формальным интернет-стандартом – IETF RFC 9639 по линии Standards Track (RFC 9639, декабрь 2024). Для разработчиков это имеет большое значение: кодек, описанный стабильным и цитируемым стандартом, – это кодек, на котором можно уверенно строить продукты, не опасаясь, что он изменится под вами.

Охват FLAC широк: он поддерживает от 1 до 8 каналов, частоты дискретизации от 1 Гц до 1 048 575 Гц и разрядность от 4 до 32 бит на отсчёт – гораздо больше, чем требуется для любой реальной записи. Именно в этом и заключается его смысл: FLAC никогда не станет форматом, который не сможет вместить ваше аудио (RFC 9639, §1).

Внутри обработка проходит в четыре этапа. Сначала поток разбивается на короткие блоки длиной до 65 535 отсчётов. Затем, для стереозаписи, устраняется избыточность между каналами: вместо стандартных left/right хранится представление mid/side – ведь два стереоканала обычно очень похожи, а их разница мала и легко сжимается (RFC 9639, §4.2). Далее применяется предиктор, описанный выше: он использует либо одну из пяти фиксированных формул, либо собственную модель линейного предсказания с до 32 коэффициентами. Наконец, оставшиеся ошибки предсказания упаковываются с помощью кода Райса – энтропийного метода, оптимизированного для потоков с малыми числами и редкими выбросами (RFC 9639, §4.4).

Две практичные особенности делают FLAC безопасным выбором по умолчанию. Он хранит контрольную сумму MD5 исходного аудио в заголовке, так что декодер может проверить целостность файла – это особенно важно для архивов, которым вы планируете доверять десятилетиями (RFC 9639, §8.2). Кроме того, FLAC поддерживает потоковое подмножество: каждый фрейм содержит достаточно информации, чтобы плеер мог начать декодирование с любой точки потока, не читая заголовок файла – именно это необходимо для HTTP-стриминга. Именно поэтому FLAC используется в сервисах Tidal (который отказался от проприетарного MQA в пользу открытого FLAC), Qobuz и Amazon Music, предлагающих сегодня качество до 24 бит / 192 кГц.

ALAC: безпотерный формат Apple для экосистемы Apple

ALAC – Apple Lossless Audio Codec – это собственный ответ Apple на FLAC. Долгое время его существование было обусловлено одной простой причиной: плееры Apple не поддерживали декодирование FLAC, поэтому экосистеме Apple требовался собственный формат без потерь. ALAC создаёт бит в бит идентичную копию оригинала, как и FLAC, и поддерживает аудио с глубиной 16, 20, 24 и 32 бит в 1–8 каналах (проект Apple ALAC). В октябре 2011 года Apple выпустила кодер и декодер с открытым исходным кодом под лицензией Apache 2.0, после чего ALAC перестал быть привязанным к платформам Apple – однако на практике он по-прежнему в основном используется внутри них.

Определяющий технический факт для команды продукта – контейнер. ALAC обычно размещается внутри файла MP4 / .m4a, того же ISO base media container, что и AAC, используя небольшой блок настроек, который Apple называет «magic cookie» (проект Apple ALAC). Подробно о контейнерах – в статье аудио в контейнерах. Именно поэтому ALAC – кодек, лежащий в основе Apple Music Lossless и Hi-Res Lossless, которые стримят до 24 бит / 192 кГц на устройства Apple без дополнительной платы за подписку. Если ваш продукт ориентирован на экосистему Apple или должен соответствовать формату Apple Music без потерь, ALAC – это формат, на котором будут работать ваши мастера и путь доставки.

WavPack: гибкий формат с гибридным трюком

WavPack, созданный Дэвидом Брайантом и существующий с 1998 года, – наименее известный из трёх, но самый универсальный. В стандартном режиме это обычный кодек без потерь, как и два других. Его ключевая особенность – гибридный режим, отсутствующий у всех массовых конкурентов: вместо одного файла WavPack может создать два – компактный самодостаточный файл с потерями (.wv), который воспроизводится самостоятельно, и файл-исправление (.wvc), при добавлении которого восстанавливается полный оригинал без потерь (документация WavPack, 2024).

Это разделение действительно полезно в производственном конвейере: можно передавать или транслировать лёгкий .wv для повседневного воспроизведения, а хранить .wvc в архиве – так у вас остаётся идеальный мастер без необходимости держать отдельную полноразмерную копию без потерь. WavPack также поддерживает более экзотические форматы, чем другие кодеки, – в том числе 32-битное число с плавающей запятой, который используют современные редакторы, – поэтому он чаще применяется в мастеринге и архивировании, чем в потребительском стриминге.

Все они без потерь – так как же выбрать?

Вот удивительный факт: поскольку все три формата математически без потерь, они звучат абсолютно одинаково – идентично оригиналу и друг другу. Нет «лучше звучащего» кодека без потерь, есть лишь различия в размере файлов и скорости декодирования. Независимые тесты сообщества аудиоинженеров Hydrogenaudio показывают, что FLAC и WavPack отличаются по размеру файла всего на долю процента (около 61% от оригинала у обоих), тогда как ALAC занимает чуть больше места и декодируется медленнее.

ФорматСтатус / лицензияКонтейнерДом в 2026Особенность
FLACIETF RFC 9639, открытый.flac, также fMP4Tidal, Qobuz, Amazon MusicВстроенная проверка MD5
ALACApache 2.0, открытый с 2011MP4 / .m4aApple Music LosslessРодной для экосистемы Apple
WavPackОткрытый код (BSD-стиль).wv (+ .wvc)Мастеринг, архивыГибрид: с потерями + коррекция

Поскольку аудиофайл одинаковый, решение определяет где он будет воспроизводиться, а не его качество. Цель – устройства Apple или паритет с Apple Music? Используйте ALAC. Создаёте открытый кроссплатформенный музыкальный сервис или каталог hi-res? Используйте FLAC – это де-факто стандарт индустрии и единственный формат, описанный публичным RFC. Нужна поддержка 32-битного float или гибридный процесс с парой «потери + коррекция» для архивации? Используйте WavPack.

Частая ошибка: отдавать без потерь слушателям, которые не услышат разницы

Самая дорогая ошибка с форматами без потерь – использовать их для обычной доставки. Поток без потерь в пять–семь раз больше прозрачного потока с потерями, а на динамиках телефона, ноутбука или обычных наушниках слушатели не отличат их в слепом тесте. Платить за полосу под формат без потерь каждому зрителю видеопродукта – это трата без заметной пользы. Правильный подход – сохранять мастер без потерь, а отдавать с потерями: один раз закодируйте качественный мастер без потерь, затем перекодируйте в AAC или Opus для стриминга. Оставьте доставку без потерь для осознанного, добровольного аудиофильского или музыкального тарифа, где пользователь сам выбрал такой формат и, как правило, имеет оборудование, чтобы его оценить.

Где здесь Фора Софт

В видеопродуктах, которые мы создаём – OTT- и интернет-ТВ-платформы, системы e-learning и медиаинструменты, – выбор формата без потерь обычно делается на уровне хранения, а не доставки. Стриминговый сервис хранит мастер-файл без потерь или близкий к нему мезонин, чтобы в дальнейшем перекодировать его в новые кодеки доставки без потери качества, а пользователям отдаёт AAC или Opus. Приложение, работающее с музыкой и ориентированное на стандарт Apple Music без потерь, должно использовать ALAC внутри контейнера MP4, а кроссплатформенный каталог опирается на FLAC. Правильно выбранный формат мастер-файла с самого начала позволяет избежать болезненного перекодирования всей библиотеки в будущем.

Главное

  • Кодеки без потерь восстанавливают оригинал бит в бит; кодеки с потерями навсегда удаляют детали.
  • Файлы без потерь в пять–семь раз больше, чем прозрачный поток с потерями.
  • FLAC, ALAC и WavPack звучат одинаково – выбирайте формат по платформе и контейнеру, а не по качеству.
  • FLAC – открытый стандарт (IETF RFC 9639); ALAC принадлежит экосистеме Apple; WavPack поддерживает гибридный режим.
  • Храните мастер-файлы в формате без потерь, распространяйте – с потерями: оставьте без потерь для добровольного музыкального тарифа.

Что почитать дальше

Строите такую систему?

Подберём параметры кодирования под ваш контент и посчитаем стоимость доставки до старта разработки.