DeepScribe
СТАТЬЯ · 8 апреля 2026 · гайд · ~6 мин чтения

Как сжать аудио для расшифровки без потери точности

Часовое аудио в WAV без сжатия — это 600 МБ. Через Telegram такое не отправишь (лимит 20 МБ), в облако грузится долго, на диске занимает место. Хорошая новость: для речи можно смело сжимать до 5-10 МБ за час без потери качества распознавания. Главное — правильный кодек и битрейт.

Кратко: что выбирать

Бенчмарк: размер vs точность

Мы взяли часовое интервью (исходник WAV 16 kHz mono 16-bit) и сжали в 8 вариантов. WER считали через WhisperX large-v3:

ФорматБитрейтРазмер на часWERКачество
WAV (оригинал)1411 kbps605 МБ7.8%★★★★★
FLAC~700 kbps300 МБ7.8%★★★★★ lossless
MP3128 kbps56 МБ7.9%★★★★★
MP364 kbps28 МБ8.3%★★★★ (рекомендуем)
MP332 kbps14 МБ11.4%★★★
OPUS32 kbps14 МБ7.9%★★★★★ (рекомендуем)
OPUS24 kbps11 МБ8.0%★★★★★ оптимально
OPUS16 kbps7 МБ9.2%★★★★
AAC (m4a)64 kbps28 МБ7.9%★★★★
Главный вывод: OPUS 24 kbps даёт 54-кратное уменьшение размера vs WAV при практически той же точности ASR (8.0% vs 7.8%, разница в пределах погрешности измерения). Это инженерное чудо кодека OPUS — его специально оптимизировали для речи.

Команды ffmpeg для конвертации

FFmpeg — стандартный инструмент, есть бесплатно для Windows / Mac / Linux. Установка: ffmpeg.org/download.

OPUS 24 kbps — оптимально для речи

ffmpeg -i input.wav -c:a libopus -b:a 24k -application voip output.opus

Флаг -application voip важен — это переключает кодек в режим оптимизации для речи (psychoacoustic model тренирована на человеческом голосе). Без флага качество хуже на 5-10%.

MP3 64 kbps — для совместимости со старым софтом

ffmpeg -i input.wav -c:a libmp3lame -b:a 64k -ar 16000 -ac 1 output.mp3

-ar 16000 — sample rate 16 kHz (для речи достаточно, и WhisperX всё равно ресэмплит). -ac 1 — моно (для одного говорящего стерео не нужно, ещё в 2× меньше).

Извлечь аудио из видео + сразу сжать

ffmpeg -i meeting.mp4 -vn -c:a libopus -b:a 24k -application voip meeting.opus

-vn = no video. Из видео-файла сразу получите OPUS-аудио без промежуточных шагов.

Пакетная конвертация всей папки

# Bash (Linux/Mac)
for f in *.wav; do
    ffmpeg -i "$f" -c:a libopus -b:a 24k -application voip "${f%.wav}.opus"
done

# PowerShell (Windows)
Get-ChildItem *.wav | ForEach-Object {
    ffmpeg -i $_.FullName -c:a libopus -b:a 24k -application voip ($_.BaseName + ".opus")
}

Дополнительные оптимизации

Sample rate: оставлять 16 kHz

Whisper и Vosk работают с 16 kHz внутри. Любой более высокий sample rate (44.1 kHz, 48 kHz) будет downsamplен. Чтобы не гонять лишние данные — сразу делайте 16 kHz через -ar 16000.

Каналы: моно вместо стерео

Если у вас один говорящий или микрофон без направленности — стерео не даёт никакой информации, только в 2× раздувает файл. Через -ac 1 сворачиваете в моно.

Исключение: если запись с 2 независимых микрофонов (один у каждого собеседника), оставляйте стерео. Это помогает диаризации — голоса разделяются по каналам гораздо точнее.

Шумоподавление: только лёгкое

Современные шумоподавители (RNNoise, NSNet2) умеют убирать постоянный гул вентиляторов и кондиционеров. Но не переборщите: агрессивное шумоподавление вырезает части речи вместе с шумом, падает разборчивость. Лучше записать чисто чем чистить потом.

ffmpeg -i input.wav -af "afftdn=nf=-25" -c:a libopus -b:a 24k clean.opus

afftdn=nf=-25 — порог −25 дБ. Удаляет только то что заметно тише голоса.

Если файл большой — другие пути

Иногда сжатия недостаточно (например, файл из колл-центра, 8 часов). Варианты:

Попробуйте DeepScribe — он принимает OPUS, MP3, M4A и ещё 10 форматов

В веб-кабинете до 5 ГБ, в Telegram до 250 МБ. Демо 2 минуты любого файла бесплатно без регистрации.