From 32b81e61f74bf96c48e8b37221006c484f52b21c Mon Sep 17 00:00:00 2001 From: Mikhail Shardin <43311539+empenoso@users.noreply.github.com> Date: Sat, 30 Aug 2025 16:54:30 +0500 Subject: [PATCH] Update README.md --- README.md | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 98 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4851336..ac6ac42 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,98 @@ -# offline-audio-transcriber -Локальное и бесплатное распознавание речи с помощью OpenAI Whisper. Автоматизируйте расшифровку лекций и совещаний на вашем ПК без облачных сервисов и подписок +# Локальная система распознавания речи на базе 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 инструменты позволяют решать сложные задачи без значительных финансовых затрат и с полным контролем над своими данными.