Whisper: распознавание речи из файла через командную строку
Как запустить openai-whisper для русской записи, выбрать модель, сохранить TXT или SRT и разобраться с типичными ошибками команды.
Проверьте, какой Whisper установлен
Эта инструкция относится к Python-пакету openai-whisper из официального проекта OpenAI. Для него используется команда whisper. В whisper.cpp исполняемый файл и ключи другие. Если найденная инструкция начинается с whisper-cli, не переносите оттуда короткие флаги в приведённые ниже примеры.
Для установки нужны подходящее Python-окружение и FFmpeg. В своём рабочем окружении выполните python -m pip install -U openai-whisper, затем отдельно проверьте whisper --help и ffmpeg -version. Установка одного пакета не заменяет установку FFmpeg. Не обновляйте чужое рабочее окружение без проверки его зависимостей.
Если команда не найдена, сначала проверьте, активировано ли окружение, куда установлен пакет. Повторная установка в другом терминале может создать вторую копию, а не исправить первую. Для подготовки автономного рабочего места используйте проверку полного офлайн-процесса: установка и готовность без сети — разные этапы.
Запустите понятный пробный файл
Сначала возьмите короткую запись с обычной для вашей работы речью. Путь с пробелами заключите в кавычки. В примере файл meeting.wav лежит в текущей папке; замените имя своим.
whisper "meeting.wav" --model small --language Russian --task transcribe --output_format txt --output_dir result
Модель small здесь служит стартовым примером, а не универсальным выбором для любого компьютера. Варианты с окончанием .en предназначены для английского. Для этой русской записи нужен многоязычный вариант без такого окончания. Перед большой задачей оцените на пробе время и ошибки именно своего оборудования.
transcribe оставляет текст на языке речи. Задача translate в Whisper означает перевод в английский, а не выбор произвольного языка. Для обычной русской стенограммы менять задачу на перевод не нужно.
Выберите TXT или субтитры осознанно
TXT удобен для чтения и редактирования содержания. Если нужен файл субтитров, замените значение --output_format txt на --output_format srt. Сохранение в SRT само по себе не доказывает, что каждую реплику удобно читать на экране: границы и длительности требуют просмотра с видео.
Держите результаты разных проб в отдельных папках, например test-small и test-medium. Тогда будет понятно, какой файл относится к какой модели. Не открывайте старый TXT из соседней папки и не принимайте его за новый результат только из-за одинакового названия записи.
Для сравнения выпишите несколько контрольных мест: фамилию, число, отрицание, тихую реплику и последнее предложение. Сверьте одни и те же места в обеих версиях. Рекламное обещание точности или более крупная модель не заменяют такого сравнения.
Разберите сбой до повторного запуска
Сообщение о неподдерживаемом FP16 на CPU означает переход к FP32; это не равнозначно аварийному завершению. Для явного запуска на процессоре можно добавить --device cpu --fp16 False. Если же процесс остановился, сохраните последние строки ошибки и проверьте путь к файлу, наличие FFmpeg, свободное место и доступную память.
Меняйте один параметр за раз. Если одновременно заменить модель, язык и исходник, будет трудно понять причину изменения. При ошибке нехватки памяти начните с меньшей модели и короткого теста. Не удаляйте оригинал после появления текста: спорную реплику ещё придётся прослушать.
Если поддерживать локальную установку не требуется и запись разрешено обрабатывать онлайн, можно получить исходный текст через расшифровку аудио в Транскрибаторе. Это отдельный онлайн-путь, а не функция команды Whisper. В обоих случаях проверьте важные формулировки по записи.
Текст появился, но редактор открыл вчерашнюю версию
Учебная ситуация: автор дважды обработал meeting.wav, сначала моделью small, затем другой моделью. Оба файла назвал одинаково и потерял связь между настройками и результатом.
| Что зафиксировать | Пример | Зачем |
|---|---|---|
| Исходник | meeting.wav, рабочая копия | Не сравнивать разные записи |
| Настройки | small / Russian / transcribe | Воспроизвести пробу |
| Выход | test-small/meeting.txt | Открыть нужную версию |
| Контроль | Имя, число, последняя фраза | Оценить конкретные ошибки |
Автор повторяет короткую пробу с явно указанной папкой, записывает команду и сравнивает контрольные фрагменты. Только после этого запускает длинную запись.
Карточка запуска Whisper
Исходный файл и полный путь: Рабочее окружение: Модель: Язык / задача: Полная команда: Папка и формат результата: Контрольные фрагменты: Ошибка или предупреждение дословно: Что изменено при повторной пробе: Файл открыт повторно: да / нет
Частые вопросы
Whisper и whisper-cli — одна команда?
Нет. Здесь описан openai-whisper. У whisper.cpp другой интерфейс командной строки; сверяйте инструкцию с установленным инструментом.
Почему не стоит выбирать small.en для русского?
Окончание .en обозначает английскую модель. В этом сценарии нужен многоязычный вариант.
Сообщение FP16 на CPU означает, что текст не получен?
Не обязательно: официальный код переключается на FP32. Проверяйте дальнейший вывод и наличие итогового файла.
Эти команды были испытаны на моём компьютере?
Нет. Это пример по документации; локальное окружение и запись нужно проверить коротким пробным запуском.