TTS #55659 Fray Marcos: regenerar audio reportado como repetido; no pasa por chunking #210
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?
Incidencia
En #55659 — «Un diálogo que enriquece a Jesús y a la mujer» (Fray Marcos) se ha reportado que, tras la frase:
la locución vuelve a empezar en «No cabe duda…».
Diagnóstico reproducible (2026-08-14)
publish, autor382(Fray Marcos), confea_audio_done=1yfea_audio_url=/wp-content/uploads/tts/55659.mp3.CHAR_LIMIT=8000). «No cabe duda» aparece exactamente una vez en el contenido y una vez en el payload preparado._split_for_tts()y no acredita la hipótesis de un truncado/corte entre chunks.FrayMarcosFeadulta2026, para sustituir el asset reportado por usuarios.Preparado localmente (sin cambios en producción)
backups/tts-55659-20260814T112033Z/8478a9f77d6947b02602cb86391dc97a07ce3810f2a329dd3db6eb9772ea013awordpress/wp-content/uploads/tts/55659.mp31fbd6a75f564a557d7ccdad7d10efb6cef74fafa963c03d961f967578ba6c724ffprobe:310.644 sfea_audio_done=1, vozFrayMarcosFeadulta2026.Aplicación pendiente (Rafa; producción)
Subir solo el MP3 nuevo como
/var/www/html/wp-content/uploads/tts/55659.mp3dentro del contenedor WordPress activo. No modificar contenido ni metas: la URL y los metadatos existentes ya son correctos.Seguimiento recomendado
fea_audio_url/fea_audio_donedel post.Dry-run de release (2026-08-14)
Ejecutado localmente, sin escribir en producción:
El release queda deliberadamente pendiente de Rafa.
Desplegado en producción (2026-08-14 13:30 UTC), por Claudix, con autorización de Rafa en Buzz:
/home/rafa/55659_prod_backup_20260814T133044Z.mp3(SHA-2568478a9f77d6947b02602cb86391dc97a07ce3810f2a329dd3db6eb9772ea013a, coincide con el que servía antes)/var/www/html/wp-content/uploads/tts/55659.mp3dentro dewordpress-r2ssjifwj0r0ghyoqd528uaa1fbd6a75f564a557d7ccdad7d10efb6cef74fafa963c03d961f967578ba6c724, 4.970.925 bytes,root:root 644fea_audio_done/fea_audio_urlya eran correctos)Pendiente: escuchar la zona ~02:20–02:30 en navegador normal para confirmar que ya no se repite la frase.
Prueba de transcripción post-síntesis — #55890 (2026-08-15)
Se ha probado el control propuesto en local, sobre el mismo binario que está en producción:
#55890— «En María descubrimos lo femenino de Dios» (Fray Marcos).FrayMarcosFeadulta2026.80626cf840ca13592d2349af9b089a18d8fb932488ce37509e080eeb4dd38660; 4.650.669 bytes; duración290,628 s.faster-whisper(base, español): 44 segmentos, 648 palabras.Conclusión: la técnica sirve para detectar de forma barata un síntoma grave de reinicio: una repetición completa casi duplicaría el número de palabras y/o reintroduciría el prefijo fuente en el último tercio. Este MP3 pasa el control.
Artefacto local de auditoría:
/tmp/tts-55890-transcript.txt.Siguiente paso propuesto: convertirlo en gate local post-síntesis antes de cualquier subida: validar
ffprobe, transcribir, comparar conteo de palabras y buscar el prefijo normalizado de la fuente en el último tercio. Si falla, marcarfea_audio_errory no preparar release. No se ha modificado producción en esta prueba.Incidente #55967 — audio Fray Marcos (2026-08-20)
Causa confirmada por reproducción real: el MP3 íntegro del origen (
55967) decodifica y se transcribe completo, pero el navegador recibía respuestas parciales (Range) inconsistentes durante streaming y reiniciaba el audio. La validación anterior era insuficiente: comprobaba el binario en origen, no el recurso que consumía el lector.Mitigación desplegada y confirmada por Rafa:
55967-6aed89169ad0.mp3(SHA-2566aed89169ad062b8817b951445e31c3979ae0bcfbfcac91051e5c7b615fc2362).Bloblocal. Si CDN/proxy devuelve bytes distintos, bloquea la reproducción con aviso; ya no puede mezclar/reiniciar segmentos silenciosamente.Prevención incorporada: commit
bc3af3cañade hash remoto/local obligatorio async_audio_to_prod.py, persistefea_audio_sha256y habilita el playback verificado para assets con hash.Seguimiento de despliegue
He creado el issue #212 para el rollout del catálogo existente. Aclara que el mecanismo ya está integrado de forma genérica en el mu-plugin original (
fea-audio-player.php), pero sólo#55967tiene por ahorafea_audio_sha256; el resto requiere backfill verificado y QA antes de activarse.