LocalWhisper Batch Transcriber
🎙️ LocalWhisper Batch Transcriber
Локальная пакетная расшифровка аудио/видео в текст (Whisper / faster-whisper) — всё хранится внутри проекта
LocalWhisper Batch Transcriber — консольная утилита для быстрого распознавания речи из аудио и видеофайлов в TXT (и при желании SRT-субтитры) с использованием faster-whisper. Проект изначально устроен так, чтобы ничего “не разъезжалось” по системе: модели, кеш HuggingFace и результаты сохраняются локально в папках проекта.
✅ Что умеет
- 📦 Автозагрузка моделей Whisper (tiny → large-v3) и хранение их локально
- 📁 Пакетная обработка файлов из
src/input/(можно выбрать все или отдельные номера/диапазон) - 🌍 Выбор языка распознавания (
auto/ru/en/ …) - 📝 Вывод результата в TXT:
src/output/<имя>.txt - 🕒 Опциональные SRT-субтитры с таймкодами:
src/output/<имя>.srt - 🧹 Автоматическая “очередь” обработки: после успеха исходник переносится в
src/recycle/ - ⚡ GPU-ускорение NVIDIA (CUDA, float16) при наличии, иначе автоматический fallback на CPU (int8)
- 🎬 Поддержка большинства медиаформатов через FFmpeg
🧠 Как это работает (логика запуска)
- Проверяется наличие FFmpeg (и
ffprobe) — без них видео/многие форматы аудио могут не открыться. - Выполняется проверка моделей — при первом запуске утилита докачивает недостающие модели.
- Сканируется папка
src/input/и показывается список файлов. - Выбираются файлы:
- Enter → обработать всё
-
или выбор по номерам/диапазону:
1 2 5,1-3,1,45. Запрашиваются параметры: -
язык (
autoпо умолчанию) - модель (
large-v3по умолчанию) - нужно ли сохранять SRT
6. Запускается распознавание: прогресс отображается через tqdm.
7. Результаты сохраняются в
src/output/, исходники перемещаются вsrc/recycle/.
🗂️ Структура проекта и хранение данных
Проект полностью “самодостаточный” — всё внутри папки проекта:
models/— скачанные модели Whisperhf_cache/— HuggingFace cache, чтобы не кешировать модели в профиле пользователяsrc/input/— входные файлы (аудио/видео)src/output/— выходные файлы (.txtи.srt)src/recycle/— обработанные исходники (архив очереди)
Дополнительно: задаются переменные окружения HF_HOME и HUGGINGFACE_HUB_CACHE, чтобы HuggingFace работал строго в пределах hf_cache/.
⚙️ Что нужно для работы
1) Python
- Python 3.10+ (рекомендуется 3.11)
2) FFmpeg (обязательно)
Нужен для чтения большинства форматов и определения длительности.
- Windows (рекомендуемый способ):
winget install Gyan.FFmpeg
3) Python-зависимости проекта
Устанавливаются из requirements.txt (см. ниже).
4) NVIDIA / CUDA (опционально, для ускорения)
Если на машине есть NVIDIA-видеокарта, утилита пытается работать через CUDA + float16. Если CUDA недоступна/не поднялась — скрипт не ломается, а автоматически переключается на CPU int8 и продолжает работу.
Установка
В папке проекта выполните:
pip install -r requirements.txt
▶️ Запуск
- Положите файлы (аудио/видео) в папку:
src/input/
- Запустите:
python main.py
- Заберите результат из:
src/output/
📝 Поведение “как очередь задач”
src/input/— это “входная очередь”src/output/— результатsrc/recycle/— архив обработанных файлов Это удобно для регулярной работы: просто закидываются новые файлы вinput, запускается скрипт, и всё раскладывается по папкам автоматически.