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.
30 lines
2.6 KiB
Markdown
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.
|