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.
2.6 KiB
2.6 KiB
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) conDepends: gradio-player (>= 0.4.11)— evita instalaciones sin la versión de GRP que expone la banderalocutor_autoy el campofundido_exclude.LEEME.mdpara 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 detorch/torchcodec/transformerspineadas a las que se comprobó que funcionan. - Scripts generalizados (adaptados del prototipo en
~/Dropbox/LocutorIA/):enriquecer-locucion.py(texto: opener alternandocuriosidades.txt/frases-motivacionales.txt, cierre desdeidentificaciones.txtcon nombre de radio leído degradio.config),monitor-locuciones.py(ventana corrediza configurable, sin pausarplaylist-refill),generar-intro.sh,start-monitor.sh. .debinstalable 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
torchcodecpineado a la build que coincide contorch(la versión genérica de PyPI carga unalibtorchcodecincompatible y falla conlibnvrtc.so.13no 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.