Audio TTS por artículo: player compacto arriba + elección de voz ES (muestras listas) #89
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Labels: area:infra, area:plugin, improvement
Resumen
Añadir audio (TTS) a los artículos de feadulta, con un reproductor pequeño en la parte superior del artículo (como en ytsummaries). Reutiliza la infra de audio que ya funciona en ytsummaries (edge-tts) y la inferencia local. Incluye resolver el punto débil que ya detectó Rafa: la voz en español no convence ("en inglés sale mejor").
Estado actual / base reutilizable
audio_briefing_url→<audio controls>compacto (36px) ensingle-video.phpdentro devideo-hero-actions. Patrón directamente replicable.~/.hermes/hermes-agent/venv/bin/edge-tts. Voces actuales:es-ES-AlvaroNeural(ES),en-US-AndrewNeural(EN).Diferencia clave con ytsummaries (importante)
En ytsummaries el audio es un briefing reescrito por Gemma. En feadulta el contenido es teológico/doctrinal: el audio debe leer el artículo de forma fiel, no una reescritura que pueda alterar el sentido.
→ Pipeline propuesto:
post_content, limpiar (quitar nav, imágenes, shortcodes, "pensamiento aleatorio", etc.) → texto plano.audio_url(+audio_voz,audio_generado_en).La voz (lo que no le gusta a Rafa) — muestras listas para elegir
He generado 5 muestras con la misma frase de feadulta para que elijas al despertar. Escúchalas en:
https://farmer.taild3aaf6.ts.net/fea/wp-content/uploads/tts-samples/sample-<VOZ>.mp3sample-es-ES-AlvaroNeural.mp3sample-es-ES-ElviraNeural.mp3sample-es-ES-XimenaNeural.mp3sample-es-MX-JorgeNeural.mp3sample-es-AR-TomasNeural.mp3(También existen es-ES-Elvira/Ximena, es-MX-Dalia, es-US-Alonso/Paloma, es-AR-Elena.)
Opciones de voz, de menos a más esfuerzo
--rate,--pitch,--volume) para un ritmo más reposado.Reproductor (UI)
<audio controls>discreto), aquí en el template single FSE (wp_postsID 42359) o vía filtrothe_contentmostrando el player solo si existe metaaudio_url.Escala, almacenamiento y exclusiones
audio_briefing.py.Plan de ejecución
articulo_audio.py(patrónaudio_briefing.py): limpiar HTML → normalizar → TTS → Media Library → metaaudio_url.the_content)./web/wp-nuevo): sin scp (ssh 'cat > ruta'), sinproc_open; verificar con Rafa (Cloudflare bloquea headless).Ficheros y referencias
ytsummaries/scripts/audio_briefing.py+generate_audio_briefing()endaily_scan.py.~/.hermes/hermes-agent/venv/bin/edge-tts(voces--list-voices).wp_postsID 42359.wordpress/wp-content/uploads/tts-samples/(borrar tras decidir).Criterios de aceptación