У ваших менеджеров уходит по 2-3 часа на ручную расшифровку записей переговоров, а субтитры к рекламным роликам вы заказываете фрилансерам за 2000 рублей за 10 минут видео. И то, и другое можно автоматизировать за час без программиста. Whisper от OpenAI - open-source модель распознавания речи. Работает офлайн, поддерживает 100+ языков, выдаёт готовые субтитры в .srt. Для бизнеса это значит: протоколы встреч, субтитры к видео и перевод интервью без платных подписок.
Разберём на примере стройфирмы (пример, не реальный кейс автора): у вас есть записи созвонов с подрядчиками и рекламные ролики о ремонтах. Whisper превратит их в текстовые протоколы и субтитры за вечер.
Whisper 2026: модели и когда что выбирать
OpenAI выпустила несколько поколений Whisper. Актуальный набор на 2026 год:
large-v3: самая точная модель. Размер 1.5 ГБ. На видеокарте (RTX 3080 и выше) обрабатывает 1 час аудио за 10-15 минут. На процессоре - 2-3 часа. Рекомендуется для финального контента.
large-v3-turbo: ускоренная версия. Размер 0.8 ГБ. На видеокарте - около 4-5 минут на час аудио. Точность чуть хуже large-v3, но скорость вдвое выше. Оптимальный выбор при наличии видеокарты.
Turbo (whisper-large-v3-turbo): не путать с Turbo API-моделью. Это открытая модель ~800 MB, 8x быстрее large-v3 при 95% точности на чистом аудио. Хороший выбор для пакетной обработки.
medium: 769 MB, приемлемое качество на хорошем аудио, заметно хуже на акцентах и шуме. Для машин без видеокарты - компромисс между скоростью и качеством.
small / base / tiny: для реального использования не рекомендуются - слишком много ошибок на сложном материале.
Правило выбора: есть видеокарта с 8+ ГБ памяти - large-v3-turbo. Видеокарта с 4-6 ГБ - medium или Turbo. Только процессор и нужна скорость - medium через API (whisper-1).
Локальный запуск: установка и первая транскрипция
Для предпринимателя это звучит страшно, но делается за 10 минут. Устанавливаем Whisper и, при наличии видеокарты NVIDIA, добавляем поддержку CUDA для ускорения:
pip install openai-whisper
Torch нужен как зависимость. Если нет CUDA - установится CPU версия. С CUDA:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install openai-whisper
Запускаем транскрипцию одной командой в терминале. Параметр --language ускоряет обработку и повышает точность:
whisper audio.mp3 --model large-v3-turbo --language Russian
Whisper скачивает модель при первом запуске (~800 МБ для large-v3-turbo, ~1.5 ГБ для large-v3). Кешируется в папке .cache/whisper/.
Вывод по умолчанию: создаёт файлы рядом с аудио:
- audio.txt - чистый текст
- audio.srt - субтитры с временными метками
- audio.vtt - WebVTT формат
- audio.json - JSON с временными метками для каждого сегмента
- audio.tsv - TSV с временными метками
Параметр language: без него Whisper тратит несколько секунд на определение языка. На коротких записях иногда ошибается. Указывайте --language Russian явно - это быстрее и точнее.
Параметр task: по умолчанию transcribe - транскрипция на исходном языке. Режим --task translate переводит напрямую на английский. Удобно для английских субтитров из русского видео.
OpenAI API (whisper-1): загрузка аудио и временные метки
OpenAI API - вариант без локальной установки и без требований к железу. Модель whisper-1 через API.
Стоимость: $0.006 за минуту аудио. 1 час = $0.36. Дешевле большинства конкурентов.
Следующий пример отправляет аудиофайл в OpenAI Whisper API и получает текст с временными метками по каждому сегменту:
from openai import OpenAI
client = OpenAI(api_key="ваш_ключ")
with open("audio.mp3", "rb") as audio_file:
transcript = client.audio.transcriptions.create(
model="whisper-1",
file=audio_file,
language="ru",
response_format="verbose_json",
timestamp_granularities=["segment"]
)
print(transcript.text)
for segment in transcript.segments:
print(f"{segment.start:.2f} - {segment.end:.2f}: {segment.text}")
response_format варианты:
text- только текст, строкойjson- текст в JSONverbose_json- текст + сегменты с временными меткамиsrt- готовые субтитры в SRT форматеvtt- готовые субтитры в VTT формате
Ограничение файла: максимум 25 MB на запрос. Для длинных файлов - нарезка на части (см. раздел про длинные файлы).
timestamp_granularities: ["segment"] даёт временные метки на уровне фраз (~5-15 секунд). ["word"] - на уровне каждого слова. Word-level нужен для точного кариоке, highlight-эффектов в видео, поиска по времени в расшифровке.
100+ языков: точность по русскому и украинскому
Whisper обучен на 680 000 часов аудио на 100+ языках. Качество распознавания сильно варьируется.
Доля ошибок (WER) по языкам (приблизительно, large-v3):
- Английский (чистый): 3-5% ошибок
- Русский (чистый): 5-8% ошибок
- Украинский (чистый): 7-12% ошибок
- Немецкий: 4-7% ошибок
- Испанский: 3-6% ошибок
На 100 слов русской речи с хорошим микрофоном ожидайте 5-8 ошибок. С акцентом, шумом или специфической лексикой - хуже.
Почему явный language= помогает: без параметра Whisper анализирует первую минуту для определения языка. Если есть вставки на другом языке - модель может переключиться. Параметр language='ru' принудительно задаёт язык.
Особенности русского: Whisper хорошо справляется с литературным языком. Хуже - с жаргоном, аббревиатурами (ООО, ИП, API) и сложными именами. Числа и даты записывает словами, а не цифрами - для большинства задач это норма.
Украинский: large-v3 заметно лучше чем предыдущие версии, но всё ещё ниже русского по точности. Для критичного контента рекомендуется ручная проверка.
Работа с длинными файлами: разбивка на фрагменты
API whisper-1 принимает файлы до 25 MB. Локальный Whisper формально не ограничен, но на файлах от 4 часов возможны проблемы с памятью.
Следующий код разбивает длинный аудиофайл на части по 10 минут для отправки в API:
from pydub import AudioSegment
import math
audio = AudioSegment.from_mp3("long_podcast.mp3")
chunk_duration = 10 * 60 * 1000 # 10 минут в миллисекундах
chunks_count = math.ceil(len(audio) / chunk_duration)
for i in range(chunks_count):
start = i * chunk_duration
end = min((i + 1) * chunk_duration, len(audio))
chunk = audio[start:end]
chunk.export(f"chunk_{i:03d}.mp3", format="mp3")
Контекст между фрагментами: при разбивке модель не знает, что было в предыдущем фрагменте. Это ухудшает транскрипцию на границах. Параметр prompt позволяет передать последние 224 токена предыдущего фрагмента:
previous_text = "" # накапливаем текст предыдущих фрагментов
for chunk_file in chunk_files:
with open(chunk_file, "rb") as f:
result = client.audio.transcriptions.create(
model="whisper-1",
file=f,
language="ru",
prompt=previous_text[-500:] # последние ~200 токенов
)
previous_text += result.text
Стратегия перекрытия: делайте фрагменты с перекрытием 5-10 секунд, затем удалите дублирующийся текст. Это лучше сохраняет границы фраз.
Экспорт форматов: .srt, .vtt, .json и интеграция
.srt формат (SubRip Text) - самый распространённый формат субтитров:
1
00:00:01,000 --> 00:00:04,500
Первая строка субтитров.
2
00:00:04,600 --> 00:00:08,200
Вторая строка субтитров.
Импорт в инструменты монтажа:
- DaVinci Resolve: Timeline - Import Subtitles - выбрать .srt
- CapCut: Text - Auto Captions (встроенный Whisper) или импорт .srt
- Descript: загружает аудио/видео, транскрибирует автоматически (на базе Whisper), экспортирует .srt
- Premiere Pro: Captions - Import Captions From File
- Final Cut Pro: Captions - Import Captions
.vtt формат (WebVTT) - для веб-плееров. Формат похож на .srt с минимальными отличиями.
.json с временными метками - для собственной обработки: поиск по времени, создание кликабельных транскриптов, аналитика.
Процесс создания субтитров: запись -> Whisper (локально или API) -> .srt -> проверка в текстовом редакторе (5-10 минут на 30-минутный ролик) -> импорт в монтажную программу.
Python-скрипт: пакетная транскрипция папки
Скрипт ниже обходит папку с аудиофайлами и сохраняет транскрипты в папку transcripts/. Запускается раз в день для автоматической обработки записей - например, всех созвонов за день:
import whisper
import os
from pathlib import Path
model = whisper.load_model("large-v3-turbo")
audio_extensions = {".mp3", ".wav", ".m4a", ".flac", ".ogg", ".mp4"}
input_dir = Path("./audio_files")
output_dir = Path("./transcripts")
output_dir.mkdir(exist_ok=True)
for audio_file in input_dir.iterdir():
if audio_file.suffix.lower() not in audio_extensions:
continue
print(f"Транскрибирую: {audio_file.name}")
result = model.transcribe(
str(audio_file),
language="ru",
verbose=False
)
output_path = output_dir / (audio_file.stem + ".txt")
with open(output_path, "w", encoding="utf-8") as f:
f.write(result["text"])
srt_path = output_dir / (audio_file.stem + ".srt")
# сохранить SRT через сегменты result["segments"]
print(f"Готово: {output_path.name}")
print("Все файлы обработаны")
Скрипт обрабатывает все аудио и видеофайлы из папки audio_files/, сохраняет .txt транскрипты в папку transcripts/. Запускается раз в день для автоматической обработки записей.
Ограничения и постобработка: имена, числа, термины
Whisper не идеален и требует понимания ограничений.
Имена собственные: транскрибируются фонетически, часто неверно. "Александр Новоселов" может стать "Александр Новосёлов" или "Александр Новоселёв". Решение: словарь замен (Python str.replace или regex) для часто встречающихся имён в конкретном проекте.
Числа: Whisper пишет числа словами - "сто двадцать три" вместо "123". Для медицинских, финансовых транскриптов где нужны цифры - постобработка через regex или специализированный нормализатор.
Технические термины: аббревиатуры типа API, SQL, CUDA распознаются непредсказуемо. Передача этих терминов в параметр prompt улучшает ситуацию: Через параметр initial_prompt передаём технические термины - это помогает Whisper правильно их распознавать:
result = model.transcribe(
"tech_interview.mp3",
language="ru",
initial_prompt="Технические термины: API, SQL, Python, GPU, CUDA, Docker, Kubernetes"
)
Пунктуация: Whisper расставляет базовую пунктуацию, но длинные монологи без пауз дают мало знаков. Для красивого транскрипта - постобработка через LLM (Claude, GPT-4) с промптом: "Расставь пунктуацию и разбей на абзацы".
Стратегия проверки: для важных материалов (интервью для публикации, юридические расшифровки) - прослушать аудио параллельно с чтением транскрипта. Скорость проверки: 30 минут аудио = 15-20 минут проверки, если транскрипт хороший.
Частые вопросы
Whisper работает полностью офлайн или нужен интернет?
Локальная установка через pip - полностью офлайн после скачивания модели. Интернет нужен один раз при первом запуске для загрузки весов модели (800 МБ - 1.5 ГБ). После этого - никакого интернета. OpenAI API (whisper-1) - только онлайн, $0.006/мин.
Какая видеокарта нужна для нормальной скорости large-v3?
RTX 3080 (10 ГБ VRAM) - комфортная скорость, 10-15 минут на час аудио. RTX 3060 (12 ГБ) - аналогично. RTX 4070 и выше - 5-8 минут на час. 4 ГБ VRAM - работает с medium или large-v3-turbo с некоторым swap. Без видеокарты на процессоре (i7/i9) - 2-3 часа на час аудио, но это рабочий вариант для нечастой обработки.
Whisper точнее транскрибирует русский чем Yandex SpeechKit?
Yandex SpeechKit точнее на бытовом русском языке и профессиональных терминах, потому что специально оптимизирован. Whisper large-v3 сопоставим на чистых записях, хуже на диалектах и профессиональном жаргоне. Для русских подкастов с нормальной дикцией - разница минимальна.
Как передать контекст предыдущего сегмента для точного распознавания?
Параметр prompt в API или локальном whisper.transcribe(). Передаётся последние 200-500 символов предыдущего сегмента. Whisper использует это для поддержания согласованности: правильно пишет имена и термины, которые уже встречались в предыдущих фрагментах. Ограничение: prompt принимает до 224 токенов.
Можно ли транскрибировать видео напрямую без извлечения аудио?
Да. Whisper принимает MP4 и другие видеоформаты напрямую через CLI (whisper video.mp4) и через API (поддерживаются mp4, mpeg, mpga, m4a, wav, webm). Локально через Python - нужно ffmpeg в системе, но Whisper использует его автоматически. Извлекать аудио отдельно не нужно.
Что дальше
Это последняя статья блока «Звук, голос, музыка». Весь путь: от обзора AI-аудио экосистемы через ElevenLabs, Suno, Udio, дубляж и облачные API - до Whisper.
Другие разделы учебника: AI Компас - t.me/kosmoslab_ai, полный каталог - ai-uchebnik.ru.
AI Компас (t.me/kosmoslab_ai) - канал для предпринимателей в РФ и СНГ, которые применяют AI в своём бизнесе без программиста. Разбираем инструменты и схемы - без курсов и теории.