Por qué la detección de turnos falla con el audio de la televisión
Un televisor es un segundo hablante, y un detector de actividad de voz marca como habla los fotogramas que lo parecen, sea cual sea la voz. En nuestra matriz Silero VAD marca el 58.2% de los fotogramas sin habla objetivo como habla con una voz concurrente a 0 dB, frente al 7.0% con audio limpio.
La detección de turnos falla con el audio de la televisión porque un televisor es un segundo hablante, y un detector de actividad de voz marca como habla los fotogramas que lo parecen, sea cual sea la voz. En nuestra matriz Silero VAD marca como habla el 58.2% de los fotogramas sin habla objetivo cuando una voz concurrente está a 0 dB de SNR, frente al 7.0% con audio limpio, y un agente que toma esos fotogramas por el interlocutor hablando cortará su propia frase.
Las cifras proceden de benchmark.json (generatedAt 2026-08-14): Silero VAD con umbral 0.5, bloques de 512 muestras, 19 condiciones, diez hablantes. Leemos "falsa alarma" como la proporción de fotogramas de silencio de referencia que el VAD marcó como habla; la definición del campo está en el arnés.
El mecanismo
Un agente de voz toma dos decisiones que dependen de la misma señal. Mientras el agente habla, el detector decide si el interlocutor ha empezado a hablar (barge-in). Mientras el interlocutor habla, decide si ha terminado. Ambas se basan en una probabilidad de habla por fotograma. Un televisor, una radio o una segunda persona en la sala producen fotogramas con alta probabilidad de habla que no son del interlocutor. El detector no distingue la diferencia, porque fue entrenado para encontrar habla, no para encontrar a su hablante. El resultado es un falso barge-in: el agente se corta a sí mismo, o espera un fin de turno que nunca llega porque la tele mantiene la línea "activa".
No medimos directamente los eventos de barge-in. Medimos la tasa de falsa alarma del detector por fotograma, que es la entrada de esa decisión. Cómo convierte un agente concreto los fotogramas en una interrupción depende de sus umbrales y tiempos de espera (suposición: la conversión es monótona, así que más fotogramas de falsa alarma significan más interrupciones falsas).
Qué hace el VAD con voces concurrentes
| Condición | Falsa alarma VAD, crudo | Falsa alarma VAD, focus v8_2 | VAD F1, crudo | VAD F1, focus v8_2 |
|---|---|---|---|---|
| clean | 7.0% | 7.3% | 0.976 | 0.966 |
| noise_snr5 | 6.3% | 9.2% | 0.966 | 0.957 |
| babble_snr5 | 97.7% | 92.2% | 0.845 | 0.852 |
| competing_snr0 | 58.2% | 58.2% | 0.898 | 0.897 |
| competing_snr5 | 58.1% | 53.4% | 0.899 | 0.903 |
| competing_snr10 | 57.8% | 44.4% | 0.900 | 0.914 |
Medido el 2026-08-14, 190 palabras de referencia por condición. El F1 apenas cambia entre audio limpio y con voz concurrente, y por eso una sola cifra de F1 oculta el problema: el detector sigue encontrando el habla objetivo y además encuentra todo lo demás.
¿Lo arregla el aislamiento?
En parte, y no en todas partes. A 10 dB de SNR el modelo focus redujo la falsa alarma de 57.8% a 44.4%; a 5 dB pasó de 58.1% a 53.4%; a 0 dB no se movió. En la misma condición competing_snr10 el WER pasó de 6.3% a 12.1% y las inserciones de 2 a 7, de modo que una menor falsa alarma no compró una mejor transcripción allí.
| Ruta | VAD F1 medio (19 condiciones) | Diferencia frente a crudo | Inserciones |
|---|---|---|---|
| raw / passthrough | 0.9477 | +0.0000 | 103 |
| anecho focus v8_2 | 0.9413 | -0.0065 | 119 |
| ai-coustics Quail L | 0.9427 | -0.0050 | 128 |
| GTCRN | 0.9454 | -0.0023 | 223 |
| DeepFilterNet3 | 0.9011 | -0.0466 | 381 |
Agregado sobre las 19 condiciones, ningún motor de la tabla mejoró el VAD F1 medio respecto al audio sin tocar, el nuestro incluido (0.9477 crudo frente a 0.9413). El argumento a favor de un pipeline dividido, con el VAD en una rama y el reconocedor en otra, está en el pipeline dividido; estas cifras son la razón de que sea un diseño que hay que medir y no un interruptor que activar.
Qué hacer
Mida la tasa de falsa alarma con una grabación de su propia sala con la tele encendida, no con un conjunto de prueba limpio. Si es alta, suba el umbral del VAD y el tiempo de espera del barge-in antes de recurrir a un modelo, y trate cualquier modelo de aislamiento como algo que hay que puntuar frente al audio crudo, como se hizo con cada fila anterior.
FAQ
¿Por qué falla la detección de turnos con audio de TV? Un VAD detecta habla, no a un hablante, así que el diálogo de la TV produce los mismos fotogramas de habla que el interlocutor. En nuestra matriz esos fotogramas elevan la falsa alarma al 58.2% a 0 dB.
¿El aislamiento de hablante evita el falso barge-in? Redujo la falsa alarma del VAD a 5 y 10 dB en nuestra ejecución y no a 0 dB, y no mejoró el VAD F1 agregado. No medimos los eventos de barge-in en sí.
¿Basta con un mejor VAD? Probamos un VAD, Silero con umbral 0.5. No afirmamos nada sobre otros detectores.