Введение
Whisper от OpenAI стал стандартом де-факто для транскрибации аудио. Он справляется с шумом, акцентами и переключением языков лучше большинства коммерческих сервисов. Но чтобы получить идеальный текст на русском, нужно правильно выбрать модель, настроить окружение и знать, как бороться с галлюцинациями нейросети.
Установка и первый запуск
Локальная установка (Python)
Базовый способ — через pip. Убедитесь, что установлен Python 3.9–3.11 и FFmpeg (для обработки аудиокодеков).
pip install -U openai-whisper
После установки проверьте работу командой:
whisper audio.mp3 --model small --language Russian
Альтернатива: faster-whisper
Если у вас слабое железо или нужно транскрибировать часы записей, используйте faster-whisper (реализация на CTranslate2). Он работает в 4 раза быстрее и потребляет меньше памяти.
pip install faster-whisper
Пример кода для использования:
from faster_whisper import WhisperModel
model = WhisperModel("medium", device="cpu", compute_type="int8")
segments, info = model.transcribe("audio.mp3", language="ru")
Выбор модели под ваши задачи
Whisper предлагает 5 размеров: tiny, base, small, medium, large-v3. Для русского языка критично выбирать не меньше small.
| Модель | Память (VRAM/RAM) | Скорость | Качество RU |
|---|---|---|---|
| tiny | ~1 GB | Очень быстро | Плохо |
| base | ~1 GB | Быстро | Удовлетворительно |
| small | ~2 GB | Средне | Хорошо |
| medium | ~5 GB | Медленно | Отлично |
| large-v3 | ~10 GB | Очень медленно | Максимум |
Практический совет: Для интервью и подкастов берите medium. Для коротких заметок с диктофона хватит small. Модель large-v3 на русском часто делает лишние исправления имен и терминов, поэтому используйте её только для сложного аудио с несколькими спикерами.
Точность на русском языке и настройка параметров
Ключевые флаги для улучшения результата
При запуске через CLI добавьте параметры:
whisper audio.wav --model medium --language ru --task transcribe --initial_prompt "Это интервью на тему IT-технологий. Слова: Python, API, бэкенд." --condition_on_previous_text False
--initial_prompt— задаёт контекст. Whisper будет чаще использовать термины из промпта.--condition_on_previous_text False— отключает "залипание" на предыдущем тексте. Это снижает риск бесконечного повторения фраз.
Работа с галлюцинациями
Нейросеть может "выдумывать" текст на паузах или при плохом качестве звука. Основные методы борьбы:
- Предобработка аудио: прогоните файл через фильтр шумоподавления (например, Audacity) или нормализацию громкости (
ffmpeg-normalize). - Разбивка на чанки: режьте длинные файлы на куски по 3–5 минут. Whisper теряет контекст и начинает фантазировать на длинных записях.
- Используйте
--temperature 0— это убирает случайность генерации, но может добавить повторы. Оптимально:--temperature 0.2 --temperature_increment_on_fallback 0.2.
Цены API OpenAI и сравнение с локальным запуском
Официальный API Whisper стоит $0.006 за минуту аудио. Для часа записи — $0.36. Это выгодно, если у вас нет GPU и нужно разово расшифровать файлы.
Но есть нюансы:
- API принимает файлы до 25 MB. Длинные записи придётся резать.
- Модель
whisper-1в API менее точна на русском, чем локальнаяlarge-v3. Это особенно заметно на именах собственных. - Промпты (initial prompt) работают хуже, чем в локальной версии.
Когда выбирать API: редкая транскрибация, нет мощного ПК, нужна готовая инфраструктура.
Когда выбирать локально: постоянная работа, конфиденциальные данные, максимальное качество через large-v3 или faster-whisper с дообучением.
Выводы
Whisper — лучший бесплатный инструмент для транскрибации, но его нужно настраивать. Для русского языка используйте модель не ниже small, а для серьёзных проектов — medium или large-v3. Если важна скорость — ставьте faster-whisper с типом данных int8. Помните о галлюцинациях: предобрабатывайте аудио, задавайте промпты и отключайте условие на предыдущий текст. API OpenAI удобен для разовых задач, но при регулярной работе локальный запуск дешевле и точнее.