Files
cescobar 2f6b5340f5 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.
2026-08-23 01:58:56 -05:00

30 lines
2.6 KiB
Markdown

# Changelog — gr-locutor (Locutor IA - GRP)
## [0.1.1] — 2026-07-15
### Correcciones
- Textos de la GUI e instalador pasados a español neutral (eran voseo — "corré", "buscá", "instalá", "avisá" → "ejecutar", "buscar", "instalar", "avisar").
- Versión visible arriba a la derecha del título de la ventana (`env!("CARGO_PKG_VERSION")`).
### Empaquetado
- `.deb` (`gr-locutor_0.1.1_amd64.deb`) con `Depends: gradio-player (>= 0.4.11)` — evita instalaciones sin la versión de GRP que expone la bandera `locutor_auto` y el campo `fundido_exclude`.
- `LEEME.md` para beta testers (instalación, motor de voz, habilitar en GRP, qué esperar, contacto de soporte).
## [0.1.0] — 2026-07-15
Primera versión funcional.
### Nuevo
- Interfaz gráfica Rust/GTK4 "Locutor IA - GRP", con la misma paleta de colores que radio-player.
- Selector de voz de referencia (genérica de GRP o archivo propio de la estación).
- Parámetros configurables: cada cuántos temas se locuta, ventana de locuciones generadas por adelantado, % de identificación de la radio.
- Botón "Generar prueba" (asíncrono) y botón de encendido/apagado del monitor con indicador en vivo (🟢/⚫), refresco automático cada 3s.
- Motor de síntesis XTTS-v2 instalable vía `instalar-locutor-amd64.sh`: venv aislado (`~/.gradio/locutor-venv/`), detección automática de GPU NVIDIA vs. CPU, versiones de `torch`/`torchcodec`/`transformers` pineadas a las que se comprobó que funcionan.
- Scripts generalizados (adaptados del prototipo en `~/Dropbox/LocutorIA/`): `enriquecer-locucion.py` (texto: opener alternando `curiosidades.txt`/`frases-motivacionales.txt`, cierre desde `identificaciones.txt` con nombre de radio leído de `gradio.config`), `monitor-locuciones.py` (ventana corrediza configurable, sin pausar `playlist-refill`), `generar-intro.sh`, `start-monitor.sh`.
- `.deb` instalable sin cargo/rust en destino (binario precompilado), auto-instala scripts/contexto/voz genérica al primer arranque de la GUI.
### Correcciones sobre el prototipo original
- `torchcodec` pineado a la build que coincide con `torch` (la versión genérica de PyPI carga una `libtorchcodec` incompatible y falla con `libnvrtc.so.13` no encontrado en el caso GPU).
- Lock de generación (`tmp/locuciones_generating`) que quedaba pegado si el daemon moría a mitad de una generación (`kill`/crash) — ahora se limpia siempre al arrancar el daemon.
- Contador de "cada cuántos temas" que recontaba una canción ya evaluada si el escaneo volvía a pasar por ella en un ciclo de poll posterior, corrompiendo el conteo — ahora recuerda la decisión de cada tema ya visto, no solo el último.