Как сохранить запись WAV в FLAC и проверить её
Сделайте копию аудиозаписи в FLAC, сравните параметры и убедитесь, что слышимое содержимое и границы записи сохранились.
После семинара у вас осталась запись в WAV. Она занимает много места, а для хранения хочется более компактный файл без потери звуковых данных. FLAC сжимает аудио без потерь. Если вход содержит поддерживаемый целочисленный PCM, а преобразование не меняет частоту и число каналов, восстановленный звук можно проверить по декодированным отсчётам. При этом метаданные контейнера, маркеры и оформление проекта могут отличаться. Поэтому сначала решите, что именно важно сохранить.
В этом примере есть короткая запись seminar.wav с обычным PCM. В начале слышен хлопок, затем голос, в конце — короткая фраза. Мы создадим отдельный seminar.flac, сравним параметры и проверим содержимое. Для упражнения используйте собственную тестовую запись или материал, которым можно работать локально. Подход не предназначен для удаления исходных WAV или массового преобразования коллекции без проверки.
Проверьте, что хранится внутри исходного файла
Расширение WAV указывает контейнер. Кодек нужно посмотреть в свойствах файла. Посмотрите сведения о файле в аудиоредакторе или выводе FFmpeg. Важны кодек, разрядность, частота дискретизации, число каналов и примерная длительность. Для проверки ниже удобно взять обычный PCM с разрядностью 16 бит. Если исходник содержит плавающую точку, специальный формат или несколько дорожек, этот пример не подтверждает их сохранение. Сначала выясните, что должен поддержать ваш инструмент.
Сделайте заметку с ожидаемыми значениями. Например, «48 кГц, один канал, PCM 16 бит, голос от начала до последней фразы». Если запись входила в проект редактора, экспорт аудио не сохранит его монтаж, плагины или отдельные дорожки проекта. Архив проекта храните отдельно. Здесь проверяется один готовый звуковой поток.
Создайте новую копию
Откройте терминал в каталоге с учебной записью. Убедитесь, что выходного файла с этим именем ещё нет. Если FFmpeg установлен, выполните преобразование.
ffmpeg -n -i seminar.wav -map 0:a:0 -c:a flac seminar.flac
-n запрещает перезапись существующего результата. -map 0:a:0 выбирает первую аудиодорожку, а -c:a flac задаёт кодек. Эта команда подходит для примера с одной дорожкой. Не переносите её на многодорожечный материал без решения, какие дорожки нужно оставить. Следите за сообщениями FFmpeg, чтобы результат не оказался неполным после ошибки.
После выполнения сравните размеры. Степень сжатия зависит от самого сигнала, поэтому заранее обещать конкретное уменьшение файла нельзя. Если архив нужен для совместимости с определённым устройством, проверьте, что оно воспроизводит FLAC. Иногда небольшая экономия места не оправдывает отдельного преобразования. Выбор формата зависит от ваших целей и оборудования.
Проверьте параметры и слышимые границы
Откройте оба файла одним просмотрщиком. Сравните длительность, число каналов и частоту. Прослушайте начало, отрывок середины и последнюю фразу. Эти проверки выявят обрыв, неверную дорожку и проблемы совместимости. Если устройство автоматически меняет громкость, слушайте в одинаковых условиях. Если отличаются название или имя исполнителя, отдельно проверьте перенос метаданных.
Для более строгой проверки учебной записи 16 бит можно вычислить SHA‑256 одинаково декодированного аудио. Ниже FFmpeg выводит хеш звуковых отсчётов в заданном формате. Частота и число каналов дополнительно сверяются отдельно, потому что сам хеш байтов не описывает эти параметры.
ffmpeg -v error -i seminar.wav -map 0:a:0 -c:a pcm_s16le -f hash -hash sha256 -
ffmpeg -v error -i seminar.flac -map 0:a:0 -c:a pcm_s16le -f hash -hash sha256 -
Сравните две строки SHA256=.... Не сравнивайте контрольные суммы самих файлов WAV и FLAC. У них разные форматы хранения, даже когда звук совпадает. Пример декодирования в 16 бит подходит только для выбранного учебного исходника. Для 24‑битного материала такой тест может скрыть отличия, которые теряются при приведении к 16 битам. Используйте сравнение с форматом, сохраняющим исходную точность, если задача требует именно этого.
Запишите результат
Сохраните имя исходника, параметры и дату проверки. Если обнаружены несовпадения, сначала проверьте, что сравниваете одну и ту же дорожку и не задавали фильтры при преобразовании. Не удаляйте исходную запись. Возможно, она содержит важные для вас маркеры или описание, которые нужно сохранить отдельно.
Упражнение готово, когда FLAC открывается на нужном устройстве, начало и конец записи на месте, параметры сопоставлены, а для выбранного 16‑битного примера совпали хеши декодированных отсчётов. По результатам проверки решите, подходит ли формат для хранения этих записей.
Если запись сопровождается пометками с временными отметками, проверьте, что они по-прежнему указывают на нужные моменты. Возьмите две пометки из разных частей занятия и перемотайте оба файла к тому же времени. Полезно заранее сохранить пометки отдельным текстовым файлом, если они важны для повторного использования. Встроенные метки или титры могут зависеть от исходного контейнера и проигрывателя.
Для серии записей начните с двух файлов, которые действительно отличаются. Например, возьмите короткую речь и более длинное занятие с заметными паузами. Проверьте открытие, длительность и совпадение декодированного звука в каждом примере. Сравните размеры обоих результатов, чтобы оценивать выигрыш на своих данных. После этого составьте список входов, желаемых выходов и известных исключений. Сохраните его рядом с материалами для повторной проверки.
Проверяйте также, что выбрали файл, созданный в текущем запуске. Если выход уже существовал, параметр запрета перезаписи сохранит старый результат. В этом случае выберите новое имя и повторите испытание.