Radio noticias con rotación de voz — 2026-09-06
Setup visto: radio-data.tar.gz contiene radio/queue/*.mp3 + radio/logs/processed.json + FreshRSS. Ya es pre-carga, no en vivo.
Decisión: pre-cargar, no en vivo
- Noticias no necesitan realtime. Cron cada 30-60 min → lee FreshRSS → sintetiza → deja mp3 en
radio/queue/. - En vivo solo si quieres última hora con latencia <1 min. Más costo, más fallas, sin beneficio para Surtidito Tech Radio.
- ElevenLabs no es obligatorio. Úsalo solo para cortinillas premium; noticias en Google TTS por costo/volumen.
Rotación de voz cada cierto tiempo
VOCES_ES = [
"es-US-Neural2-B", # masculino base estilo Valentino
"es-US-Neural2-C", # segundo masculino
"es-US-Studio-B", # broadcast serio para noticias duras
"es-US-Neural2-A", # femenina para variar bloque
]
voz = VOCES_ES[hora_del_bloque % len(VOCES_ES)]Rota por bloque (ej. cada 2 horas o cada 6 noticias), no por nota — por nota marea.
Receta noticias (distinta a cortinilla)
- Cortinilla Valentino: rate 1.1, pitch +2
- Noticias: rate 0.98–1.0, pitch 0, con SSML
<break time="400ms"/>entre notas - Inglés:
en-US-Neural2-Dcon mismos parámetros suaves
Costo
- Google: ~millón de caracteres gratis/mes, ideal para noticias 24/7 con caché (no regenerar si
processed.jsonya lo tiene). - ElevenLabs: mejor naturalidad, pero cobra por carácter caro. Solo para IDs: “Estás escuchando Surtidito Tech Radio”.
Siguiente paso mínimo
- Fijar 3-4 voces es-US + 1 en-US
- Cron 30 min que genere máximo N notas nuevas a queue/
- Log de qué voz tocó por bloque para debug