Mikhail Shardin 1d96b25521 upd
2025-09-09 10:38:48 +05:00
2025-08-30 16:52:40 +05:00
2025-08-30 16:56:42 +05:00
upd
2025-09-09 10:38:48 +05:00
new
2025-08-30 17:03:49 +05:00
upd
2025-09-09 10:38:48 +05:00
new
2025-08-30 17:03:49 +05:00

Локальная система распознавания речи на базе OpenAI Whisper

Этот репозиторий содержит набор скриптов для создания полностью автономной системы расшифровки аудиозаписей (лекций, докладов, совещаний) на вашем компьютере. Решение использует мощную open-source модель OpenAI Whisper, что гарантирует высокую точность и полную приватность ваших данных.

🚀 Что делает проект?

Проект позволяет вам превратить аудиофайлы в текст локально, без отправки данных в облако и без необходимости платных подписок. Это достигается за счет использования модели OpenAI Whisper и скриптов, которые автоматизируют процесс установки, настройки и массовой обработки файлов.

Почему это полезно?

  • Приватность: все ваши аудиозаписи и текстовые расшифровки остаются на вашем компьютере. Никакие данные не передаются третьим лицам.
  • Бесплатно: проект построен на бесплатных open-source инструментах. Вы не платите за подписку или поминутное распознавание.
  • Высокая точность: используется модель large-v3 от OpenAI, которая является одной из самых точных моделей для распознавания речи, включая русский язык.
  • Полный контроль: вы контролируете весь процесс — от выбора модели до формата выходных данных.
  • Массовая обработка: скрипт whisper_transcribe.py позволяет автоматически обработать все аудиофайлы в указанной папке.

🛠️ Как начать?

Для развертывания системы на вашем компьютере (протестировано на Ubuntu) выполните следующие шаги.

Шаг 1: Подготовка окружения

Для автоматической установки всех необходимых компонентов (Python, FFmpeg, NVIDIA Drivers, CUDA, PyTorch) был написан специальный bash-скрипт.

  1. Клонируйте репозиторий:

    git clone https://github.com/empenoso/offline-audio-transcriber
    cd https://github.com/empenoso/offline-audio-transcriber
    
  2. Сделайте скрипт установки исполняемым:

    chmod +x setup_whisper.sh
    
  3. Запустите скрипт:

    ./setup_whisper.sh
    

    Скрипт обновит систему, установит драйверы NVIDIA (если необходимо), CUDA, создаст виртуальное окружение .venv и установит все Python-библиотеки, включая PyTorch и Whisper.

    Примечание: Если скрипт установит драйверы NVIDIA, может потребоваться перезагрузка компьютера.

Шаг 2: Запись и размещение аудио

  • Запишите лекцию, доклад или совещание на диктофон или телефон.
  • Для лучшего качества располагайте микрофон ближе к источнику звука и избегайте фонового шума.
  • Скопируйте аудиофайлы (поддерживаются .mp3, .wav, .m4a и другие) в отдельную папку, например, audio.

Шаг 3: Запуск распознавания

  1. Активируйте виртуальное окружение:

    source .venv/bin/activate
    
  2. Запустите скрипт whisper_transcribe.py:

    • Простой запуск (поиск аудио в текущей папке, использование large модели, результаты в папку transcripts):

      python3 whisper_transcribe.py
      
    • Указание параметров вручную (папка с аудио, модель, папка для результатов):

      python3 whisper_transcribe.py ./audio large ./results
      
      • ./audio — папка с вашими аудиофайлами.
      • large — используемая модель Whisper. Доступные модели: tiny, base, small, medium, large. Чем больше модель, тем выше точность, но и выше требования к ресурсам.
      • ./results — папка, куда будут сохранены результаты.

Шаг 4: Анализ результатов

После выполнения скрипта в выходной папке вы найдете:

  • .txt файл для каждой аудиозаписи с полным текстом.
  • .srt файл для каждой аудиозаписи с субтитрами и таймкодами.
  • all_transcripts.txt — один файл, содержащий все расшифровки подряд.

🔮 Будущие планы: диа-что? Диа-ри-за-ция!

Следующий большой шаг — диаризация, то есть автоматическое разделение текста по спикерам. Это позволит не просто получать сплошной текст совещания, а видеть, кто именно и что сказал.

На данный момент интеграция с WhisperX (расширенная версия Whisper с поддержкой диаризации) отложена из-за технических сложностей с зависимостями. Планируется решить эту проблему с помощью Docker-контейнеров от NVIDIA. Следите за обновлениями!

Файл whisperx_diarization.py в репозитории является заглушкой для будущей реализации.

Где получить помощь?

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

👤 Автор и поддержка


Этот проект является демонстрацией того, как современные open-source инструменты позволяют решать сложные задачи без значительных финансовых затрат и с полным контролем над своими данными.

Description
No description provided
Readme MIT 68 KiB
Languages
Shell 51.3%
Python 48.7%