¿Qué hace analyze-chatterbox-emotions?
Evalúa un render generado por Chatterbox como un artefacto de calidad de voz, no como una afirmación sobre la emoción real del hablante.
Úsalo cuando un render de Chatterbox o Persona Dream necesite pruebas de que las etiquetas emocionales, pausas, ritmo y calidad de audio se comportaron según lo solicitado.
Contrato
Entrada:
./run.sh analyze --audio ruta/al/render.wav \
--expected-text "texto fuente opcional" \
--target-label tranquilizador \
--target-arousal 0.35 \
--target-valence 0.4 \
--out /tmp/chatterbox_voice_eval.json \
--report /tmp/chatterbox_voice_eval.md
Esquema JSON de salida: analyze_chatterbox_emotions.voice_eval.v1.
El evaluador informa:
affect: etiqueta objetivo más proxies acústicos de activación/valencia y una puntuación de compatibilidad.prosody: duración, tasa de habla estimada, proxy de RMS/sonoridad, estimaciones de F0 cuando estén disponibles.pauses: relación de silencio, tramos de pausa detectados y comparación de pausas planificadas vs. medidas cuando se proporcione un plan de renderizado de Chatterbox o un turno de conversación.quality: recortes, amplitud máxima, banderas de discontinuidad y advertencias de señal baja.intelligibility: recuento de palabras del texto esperado y campos opcionales de transcripción; esta habilidad no inventa silenciosamente ASR.
Entradas opcionales
--render-plan ruta.json:render_plan.jsonde Chatterbox, recibo de diario de Persona Dream, recibo de conversación dinámica o un JSON de turno de conversación que contengachatterbox_pause_plan.--transcript "texto": transcripción ASR proporcionada por el llamante. Si se omite, la similitud de transcripción esnully se enumera como no-afirmación.
Veredictos
pass: sin fallos técnicos graves y puntuación >= 75.review: puntuación 50-74 o evidencia importante faltante, como ninguna transcripción ASR.fail: problema técnico grave, audio inutilizable, recorte severo, audio faltante o puntuación < 50.
La puntuación es una señal de evaluación ponderada, no una verdad absoluta:
0.35 affect_match + 0.25 inteligibilidad + 0.20 prosodia + 0.20 calidad_técnica
Límites importantes
- No digas que la persona o persona "está triste/enojada/feliz". Di que la forma de onda y los clasificadores/proxies disponibles son compatibles o incompatibles con el objetivo solicitado.
- Los modelos de reconocimiento de emociones del habla son señales opcionales. Si no están disponibles, esta habilidad aún emite métricas de proxy acústico y registra
emotion_classifier.available=false. - Las pausas exactas se verifican a partir de la forma de onda cuando sea posible;
pause_after_msen un plan de renderizado es solo la pausa solicitada.
Mantenimiento
Ejecuta:
./sanity.sh
../agentic-evals/run.sh run fixtures/agentic_eval.json --output /tmp/analyze-chatterbox-emotions-agentic-eval.json