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

whisper.cpp streaming: речь с микрофона в текст на своём компьютере

`whisper-stream` показывает распознанные слова прямо во время речи в микрофон. На Linux его можно собрать с SDL2 и запустить с многоязычной моделью Whisper base для русского языка. Текст обновляется по мере обработки аудио, но интервал чтения микрофона не равен гарантированной задержке: сверяйте пропуски и время появления слов с исходной записью.

Инструкция проверена по документации и исходникам 8 октября 2026 года; Modelium не запускал модель. Ниже закреплён whisper.cpp d1be6fd и многоязычная Whisper base. Редакция не измеряла задержку, не проверяла микрофон и не обещает работу на любом компьютере. s1 s2 s3

Что вы получите и чем поток отличается от готового файла?

Произнесите короткую фразу в микрофон — программа whisper-stream будет обновлять распознанный текст в терминале. Например, скажите: «Встреча в четверг в три часа, отчёт принести утром». Проверьте, видны ли «четверг», «три часа» и «утром»; это критерий проверки, не заранее известный ответ модели. Здесь речь об обработке звука по ходу записи, а не о расшифровке готового файла. s1

При обычном режиме вывод перезаписывается в той же строке, а не дополняется как чистый протокол с временными метками. Не копируйте мелькающую строку как окончательную стенограмму. Если нужен проверяемый текст по сохранённому WAV-файлу, используйте общую инструкцию whisper.cpp. s1

Что понадобится на Linux?

Путь ниже — Linux с микрофоном и терминалом, уровень B: потребуется собрать программу. Нужны Git, CMake, C/C++-компилятор, curl и заголовки SDL2; SDL2 передаёт звук микрофона программе. На Ubuntu/Debian начните с sudo apt update && sudo apt install -y git cmake build-essential curl libsdl2-dev. В ОС разрешите приложению доступ к микрофону и проверьте, что он выбран как устройство ввода. Это не инструкция для Windows или Mac. s1 s4

Используйте Whisper base без .en: разработчики отмечают такие варианты как многоязычные; .en рассчитан на английский. Файл ggml-base.bin есть в закреплённом репозитории весов и занимает около 142 MiB на диске. Это размер загрузки, а не минимальная RAM/VRAM; минимум оперативной памяти и скорость на вашем устройстве мы не подтверждали. Лицензия проекта whisper.cpp и оригинальных весов Whisper указана авторами как MIT; проверьте условия самостоятельно перед использованием. s3 s5 s6

Интернет нужен для установки пакетов, получения исходников и весов. После подготовки выбранный путь читает локальный микрофон и локальный файл модели, не требует облачного API для распознавания; это вывод по исходнику, не проведённый нами сетевой аудит всего компьютера. Не используйте чужую конфиденциальную речь для пробного запуска без согласия. s1 s2

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

  1. Откройте терминал и выполните git clone https://github.com/ggml-org/whisper.cpp.git, затем cd whisper.cpp и git checkout d1be6fde11ac6e0407606b4e42fe72d34add8037. git rev-parse HEAD должен показать тот же идентификатор — так команды привязаны к просмотренному исходнику. s1 s4
  2. Соберите вариант с микрофоном: cmake -B build -DWHISPER_SDL2=ON, затем cmake --build build --config Release -j 2. Запустите ./build/bin/whisper-stream --help: должны быть видны --step, --length, --language и --model. Если файла whisper-stream нет, проверьте установку libsdl2-dev и сообщение CMake, а не переходите к модели. -j 2 — ограничение параллельной сборки в этом примере, не минимум оборудования. s1 s2 s4
  3. Скачайте конкретный многоязычный файл закреплённой ревизии: curl -fL 'https://huggingface.co/ggerganov/whisper.cpp/resolve/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-base.bin' -o models/ggml-base.bin. После успешной команды проверьте, что файл models/ggml-base.bin существует и загрузка не оборвалась. Не подменяйте его ggml-base.en.bin: тот предназначен для английского. s3 s5
  4. Запустите ./build/bin/whisper-stream -m models/ggml-base.bin -l ru -ng --step 500 --length 5000. -l ru задаёт русский, -ng отключает вычисление на GPU, --step 500 берёт новый фрагмент через 500 мс, а --length 5000 оставляет пятсекундное окно для очередной обработки. Сначала ожидается приглашение [Start speaking], затем обновляющаяся строка распознанных слов. Говорите короткую фразу из примера в тихой комнате. s1 s2
  5. Остановите запись клавишами Ctrl+C. Сравните слова с тем, что произнесли, а не с примером «идеального» ответа. Для проверки задержки параллельно сделайте на другом устройстве короткую запись со слышимым хлопком/меткой времени и отметьте момент появления соответствующего слова в терминале; не называйте интервал 500 мс задержкой результата: к нему добавляется время обработки, которое зависит от вашего компьютера. Такой замер требует вашей собственной записи — редакция его не проводила. s1 s2

Что делать при пропусках и ошибках?

Если программа пишет cannot process audio fast enough, dropping audio, исходник прямо сообщает о сбросе накопившегося звука. Уменьшите нагрузку на устройство и повторите ту же фразу; не объявляйте транскрипт полным. Если распознаёт английский вместо русского, проверьте имя без .en и флаг -l ru: исходник для немультиязычной модели принудительно переводит настройку в английский. Если контекст не инициализируется, проверьте путь к файлу модели и что команда запускается из каталога репозитория: относительный -m зависит от текущей папки. s1 s2 s3

Режим --step 0 — другой путь: он ждёт активности речи и выводит блоки с метками времени, но его простой детектор тишины может пропускать слова; настройка этого режима разобрана отдельно в материале про VAD. Для аккуратной стенограммы сделайте и сохраните обычную запись, затем сверяйте распознавание с ней по гайду whisper.cpp. s1

Источники

  1. whisper.cpp: официальный пример stream и формат вывода — revision d1be6fde11ac6e0407606b4e42fe72d34add8037. Получено 08.10.2026.
  2. whisper.cpp: исходник whisper-stream, аргументы и сброс аудио — revision d1be6fde11ac6e0407606b4e42fe72d34add8037. Получено 08.10.2026.
  3. whisper.cpp: список моделей и отличие base от base.en — revision d1be6fde11ac6e0407606b4e42fe72d34add8037. Получено 08.10.2026.
  4. whisper.cpp: сборка проекта и требования — revision d1be6fde11ac6e0407606b4e42fe72d34add8037. Получено 08.10.2026.
  5. Официальный репозиторий конвертированных Whisper-весов: ggml-base.bin — revision 5359861c739e955e79d9a303bcbc70fb988958b1. Получено 08.10.2026.
  6. OpenAI Whisper: многоязычные варианты и лицензия — revision 86098128c0b4f24f0e2aa2994de830614b474227. Получено 08.10.2026.