Files
offline-audio-transcriber/README.md
Mikhail Shardin 32b81e61f7 Update README.md
2025-08-30 16:54:30 +05:00

7.7 KiB
Raw Blame History

Локальная система распознавания речи на базе 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 инструменты позволяют решать сложные задачи без значительных финансовых затрат и с полным контролем над своими данными.