# Локальная система распознавания речи на базе 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. **Клонируйте репозиторий:** ```bash git clone https://github.com/empenoso/offline-audio-transcriber cd https://github.com/empenoso/offline-audio-transcriber ``` 2. **Сделайте скрипт установки исполняемым:** ```bash chmod +x setup_whisper.sh ``` 3. **Запустите скрипт:** ```bash ./setup_whisper.sh ``` Скрипт обновит систему, установит драйверы NVIDIA (если необходимо), CUDA, создаст виртуальное окружение `.venv` и установит все Python-библиотеки, включая PyTorch и Whisper. > **Примечание:** Если скрипт установит драйверы NVIDIA, может потребоваться перезагрузка компьютера. ### Шаг 2: Запись и размещение аудио * Запишите лекцию, доклад или совещание на диктофон или телефон. * Для лучшего качества располагайте микрофон ближе к источнику звука и избегайте фонового шума. * Скопируйте аудиофайлы (поддерживаются `.mp3`, `.wav`, `.m4a` и другие) в отдельную папку, например, `audio`. ### Шаг 3: Запуск распознавания 1. **Активируйте виртуальное окружение:** ```bash source .venv/bin/activate ``` 2. **Запустите скрипт `whisper_transcribe.py`:** * **Простой запуск** (поиск аудио в текущей папке, использование `large` модели, результаты в папку `transcripts`): ```bash python3 whisper_transcribe.py ``` * **Указание параметров вручную** (папка с аудио, модель, папка для результатов): ```bash 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` в этом репозитории. ## 👤 Автор и поддержка * **Автор:** Михаил Шардин * **Онлайн-визитка:** [shardin.name](https://shardin.name/) * **Telegram-канал:** ["Умный Дом Инвестора"](https://t.me/умный_дом_инвестора) --- Этот проект является демонстрацией того, как современные open-source инструменты позволяют решать сложные задачи без значительных финансовых затрат и с полным контролем над своими данными.