# Whisper Speed Transcribe Полнофункциональный Web UI для транскрибации аудио/видео с использованием Whisper. ## Возможности - 📁 Загрузка видео (MP4, MKV, AVI, MOV, WebM) и аудио (MP3, WAV, M4A, FLAC, OGG) - ⚡ Изменение скорости аудио (0.5x - 2.0x) без изменения высоты тона - 🎙️ Транскрибация или перевод на английский язык - 🔊 Прослушивание обработанного аудио после конвертации - 📋 История задач с автоудалением через 6 часов - 🐳 Полная поддержка Docker и Docker Compose ## Быстрый старт ### Требования - Docker - Docker Compose ### Запуск 1. Клонируйте репозиторий и перейдите в директорию проекта: ```bash cd whisper-webui ``` 2. Создайте файл `.env` на основе `.env.example`: ```bash cp .env.example .env ``` 3. Запустите все сервисы: ```bash docker-compose up -d ``` 4. Откройте в браузере: - **Gradio UI**: http://localhost:7860 - **API**: http://localhost:8080 ## Использование ### Через Web UI 1. Загрузите видео или аудио файл 2. Настройте скорость воспроизведения (по умолчанию 1.25x) 3. Выберите задачу: транскрибация или перевод 4. При необходимости укажите язык 5. Нажмите "Обработать файл" 6. Прослушайте обработанное аудио и скопируйте текст ### Через curl (прямой вызов API) ```bash # Транскрибация curl -X POST -F "file=@test.m4a" http://localhost:8080/transcribe # Транскрибация с указанием языка curl -X POST -F "file=@test.m4a" -F "language=ru" http://localhost:8080/transcribe # Перевод на английский curl -X POST -F "file=@test.m4a" -F "task=translate" http://localhost:8080/transcribe ``` ## Настройки ### Переменные окружения | Переменная | По умолчанию | Описание | |------------|--------------|----------| | `MODEL_SIZE` | `base` | Размер модели Whisper (tiny, base, small, medium, large) | | `DEVICE` | `cpu` | Устройство для инференса (cpu, cuda) | | `WHISPER_API_URL` | `http://whisper-api:8080/transcribe` | URL API транскрибации | | `DB_RETENTION_HOURS` | `6` | Время хранения задач в часах | ### Доступные модели Whisper | Модель | Размер | Скорость | Качество | |--------|--------|----------|----------| | tiny | ~39 MB | Очень быстро | Низкое | | base | ~74 MB | Быстро | Среднее | | small | ~244 MB | Средне | Хорошее | | medium | ~769 MB | Медленно | Очень хорошее | | large | ~1550 MB | Медленно | Лучшее | ## Структура проекта ``` whisper-webui/ ├── docker-compose.yml # Конфигурация Docker Compose ├── .env.example # Пример переменных окружения ├── README.md # Документация ├── api/ # API сервис (Whisper) │ ├── Dockerfile │ ├── main.py │ └── requirements.txt └── ui/ # Gradio интерфейс ├── Dockerfile ├── app.py └── requirements.txt ``` ## Остановка ```bash docker-compose down ``` ## Примечание - Аудио файлы не сохраняются - только метаданные и результаты транскрибации - База данных SQLite автоматически очищает записи старше 6 часов - Для GPU ускорения установите `DEVICE=cuda` и используйте соответствующий образ ## Лицензия MIT