Задача
Для Telegram-бота мне нужно было распознавание русской речи. Требования
простые: высокая точность на разговорной речи, приемлемая скорость
(не больше нескольких секунд на сообщение) и разумная стоимость.
Я решил сравнить два популярных решения — OpenAI Whisper
(локальная модель medium) и Google Cloud
Speech-to-Text API.
Методика тестирования
Подготовил набор из 50 голосовых сообщений на русском языке: чистая речь, речь с фоновым шумом, технические термины, разная скорость произношения. Каждое сообщение обработал обоими движками и сравнил результат с эталонной транскрипцией. Замерял три метрики:
- WER (Word Error Rate) — процент ошибок в словах
- Латентность — время от отправки до получения результата
- Стоимость — затраты на обработку часа аудио
Результаты сравнения
По точности Whisper medium показал WER около 8% на чистой
речи и 14% с шумом. Google Speech — 6% и 11% соответственно. Google
чуть точнее, особенно на коротких фразах. Однако по латентности Whisper
выигрывает на сервере с GPU: 1–2 секунды против 2–4 у Google. Без GPU
Whisper замедляется до 8–10 секунд, что неприемлемо. По стоимости
Whisper бесплатен (работает локально), а Google берёт $0.006 за 15 секунд.
Выводы
Если есть сервер с GPU — Whisper однозначно лучший выбор: бесплатный,
быстрый и достаточно точный. Для CPU-серверов Google Speech API
предпочтительнее из-за скорости. В своём боте я остановился на
Whisper medium с fallback на Google при высокой нагрузке.
Такая гибридная схема обеспечивает и экономию, и стабильность.