Содержание статьи +
Кратко
Звук без потерь сохраняет каждый исходный сэмпл в точности, поэтому декодированный файл бит в бит совпадает с оригиналом – в отличие от MP3 или AAC, которые отбрасывают часть данных. Сам звук – это PCM (числа, описывающие звуковую волну); WAV, AIFF и BWF – контейнеры, хранящие PCM без сжатия, а FLAC и ALAC сжимают тот же PCM, не теряя ни одной детали. FLAC и ALAC обычно уменьшают размер файла до 50–70% от объёма WAV и при декодировании восстанавливают идентичный PCM – так же, как ZIP-архив возвращает документ без искажений. Используйте несжатые форматы WAV или BWF для мастер-файлов и обмена, а FLAC или ALAC – когда нужно сохранить качество без потерь при вдвое меньшем объёме и трафике.
Зачем это нужно
Если вы работаете с видеопродуктом – стриминговым сервисом, OTT-платформой, приложением для музыки и видео или медиаархивом – рано или поздно перед вами встанет вопрос: в каком формате хранить мастер-файлы. Неправильный выбор может обойтись дорого. Храните всё в несжатом WAV – и объём архива удвоится; выберите кодек, который не поддерживается вашими плеерами, – и доставка контента сломается. Эта статья даёт понятный словарь, чтобы отличать сам звук от формата его хранения, простое правило, когда сжатие без потерь окупается, и стандарты, на которые можно опереться, если заявления вендора расходятся с реальностью.
Lossy против lossless: единственное различие, которое важно
Начнём со слова, которое определяет суть процесса. Lossless (без потерь) означает, что информация не теряется: при декодировании вы получаете те же самые числа, что и при кодировании – каждый сэмпл остаётся идентичным. Lossy (с потерями) означает, что часть информации намеренно удаляется ради уменьшения размера файла, и восстановить её невозможно.
Помогает аналогия с ZIP-архивом и JPEG-фотографией. ZIP – формат без потерь: распакуйте его, и документ вернётся байт в байт. JPEG – с потерями: он удаляет детали, которые глаз вряд ли заметит, и повторное сохранение их не восстановит. MP3 и AAC – это JPEG в мире звука: они удаляют звуки, которые ухо едва ли услышит. FLAC и ALAC – это ZIP в мире звука: меньшие файлы, которые при декодировании превращаются в точную копию оригинала.
Это важно, потому что задачи разные. Кодек доставки вроде AAC оптимизирует размер файла – минимальный, который ещё будет приемлем для слушателя. Формат без потерь, напротив, стремится сохранить мастер-файл в идеальном состоянии – для архива, монтажа или повторного кодирования в любой формат доставки, который понадобится в будущем. Вы же не стали бы делать мастер-фильм в JPEG – и звук не стоит мастерить в MP3.
PCM: сам звук, до всякого контейнера
Прежде чем говорить о форматах файлов, нужно определить, что именно эти файлы хранят. Когда сигнал с микрофона оцифровывается, система измеряет уровень звуковой волны тысячи раз в секунду и записывает каждое измерение в виде числа. Получившийся поток чисел называется импульсно-кодовой модуляцией (PCM) – наиболее распространённый способ представления несжатого цифрового звука. (О том, как производятся эти измерения, см. Что такое цифровой звук: от звуковой волны к битам.)
PCM – это не формат файла. Это сырые данные: длинный список целых чисел, по два на стереофрейм, поступающих с заданной частотой дискретизации. Чтобы превратить эти сырые данные в файл, который сможет открыть другой человек, их нужно упаковать в контейнер, который фиксирует правила чтения – количество каналов, частоту дискретизации, битовую глубину, а также начало и конец аудиоданных. Без такого заголовка набор чисел PCM остаётся нечитаемым: ведь нигде не указано, 16 или 24 бита, моно или стерео, 44 100 или 48 000 сэмплов в секунду.
Значит, мысленная модель – это два слоя. Нижний слой – это звук PCM, сам аудиосигнал, который остаётся неизменным независимо от способа хранения. Верхний слой – контейнер или кодек, своего рода «обёртка», которая либо хранит эти данные без изменений (WAV, AIFF, BWF), либо упаковывает их компактнее, но обратимо (FLAC, ALAC). Держите эти слои раздельно – и каждый формат станет понятнее.
Несжатые контейнеры: WAV, AIFF, BWF
Три формата хранят PCM без сжатия. Они различаются в основном происхождением, а не качеством звука – сэмплы внутри одинаковы.
WAV (Waveform Audio File Format) – стандарт мира Windows, представленный Microsoft и IBM в 1991 году. Это частный случай контейнера RIFF – универсального формата «Resource Interchange File Format», построенного из помеченных блоков, называемых чанками. В файле WAV присутствует чанк fmt , описывающий аудиоданные, и чанк data, хранящий PCM-данные. WAV использует little-endian порядок байтов (младший байт первым) – под процессоры Intel, на которых он был разработан. Это самый универсально читаемый аудиоконтейнер в мире.
AIFF (Audio Interchange File Format) – формат от Apple, разработанный в 1988 году для Macintosh. Он основан на структуре чанков Electronic Arts EA IFF 85: верхний чанк FORM, чанк COMM (common), описывающий параметры звука, и чанк SSND, в котором хранятся сэмплы. Один важный технический нюанс: AIFF использует порядок байтов big-endian (старший байт идёт первым), поскольку процессор Motorola 68000 в ранних Macintosh также работал в режиме big-endian. Качество звука такое же, как у WAV; на уровне сэмплов различия сводятся лишь к порядку байтов.
BWF (Broadcast Wave Format) – это формат WAV с добавленными профессиональными метаданными. Он стандартизирован Европейским вещательным союзом как EBU Tech 3285 и включает чанк bext (broadcast extension), содержащий таймкод, автора, дату создания и – начиная с версии 2 (2011) – метаданные громкости по стандарту EBU R128. Полезная нагрузка остаётся обычным PCM; BWF лишь фиксирует, кто создал файл, когда и при каком таймкоде, поэтому он стал стандартом обмена в профессиональном кино- и вещательном постпродакшене. Обычный плеер WAV открывает BWF-файл и игнорирует дополнительный чанк.
| Контейнер | Происхождение | Порядок байтов | Сжатие | Типичное применение |
|---|---|---|---|---|
| WAV (RIFF) | Microsoft / IBM, 1991 | Little-endian | Нет (сырой PCM) | Универсальный обмен, монтаж |
| AIFF (EA IFF 85) | Apple, 1988 | Big-endian | Нет (сырой PCM) | Apple / профзвук, монтаж |
| BWF | EBU Tech 3285, 1997 | Little-endian | Нет (сырой PCM) | Мастера кино и вещания |
Частая ошибка: потолок в 4 ГБ у WAV
Вот ловушка, которая бьёт по длинным записям и высокому разрешению. Классические форматы WAV, AIFF и BWF используют 32-битное поле для хранения размеров чанков. Максимальное число, которое можно записать в 32 бита, – 4 294 967 295, поэтому один файл не может превышать примерно 4 гигабайта. Посчитаем для длительной многоканальной сессии: 6 каналов × 24 бита (3 байта) × 48 000 сэмплов в секунду = 864 000 байт в секунду, или около 3,1 ГБ в час. Двухчасовая запись в формате 5.1 легко превышает этот лимит, и файл либо молча портится, либо не дописывается.
Решение – RF64, расширенный формат WAV от EBU, описанный в EBU Tech 3306: он заменяет тег RIFF на RF64 и хранит 64-битный размер в новом чанке ds64, увеличивая предел примерно до 16 эксабайт. Если ваш рабочий процесс включает длинные surround-записи, требуйте инструментов с поддержкой RF64.
Кодеки без потерь: FLAC и ALAC
FLAC и ALAC делают то, чего не могут несжатые контейнеры: уменьшают размер файла, при этом по-прежнему декодируясь обратно в точно такой же PCM.
Трюк заключается в предсказании и эффективном кодировании, и его стоит объяснить простыми словами. Кодер анализирует звук короткими фрагментами и подбирает простой математический алгоритм, который предсказывает каждый сэмпл на основе предыдущих. Музыка хорошо предсказуемая от момента к моменту, поэтому предсказание обычно оказывается точным. Затем кодер сохраняет лишь небольшую разницу между предсказанием и реальным сэмплом – остаток (residual) – с помощью компактного способа кодирования чисел. Поскольку предсказание и остаток вместе полностью восстанавливают исходный сэмпл, информация не теряется. Это сжатие за счёт более умного описания звука, а не за счёт удаления его частей.
FLAC (Free Lossless Audio Codec) – открытый стандарт. Он был официально утверждён как IETF RFC 9639 в декабре 2024 года; до этого у него имелась лишь эталонная реализация и неформальная спецификация, существовавшая с 2000 года. FLAC применяет кодирование Райса (подмножество кодирования Голомба) для обработки остатка, не требует вычислений с плавающей запятой при декодировании и поддерживает уровни сжатия от 0 до 8: чем выше уровень, тем тщательнее подбор оптимального предсказателя, тем меньше размер файла – но за счёт более медленного кодирования. Важно: уровень сжатия влияет только на объём файла и скорость кодирования – при этом декодированный звук остаётся идентичным на всех уровнях. RFC 9639 также ввёл формальную поддержку 32-битного целочисленного звука.
ALAC (Apple Lossless Audio Codec) – аналог от Apple, представленный в 2004 году и открытый под лицензией Apache 2.0 в октябре 2011 года. Он использует ту же концепцию – линейное предсказание в сочетании с эффективным кодированием остатка, – а эталонная реализация поддерживает сэмплы до 32 бит и широкий диапазон частот дискретизации. В отличие от FLAC, у ALAC отсутствует возможность настройки уровня сжатия для пользователя: используется единственный фиксированный алгоритм. Главное преимущество формата – полноценная и нативная поддержка воспроизведения во всей экосистеме Apple.
Сколько на самом деле экономят?
Для типичной музыки FLAC и ALAC сжимают звук CD-качества примерно до 50–70% от размера несжатого WAV – то есть экономия составляет чуть меньше половины. По сравнению друг с другом они очень близки: на разнородном материале FLAC обычно занимает на 1–3% меньше, чем ALAC – разница, незаметная на одном альбоме, но накапливающаяся до нескольких гигабайт в большой библиотеке.
Рабочий пример наглядно демонстрирует выгоду от сжатия. Возьмём трёхминутный стереотрек CD-качества (16 бит, 44 100 Гц):
несжатый размер = 44 100 сэмплов/с × 2 байта × 2 канала × 180 с
= 31 752 000 байт ≈ 31,8 МБ (WAV / AIFF / BWF)
FLAC при ~60% ≈ 0,60 × 31,8 МБ ≈ 19,1 МБ
экономия/трек ≈ 12,7 МБ (около 40%)Умножьте на архив из 5000 треков – и для версий WAV понадобится около 159 ГБ, а для FLAC – примерно 95 ГБ: тот же звук, сэмпл в сэмпл, примерно на 60% меньше места и при схожем снижении стоимости передачи.
| Формат | Сжатие | Декодированный звук | Регулятор сжатия | Лучше всего для |
|---|---|---|---|---|
| WAV / AIFF / BWF | Нет | = исходный PCM | – | Мастера, монтаж, обмен |
| FLAC | Без потерь, ~50–70% | = исходный PCM | Уровни 0–8 | Веб, архивы, широкая поддержка |
| ALAC | Без потерь, ~50–70% | = исходный PCM | Фиксированный | Экосистема Apple |
Так что же выбрать?
Решение зависит от одного вопроса: вы создаёте или распространяете? Для мастер-файла – то есть того, что вы будете монтировать, сводить или позже перекодировать, – выбирайте несжатый WAV или, в кино и вещании, BWF, поскольку сырой PCM – самый совместимый формат, который любой инструмент читает и записывает без сюрпризов. Для архива или доставки без потерь – то есть того же идеального качества звука при меньшем объёме и трафике – используйте FLAC ради самой широкой поддержки устройств или ALAC, если аудитория находится в экосистеме Apple. Учтите: любой lossless-формат всё равно занимает гораздо больше места, чем lossy. Например, FLAC-трек объёмом 19 МБ занял бы около 5 МБ в виде потока AAC 192 кбит/с – вот почему стриминговые сервисы по умолчанию раздают lossy большинству пользователей, а lossless оставляют для премиальных тарифов.
Где здесь Фора Софт
В видеопродуктах, которые мы создаём с 2005 года – стриминговых и OTT-платформах, e-learning, приложениях для музыки и видео, медиаархивах – вопрос lossless чаще всего возникает как решение для хранения и обработки, а не для качества. Мы храним мастер- и мезонинные копии в несжатом формате PCM (WAV или BWF), чтобы каждое последующее кодирование начиналось с идеального источника, а затем генерируем из этого единого мастера потоковые версии с потерями. Когда клиенту нужен формат без потерь, мы используем FLAC для кросс-платформенной совместимости и ALAC – там, где каталог ориентирован на экосистему Apple. Основной вывод: важно разделять формат мастера и формат доставки. Сделайте мастер правильно один раз – и каждый последующий формат будет стоить недорого.
Ключевые выводы
- Lossless-формат декодируется в точные исходные сэмплы; lossy (MP3, AAC) навсегда удаляет часть данных.
- PCM – это необработанный цифровой звук; WAV, AIFF и BWF – контейнеры, хранящие его без сжатия.
- WAV использует little-endian порядок байт, AIFF – big-endian; BWF представляет собой расширенный WAV с метаданными вещания (EBU Tech 3285).
- FLAC и ALAC сжимают данные без потерь до ~50–70% от объёма WAV и при декодировании восстанавливают исходный сигнал идентично.
- FLAC (RFC 9639) – открытый формат с уровнями сжатия от 0 до 8; ALAC распространяется под лицензией Apache и является нативным для экосистемы Apple.
- Классический WAV ограничен объёмом около 4 ГБ; для длинных или многоканальных записей рекомендуется использовать RF64 (EBU Tech 3306).