whisper.cpp — это реализация модели Whisper от OpenAI на C/C++, которая позволяет транскрибировать аудио локально без отправки данных в облако.

Установка

brew install whisper-cpp

Модели

Модели различаются по размеру, скорости работы и качеству распознавания:

  • tiny — самая быстрая, низкое качество (~75 MB)
  • base — быстрая, приемлемое качество (~142 MB)
  • small — хороший баланс (~466 MB)
  • medium — высокое качество (~1.5 GB)
  • large-v1 — отличное качество (~2.9 GB)
  • large-v2 — улучшенная версия (~2.9 GB)
  • large-v3 — новейшая, лучшее качество (~2.9 GB)
  • large-v3-turbo — меньше размер и быстрее, но чуть хуже качество (~1.6 GB)

Загрузка моделей

Модели скачиваются с Hugging Face:

mkdir -p ~/Downloads/whisper-cpp-models

curl -L -o ~/Downloads/whisper-cpp-models/ggml-large-v3.bin \
  https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3.bin

Список всех доступных моделей: https://huggingface.co/ggerganov/whisper.cpp/tree/main

Использование

Базовая транскрипция с автоопределением языка:

whisper-cli --threads 8 --processors 8 --language auto \
  --model ~/Downloads/whisper-cpp-models/ggml-large-v3.bin \
  --file ~/Downloads/audio-1.mp3 \
  --output-txt --output-file ~/Downloads/audio-1

После выполнения команды в директории ~/Downloads/ появится файл audio-1.txt с транскрипцией.

Основные параметры

  • --model — путь к файлу модели
  • --file — путь к аудиофайлу (поддерживаются mp3, wav, m4a и другие)
  • --language auto — автоопределение языка (или ru, en для конкретного языка; если язык известен заранее, лучше указать явно — это ускорит распознавание)
  • --threads — количество потоков CPU
  • --processors — количество процессоров
  • --output-txt — сохранить как текстовый файл
  • --output-srt — сохранить как субтитры SRT
  • --output-vtt — сохранить как субтитры WebVTT
  • --output-file — путь для сохранения результата (без расширения)

Форматы вывода

whisper.cpp поддерживает различные форматы:

# Только текст
whisper-cli --model model.bin --file audio.mp3 --output-txt

# Субтитры SRT (с таймкодами)
whisper-cli --model model.bin --file audio.mp3 --output-srt

# Субтитры VTT
whisper-cli --model model.bin --file audio.mp3 --output-vtt

# JSON с полной информацией
whisper-cli --model model.bin --file audio.mp3 --output-json