Что такое WAV и FLAC?
WAV и FLAC — два формата, которые хранят звук без потери ни одного отсчёта — оба являются кодированием без потерь. Делают они это совершенно по-разному. WAV — это простой контейнер, который хранит несжатые отсчёты PCM ровно так, как их выдал микрофон или синтезатор: каждый снимок амплитуды записывается в файл дословно, поэтому WAV большой, но полностью пригоден для редактирования и является универсальным промежуточным форматом для студий. FLAC упаковывает тот же PCM в компрессор без потерь, который обычно уменьшает файл на 50–60%, но при этом позволяет побитно точно вернуться к исходным байтам — decode(encode(x)) равно x, каждый раз. Оба формата сохраняют каждый отсчёт, в отличие от форматов с потерями, таких как MP3, AAC и Ogg Vorbis (о них — на отдельных страницах); цена вопроса — размер файла.
Пять фактов, которые помогут разобраться с остальной частью страницы:
• WAV = контейнер RIFF с сырым несжатым PCM (никакого сжатия вообще)
• FLAC = сжатие PCM без потерь, обычно на 50–60% меньше, декодируется побитно точно
• битрейт (бит/с) = частота дискретизации (Гц) × глубина бит × число каналов — только три параметра определяют размер PCM
• размер WAV (байт) = битрейт × длительность_в_секундах / 8 — полностью предсказуемый расчёт
• Найквист: максимальная воспроизводимая частота = частота дискретизации / 2; 44,1 кГц передаёт до 22,05 кГц, что выше слышимого человеком диапазона (20 кГц)
PCM и принцип работы цифрового звука
PCM (импульсно-кодовая модуляция) — универсальный сырой формат цифрового звука: аналоговая волна нарезается на равные промежутки времени (частота дискретизации), и в каждый момент амплитуда округляется до ближайшего из фиксированного числа дискретных уровней (глубина бит). Запись 44,1 кГц / 16 бит / стерео сохраняет 44 100 измерений амплитуды в секунду на каждый канал, каждое округлено до одного из 216 = 65 536 уровней (для 24 бит — один из 224 = 16 777 216). Теорема отсчётов Найквиста–Шеннона утверждает, что дискретизированный сигнал можно точно восстановить, если его наивысшая частота ниже частоты дискретизации / 2. Слух человека простирается примерно до 20 кГц, поэтому 44,1 кГц (передача до 22,05 кГц) математически достаточно для точного воспроизведения — именно поэтому стандарт CD использует именно эту частоту.
Глубина бит определяет динамический диапазон (отношение между самым громким и самым тихим сигналом), а не частотную характеристику. Каждый дополнительный бит добавляет около 6,02 дБ теоретического отношения сигнал/шум: 16 бит дают 98,1 дБ, 24 бита — 146,2 дБ, 32-битный вещественный формат (используемый внутри DAW) — 194,4 дБ. Реальное оборудование никогда не достигает теоретической величины: хорошо спроектированный 24-битный АЦП даёт примерно 120 дБ полезного диапазона (виниловая пластинка: ~70 дБ, кассета: ~60 дБ).
WAV — это контейнер PCM
WAV (или WAVE, официально WAVEform Audio File Format) — контейнер RIFF от Microsoft и IBM, определённый в 1991 году. Его структура на диске состоит из трёх фрагментов подряд: заголовок RIFF длиной 12 байт, который называет файл WAVE, фрагмент fmt , описывающий формат PCM (частота дискретизации, число каналов, глубина бит), и фрагмент data, содержащий сами сырые отсчёты. Байты идут в порядке little-endian; формат не менялся 35 лет; любая операционная система и DAW читает его нативно.
Поскольку WAV хранит сырой PCM без сжатия и без накладных расходов сверх заголовка, размер файла точно предсказуем: байты = частота дискретизации × глубина бит × число каналов × длительность_в_секундах / 8. Трек качества CD (44,1 кГц / 16 бит / стерео, битрейт 1 411 200 бит/с = 1411,2 кбит/с) расходует 1 411 200 ÷ 8 = 176 400 байт в секунду, что составляет 10,584 МБ в минуту или примерно 42,336 МБ для 4-минутной песни. Студийный формат 48 кГц / 24 бит / стерео (битрейт 2304 кбит/с) достигает 17,280 МБ в минуту. Именно эта предсказуемость делает WAV по-прежнему отраслевым форматом обмена.
FLAC — сжатие без потерь
FLAC (Free Lossless Audio Codec) был создан Джошем Коултсоном в 2001 году как открытая и свободная от роялти альтернатива тогда ещё проприетарному ALAC от Apple. Он работает с блоками отсчётов (обычно по 4096 при уровне 5) в три шага: межканальная декорреляция (делает два стереоканала более похожими), линейное предсказательное кодирование (предсказывает следующий отсчёт по предыдущим и хранит лишь малый остаток) и энтропийное кодирование Райса (почти оптимальный способ упаковать небольшие целые числа в биты). Ключевое свойство: декодирование возвращает исходный PCM побайтно. FLACdecode(FLACencode(x)) === x. Это тождество и делает FLAC кодеком без потерь — не «высокого качества», а побитно идентичного.
FLAC предлагает 9 уровней сжатия (0–8), которые обменивают скорость кодирования на размер файла. Уровень 0 — самый быстрый и даёт уменьшение лишь около 30%; уровень 5 — по умолчанию и достигает около 55%; уровень 8 выжимает около 62%, но кодируется в 4–5 раз дольше. Реальные коэффициенты зависят от музыки: сольные фортепианные или вокальные треки уменьшаются на 45–50%, потому что сигнал разрежен; плотная оркестровая или электронная музыка уменьшается на 55–65%, потому что шумовой фон более предсказуем. Типичный 4-минутный трек качества CD на уровне 5 занимает около 19,05 МБ — почти ровно половину от 42,336 МБ WAV.
Битрейт и расчёт размера файла
Битрейт любого потока PCM задаётся одной короткой формулой: бит/с = частота дискретизации × глубина бит × число каналов. Типичные опорные значения:
- 1411,2 кбит/с — аудио CD (44,1 кГц / 16 бит / стерео)
- 1536 кбит/с — 48 кГц / 16 бит / стерео (DAT, ранний DVD)
- 2304 кбит/с — 48 кГц / 24 бит / стерео (студийный мастер)
- 4608 кбит/с — 96 кГц / 24 бит / стерео (Hi-Res)
- 9216 кбит/с — 192 кГц / 24 бит / стерео (ультра-Hi-Res)
Чтобы перевести битрейт в размер файла, умножьте его на длительность и разделите на 8 (байт на бит). Для 4-минутного примера качества CD: 1411200 × 240 / 8 = 42 336 000 байт = 42,336 МБ. Для FLAC размер WAV умножается на 1 - коэффициент_сжатия: при уровне 5 по умолчанию (~55%) тот же трек составляет 42 336 000 × 0,45 ≈ 19 051 200 байт ≈ 19,05 МБ. Трек 48 кГц / 24 бит / стерео весит 17,280 МБ в минуту в WAV и примерно 7,78 МБ в минуту в FLAC уровня 5. Кодеки с потерями (MP3, AAC, Opus) работают с тем же звуком на 128–256 кбит/с, ещё в десять раз меньше, — но для этого они отбрасывают отсчёты. Одна ловушка единиц измерения: битрейты указываются в килобитах в секунду (кбит/с), а файловые менеджеры считают килобайты — делите на 8 для перевода (1411,2 кбит/с ÷ 8 = 176,4 кБ/с).
Когда использовать WAV, а когда FLAC
Оба формата без потерь, поэтому вопрос в рабочем процессе и пропускной способности, а не в качестве. Используйте WAV, когда редактор или DAW нужен сырой PCM на входе, при рендеринге промежуточного сведённого файла, который будет дальше обрабатываться, или когда нужен мастер-файл, который любая программа на свете может прочитать без библиотек. Используйте FLAC, когда нужен звук без потерь вдвое меньшего размера для архива, музыкальных библиотек, сетевой потоковой передачи (один CD без потерь помещается примерно в 19 МБ вместо 42 МБ) и резервных копий физических носителей. FLAC также поддерживает богатые метаданные через Vorbis Comment, которые возможностями превосходят RIFF LIST INFO в WAV (там нет поля исполнителя альбома — поэтому редактор тегов выше скрывает поле исполнителя альбома, когда выбран WAV).
Совет по размеру: голосовые записи по природе монофонические — один рот, один микрофон. Запись речи в стерео удваивает битрейт без прироста информации (часовая запись голоса 44,1 кГц / 16 бит занимает 317,5 МБ в моно и 635,0 МБ в стерео), поэтому для голоса выбирайте в параметре каналов выше «Моно».
Распространённые заблуждения
- FLAC «качественнее» WAV. Нет — оба побитно без потерь. FLAC просто хранит тот же звук в меньшем объёме. Декодирование FLAC обратно в PCM даёт ту же побайтовую последовательность, которую сохранил бы WAV.
- Более высокая глубина бит всегда звучит лучше. 24 бита дают больше запаса для редактирования (слабые сигналы лежат далеко над шумовым полом), но окончательная поставка для потребителя обычно 16-битная. Дополнительные 8 бит — это рабочая точность в DAW, а не слышимое качество на колонках.
- Hi-Res (96 кГц / 192 кГц) звучит лучше CD (44,1 кГц). Для корректно дизерированной музыки человек не различает частоты выше примерно 20 кГц. 96 кГц передаёт ультразвуковое содержимое, которое никто не слышит и которое не воспроизводит ни один наушник. Спорная выгода Hi-Res — меньше артефактов алиасинга в цепочке записи, а не качество воспроизведения.
- Конвертация MP3 в WAV восстанавливает исходное качество. Нет. Как только сжатие с потерями отбросило отсчёты, они потеряны навсегда. Полученный WAV содержит артефакты MP3 — он не побитно идентичен мастеру до MP3, как бы ни назывался файл.
Связанные инструменты: Аудио в MP3 / теги ID3 для сжатия с потерями, Аудио в OGG / Opus для открытых кодеков с потерями, Аудио в AIFF / ALAC / WavPack для других форматов без потерь, Спектр аудио для визуализации частот в вашем звуке, и MIDI в WAV (MIDI — это инструкции, а не аудио — другая схема конвертации).