| | ---
|
| | 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)
|
| |
|