Перейти к содержанию
modelium.
Начать с задачи
←

whisper.cpp: локальная транскрибация аудио без Python

whisper.cpp запускает модели Whisper из командной строки C/C++-проекта: для обычной транскрибации Python не нужен. Соберите CLI, загрузите готовый ggml-файл, преобразуйте свою запись в WAV и сравните сохранённый текст с эталоном. Для русского языка выбирайте многоязычную модель без суффикса .en; скорость и точность на вашем устройстве заранее не гарантированы.

Документация проверена 3 октября 2026 года по коммиту 60c0be6a от 2 октября. Ниже приведён путь, сверенный с исходным кодом и документацией; Modelium не запускал whisper.cpp и не получил транскрипт. s1 s4

Когда выбирать whisper.cpp, а когда faster-whisper?

whisper.cpp — самостоятельный C/C++ runtime и командная строка для инференса моделей Whisper. Для базового пути достаточно готовых преобразованных весов ggml, сборки CMake и CLI: установка пакета Python не требуется. Это удобно для локальной обработки разрешённых аудиофайлов и встраивания библиотеки в собственный стек; запуск не означает, что запись не покинет устройство, если её отправляют другие компоненты конвейера. s1 s2

Если нужен код на Python с сегментами и CTranslate2, это другой инструмент — faster-whisper; его зависимости, пути к моделям и показатели нельзя переносить на whisper.cpp. Если неизвестно, какую задачу решает сама модель и какой язык поддерживают веса, начните со страницы Whisper. s8 s2

Что подготовить до сборки?

Возьмите Git, CMake и совместимый C/C++-компилятор для вашей ОС; код проекта документирует CPU-only, macOS с Metal, Windows MSVC/MinGW и отдельные GPU backend. Не обещайте работу конкретной видеокарты только по названию runtime: для CUDA или Vulkan нужна подходящая сборка и проверка конфигурации. Память и скорость для вашей модели и аудиофайла измеряются на вашей машине, а не выводятся из размера .bin. s1

Для Linux/macOS документированный путь: git clone https://github.com/ggml-org/whisper.cpp.git, затем cd whisper.cpp, git checkout 60c0be6ac8fa71b1a2ae2dd938a31a34a508e774, sh ./models/download-ggml-model.sh base, cmake -B build, cmake --build build -j --config Release. Скрипт скачивает готовый models/ggml-base.bin из внешнего источника: сначала потребуется сеть, а для офлайн-повтора сохраните этот файл и его происхождение. Самостоятельная конвертация PyTorch-весов для такого пути не нужна. Загрузчик ищет доступный инструмент скачивания (wget2, curl или wget). Команды сверены с закреплённым кодом, но здесь не исполнялись. s1 s2 s5

На Windows проект указывает MSVC и MinGW; есть отдельный models\download-ggml-model.cmd base и сборка cmake --build build --config Release. Размещение бинарника зависит от CMake-генератора (в Release-сборке обычно build\bin\Release\whisper-cli.exe), поэтому после сборки найдите фактический whisper-cli.exe, а не переносите Unix-путь как универсальный. Работа на Windows для этой статьи не проверялась. s1 s6

Код whisper.cpp помечен MIT, но это не единое разрешение на любую запись, весовую конверсию и распространение результата: происхождение загруженного файла и право обработки аудио выясняйте отдельно. s7 s2

Как получить первый транскрипт и проверить русский язык?

Для первого контроля используйте приложенный samples/jfk.wav и многоязычную модель: из корня репозитория ./build/bin/whisper-cli -m models/ggml-base.bin -f samples/jfk.wav -l en. Эта англоязычная проба проверяет сборку и чтение модели; она не доказывает качество на русской речи. В README проекта также приводится base.en, но .en — только английский вариант, не выбирайте его для русского файла. s1 s2 s3

Подготовьте собственную разрешённую русскую запись. Безопасный по документированному примеру вход — монофонический 16 кГц, 16-битный PCM WAV: ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav. Далее: ./build/bin/whisper-cli -m models/ggml-base.bin -f output.wav -l ru -otxt -of transcript. После завершения проверьте файл transcript.txt, запишите точное имя модели/сборки и сохраните исходную запись рядом с ручной разметкой для сравнения. Флаги -osrt и -oj доступны для субтитров и JSON, если нужен такой формат результата. Это инструкция для читателя, а не подтверждённый прогон Modelium. s1 s3 s4

В документации той же ревизии есть расхождение: корневой README просит 16-битный WAV, а справка CLI перечисляет FLAC/MP3/OGG/WAV; в README дополнительно описана опциональная сборка с FFmpeg. Не обещайте чтение MP3 во всех сборках: WAV-путь выше сводит неопределённость к документированному примеру. -l auto означает автоопределение языка, тогда как значение CLI по умолчанию — en; для контролируемой русской записи явно указывайте -l ru. Флаг -tr переводит на английский, не на произвольный язык. s1 s3 s4

Как оценить результат и устранить типовые ошибки?

Не принимайте появившийся .txt за доказательство верного распознавания. Для своей записи вручную проверьте имена, числа, пропуски речи и границы сегментов; при повторе сохраняйте те же настройки, модель и исходный WAV. Если нужен разбор качества для бизнес-задачи, перейдите к протоколу локального распознавания речи. Это предлагаемый метод проверки, а не собственный benchmark Modelium. s3

Если программа не находит модель, проверьте путь models/ggml-base.bin и отличие base от base.en; скрипт скачивания печатает место сохранения. Если язык неверный, проверьте .en и явное -l ru. Если аудиофайл не читается, сначала преобразуйте его в WAV по документированному рецепту и повторите команду; не выдавайте неподдерживаемый формат входа за недостаток самой модели. Для разметки говорящих одной обычной транскрибации недостаточно: рассмотрите отдельный материал по диаризации. s2 s3 s5

Следующий шаг: получите transcript.txt на разрешённом русском аудио и сверяйте его с эталоном, прежде чем переносить runtime в конвейер. На Modelium сборка, транскрипция и замеры памяти не выполнялись.

Источники

  1. ggml-org/whisper.cpp — README, сборка, аудио и backends — revision 60c0be6ac8fa71b1a2ae2dd938a31a34a508e774. Получено 03.10.2026.
  2. ggml-org/whisper.cpp — модели и языки — revision 60c0be6ac8fa71b1a2ae2dd938a31a34a508e774. Получено 03.10.2026.
  3. ggml-org/whisper.cpp — README whisper-cli, аргументы — revision 60c0be6ac8fa71b1a2ae2dd938a31a34a508e774. Получено 03.10.2026.
  4. ggml-org/whisper.cpp — исходный код CLI, обработка параметров — revision 60c0be6ac8fa71b1a2ae2dd938a31a34a508e774. Получено 03.10.2026.
  5. ggml-org/whisper.cpp — загрузчик ggml-моделей для Unix — revision 60c0be6ac8fa71b1a2ae2dd938a31a34a508e774. Получено 03.10.2026.
  6. ggml-org/whisper.cpp — загрузчик ggml-моделей для Windows — revision 60c0be6ac8fa71b1a2ae2dd938a31a34a508e774. Получено 03.10.2026.
  7. ggml-org/whisper.cpp — MIT LICENSE — revision 60c0be6ac8fa71b1a2ae2dd938a31a34a508e774. Получено 03.10.2026.
  8. SYSTRAN faster-whisper — отдельная Python/CTranslate2-реализация — revision 7b99be5376b41cd481dfc52e8caa00a497c3294e. Получено 03.10.2026.