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