Update README.md

This commit is contained in:
Mikhail Shardin
2025-08-30 16:54:30 +05:00
committed by GitHub
parent 774603fa23
commit 32b81e61f7

100
README.md
View File

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