Commit inicial: gr-locutor (Locutor IA - GRP)

Locuciones de radio con voz IA local (XTTS-v2) integradas a G Radio
Player: interfaz Rust/GTK4 de configuración, motor de generación y
enriquecimiento de texto en Python, daemon de monitoreo que dispara
locuciones sin pausar playlist-refill. Requiere radio-player >= 0.4.11.
This commit is contained in:
2026-08-23 01:58:56 -05:00
commit 2f6b5340f5
23 changed files with 4031 additions and 0 deletions
+66
View File
@@ -0,0 +1,66 @@
# Locutor IA - GRP — guía de instalación (beta)
Locuciones de radio generadas con voz IA local (sin depender de APIs de voz en la nube), integradas a G Radio Player.
## Requisitos
- **Debian 12 (Bookworm) o Debian 13 (Trixie), amd64.**
- **G Radio Player 0.4.11 o superior ya instalado y configurado.** El paquete no se instala si no lo detecta.
- Conexión a internet (para la instalación del motor de voz, y para las consultas opcionales de Wikipedia/MusicBrainz que enriquecen el texto).
- GPU NVIDIA opcional. Sin ella funciona igual, más lento — ver la sección de rendimiento más abajo.
## 1. Instalar el paquete
```bash
sudo apt install ./gr-locutor_0.1.1_amd64.deb
```
(Usar `apt install ./archivo.deb` en vez de `dpkg -i` — resuelve dependencias automáticamente y avisa claramente si falta G Radio Player o una versión vieja.)
Esto instala la interfaz gráfica y los scripts, pero **todavía no el motor de voz** (es un paso aparte porque pesa varios GB y depende del hardware de cada máquina).
## 2. Instalar el motor de voz (una sola vez)
```bash
gr-locutor-instalar-motor
```
- Detecta automáticamente si hay GPU NVIDIA disponible; si no, usa CPU.
- Descarga varios cientos de MB (sin GPU) a ~2GB (con GPU) de dependencias, más ~1.8GB del modelo de voz (XTTS-v2) — la primera vez. Puede tardar varios minutos según la conexión.
- Muestra el progreso paso a paso (`[N/10]`), no debería parecer colgado — si una descarga tarda, va a mostrar el progreso de `pip`/la barra de descarga del modelo.
## 3. Habilitar el Locutor Automático en GRP
En **G Radio Player → Configuración → Locutor Automático**, activar la opción (aparece un aviso para aceptar explícitamente, ya que la locución la genera este componente aparte, no GRP).
## 4. Abrir la interfaz "Locutor IA - GRP"
Buscarla en el menú de aplicaciones, o ejecutar:
```bash
gr-locutor-config
```
Ahí se puede:
- Elegir la voz de referencia (la genérica de GRP, o subir un WAV propio de 15-30s de la persona a clonar).
- Definir cada cuántos temas se locuta, cuántas locuciones se generan por adelantado, y qué porcentaje de las locuciones cierra identificando la radio.
- **Guardar** (aplica la configuración).
- **Generar prueba** (sintetiza un audio de prueba y lo reproduce, para confirmar que el motor funciona).
- El botón grande verde/gris arranca o detiene el locutor (🟢 "Locutor al aire" / ⚫ "Locutor detenido").
## Qué esperar (para no confundir con un bug)
- **Sin GPU, cada locución tarda entre ~30 y ~100 segundos en generarse.** Es normal — entra igual dentro del tiempo que dura una canción (3-4 min), pero no es instantáneo como con GPU.
- **La primera locución de una sesión tarda más** (carga el modelo en memoria, ~10-120s según CPU/GPU) — las siguientes son más rápidas si el proceso queda corriendo.
- El locutor **no reemplaza música**: se inserta como un tema más en la cola, antes de la canción que le corresponda narrar.
- `playlist-refill` (el relleno automático de la cola de GRP) sigue funcionando en paralelo sin problema — no hace falta pausar nada a mano.
- Si Wikipedia/MusicBrainz no responden o no encuentran nada, la locución sigue generándose igual (con menos datos, no falla).
## Cómo reportar problemas
Escribir a Telegram: **[@liberaturadio](https://t.me/liberaturadio)**
Anotar:
- Qué esperabas que pasara vs. qué pasó.
- Si aplica: el archivo `~/.gradio/data/tmp/locuciones-monitor.log` (el log del daemon que genera las locuciones).
- Si la interfaz gráfica se comporta raro: cualquier mensaje que haya quedado en la franja de estado (debajo de los botones "Generar prueba"/"Guardar").