Files
rocm-whisper-webui/README.md
2026-02-25 23:48:01 +03:00

119 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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