TGViewer
Записки IT специалиста Записки IT специалиста @interface31 · 8.99K subscribers
Post #5852 2.98K
Распознаем речь при помощи Whisper

Недавно у нас возникла необходимость транскрибировать ряд аудиофайлов в текст с таймкодами и точным разбитием по фразам.

Задача даже на сегодняшний день нетривиальная, особенно если вам нужен качественный результат. Бесплатные сервисы либо ограничены по времени, либо сильно страдают по качеству.

Поэтому самое время обратиться к достижениям ИИ, а именно Whisper мощной модели для автоматического распознавания речи (ASR) с открытым исходным кодом, разработанная OpenAI.

Вы можете использовать ее через API, но платно, либо установить на собственном ПК – бесплатно, но вам понадобится ПК уровнем от среднего и выше, наличие быстрого ускорителя NVIDIA приветствуется, но не является обязательным требованием.

На самом деле Whisper – это не одна, а целый набор моделей, предлагающий разное качество распознавания речи и разные требования к ресурсам.

На практике имеет смысл использовать модели:

▫️medium – хорошая скорость, среднее качество, 3-5 ГБ ОЗУ
▫️large – профессиональное качество при небольшой скорости и самых больших требованиях к ОЗУ – 10-12 ГБ.
▫️ turbo – то же самое, что и large, но только быстрее, за счет упрощения модели, требует 6-8 ГБ.

В нашем случае требовалось транскрибировать запись судебного заседания и medium не всегда нормально справлялся с юридическими терминами, large и turbo делали это гораздо лучше, при этом turbo сильно заметно быстрее.

Но так как в юридических делах наиболее важна точность, то мы предпочли модель large, предпочитая качество скорости. На CPU Ryzen 9 5900X скорость ее работы составила примерно 0,25, т.е. на часовую запись у вас уйдет примерно 4 часа времени.

Попробовать Whisper можно совсем не сложно на своем оборудовании, после чего самостоятельно сделать выводы о его пригодности в конкретной ситуации. Для работы нам понадобится Python и FFmpeg.

Установим их при помощи пакетного менеджера Winget:

winget install -e --id Python.Python.3.12
winget install -e --id Gyan.FFmpeg


Так как мы имеем дело с Python, то, чтобы избежать возможных проблем с зависимостями и библиотеками хорошим тоном является запуск проекта в отдельном виртуальном окружении (ENV), для этого перейдем в папку проекта, скажем F:\Wishper и откроем там терминал с консолью PowerShell, после чего создадим виртуальное окружение:

py -m venv whisper-env


И активируем его:

.\whisper-env\Scripts\Activate.ps1


Впоследствии, когда вы захотите поработать с проектом еще раз, вам потребуется только заново активировать окружение командой, указанной выше.

Установим Whisper:

pip install -U openai-whisper


После чего просто запускаем распознавание речи командой:

whisper "audio.mp3" --language ru --model medium --output_format srt


Путь к файлу укажите в двойных кавычках, в пути используйте прямые слеши / или обратные удвоенные \\, например:

"C:/Users/Имя/audio.mp3" 
"C:\\Users\\Имя\\audio.mp3"


Далее указываем язык, модель и формат вывода, если вам нужны точные таймкоды, то используйте стандартный формат субтитров – SRT.

Для использования ускорения на GPU вам потребуется заменить некоторые библиотеки, в этом же ENV выполните:

pip uninstall torch torchvision torchaudio -y
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121


Затем к строке запуска добавьте дополнительный ключ для использования CUDA:

whisper "audio.mp3" --language ru --model medium --output_format srt --device cuda


Если вам нужно дополнительно распознавание спикеров (диаризация), то установите модуль WhisperX:
 
pip install whisperx


И добавьте ключ –diarize, например:

whisperx "audio.mp3" --language ru --model medium –diarize --output_format srt


Теперь вывод кроме таймкодов будет размечаться метками SPEAKER_00, SPEAKER_01 и т.д Но качество такого распознавания не всегда уверенное, особенно если вы транскрибируете прения или дискуссию, где спикеры могут перебивать друг друга.
  • 👍 21
  • 👌 6
More from @interface31
  1. Sep 29, 2026Как легко и просто «сломать» информационную базу 1С:Предприятие, не снимая «замочка» и нич…
  2. Sep 29, 2026👆 AI-сервисы развиваются быстрее, чем способы их оплачивать. Если вы используете зарубежн…
  3. Sep 29, 2026Старое железо – путь в никуда Каждый раз при разговоре о старых системах приходится слышат…
  4. Sep 29, 2026Что крупные заказчики проверяют на пилоте NGFW Чем крупнее сеть, тем выше требования к NGF…
  5. Sep 28, 2026Как провайдер определит, что у меня Mikrotik Таким вопросом задаются многие читатели и оче…
  6. Sep 28, 2026Ностальгия… Ностальгия… - Мы тут тебе старенький компьютер привезем… Старенький, что сейча…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →