tts / README.md
VeuReu's picture
Upload README.md
02d5ab8 verified
---
title: veureu-tts
emoji: 🔊
colorFrom: indigo
colorTo: blue
sdk: docker
app_file: app.py
pinned: false
---
# 🗣️ tts
**tts** es un servicio **Docker** basado en **FastAPI** que forma parte del ecosistema **Veureu**.
Su función es generar **pistas de audio o audiodescripción (AD)** en catalán a partir de texto o de archivos **SRT**, utilizando el plugin **Matxa-Alvocat TTS**.
Este Space está diseñado para ser **invocado externamente** por otros Spaces (como `app` o `engine`) o por **servicios locales**.
---
## 🚀 Endpoints disponibles
### ▶️ `POST /tts/text`
Genera un clip de voz a partir de texto.
**Parámetros de formulario:**
- `texto`: Contenido a sintetizar.
- `voice` (opcional): Voz Matxa-Alvocat (ej. `upc_ona-medium`), por defecto `upc_ona-medium`.
- `formato` (opcional): Formato de salida: `"mp3"` o `"wav"`.
**Respuesta:**
Archivo de audio (`audio/mpeg` o `audio/wav`).
---
### ▶️ `POST /tts/srt`
Genera la pista de **audiodescripción sincronizada**, la **mezcla con un audio original**, y opcionalmente **remuxa un vídeo final**.
**Parámetros de formulario (`multipart/form-data`):**
- `srt`: Archivo `.srt` con las marcas `(AD):` (**obligatorio**).
- `video` (opcional): Archivo `.mp4` original.
- `original_audio` (opcional): Archivo `.mp3` o `.wav` del audio original (alternativa a `video`).
- `voice` (opcional): Voz Matxa-Alvocat (ej. `upc_ona-medium`).
- `ad_format` (opcional): Formato de la pista AD: `"mp3"` o `"wav"`.
- `include_final_mp4` (opcional): `1` para devolver el MP4 final remuxado (solo si se proporciona vídeo).
**Respuesta:**
Archivo **.zip** que contiene:
- `ad_master.mp3` o `.wav`: pista AD sincronizada.
- `mix_original_plus_ad.mp3`: mezcla de audio/vídeo original con la AD.
- `video_con_ad.mp4`: archivo final si `include_final_mp4=1` y se proporcionó vídeo.
---
## 🧠 Tecnologías y dependencias principales
- 🐍 **Python 3.11**
- 🚀 **FastAPI / Uvicorn**
- 🗣️ **ovos-tts-plugin-matxa-alvocat** (TTS en catalán)
- ⚙️ **espeak-ng** (motor de fonetización)
- 🎬 **FFmpeg** (para extracción, mezcla y remux de audio/vídeo)