init
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user