1 puntos por GN⁺ 2025-07-23 | 1 comentarios | Compartir por WhatsApp
  • Al ingresar un archivo wav completamente en silencio en el modelo Whisper, ocurre un fenómeno en el que siempre alucina y devuelve el mismo texto en árabe, "ترجمة نانسي قنقر" (Translation by Nancy Qunqar)
  • Si se genera audio en silencio con ffmpeg y se ejecuta Whisper especificando el idioma árabe y el modelo large-v3, siempre produce el mismo resultado
  • Parece que este problema se debe a que el modelo Whisper fue entrenado para interpretar audio en silencio como un texto específico
  • En modelos anteriores (small, etc.), se podía mitigar hasta cierto punto ajustando parámetros como suppress_tokens, initial prompt y logprob_threshold, pero en v3 (especialmente large-v3) el efecto es menor
  • Como solución alternativa, se propone "usar VAD (Voice Activity Detection)" o filtrar previamente los segmentos silenciosos del audio

Síntoma del problema

  • Se reportó un problema en Whisper large-v3 donde, para audio en silencio, siempre alucina y genera la frase en árabe "ترجمة نانسي قنقر"
  • Se crea un archivo wav de 30 segundos de silencio con ffmpeg de la siguiente manera
    ffmpeg -f lavfi -i anullsrc=r=44100\:cl=stereo -t 30 silence.wav
  • Ejemplo de ejecución del comando Whisper
    whisper ./silence.wav --language Arabic --model large-v3
  • Resultado:
    \[00:00.000 --> 00:29.980] ترجمة نانسي قنقر

Causa y análisis

  • Los modelos Whisper más recientes, como large-v3, tienden a generar salidas alucinadas arbitrarias para el silencio, en lugar de los enfoques anteriores como describir el audio
  • Los modelos anteriores (small, etc.) también generaban salidas varias (aleatorias) en silencio, pero se podían controlar parcialmente con opciones como suppress_tokens, initial prompt y logprob_threshold
  • En v3, los métodos anteriores no funcionan bien y aparece un resultado alucinado fijo

Soluciones alternativas y propuestas

  • Aplicar VAD (Voice Activity Detection): ejecutar Whisper solo en los segmentos del audio donde realmente hay voz y no ingresar el silencio en absoluto
  • Ajustar parámetros como suppress_tokens, initial prompt y logprob_threshold: en algunos modelos puede ayudar, pero en large-v3 el efecto es mínimo
  • Si el audio es completamente silencioso o la señal es débil, se necesita posprocesarlo con otro método en lugar de Whisper

Otras discusiones

  • También hubo discusión adicional sobre si existe un modelo mejor que large-v3 para árabe, pero no se presentó ninguna alternativa clara

1 comentarios

 
GN⁺ 2025-07-23
Comentario en Hacker News
  • al transcribir audio en chino con whisper-large-v3, varias veces he visto que los tramos en silencio salen como frases absurdas tipo “denle like, compartan y agréguenlo a favoritos”, lo que me hace sospechar que durante el entrenamiento recolectaron datos al azar de videos de YouTube sin curarlos bien como material útil

    • en transcripciones en chino también he visto que a veces agrega frases como "subtítulos con fines de investigación/aprendizaje. por favor elimínenlos después de 48 horas.", que son avisos de exención que los voluntarios de subtítulos suelen añadir a subtítulos de películas o series (ilegales)
    • incluso usando otro modelo, sigo viendo que los tramos en silencio se convierten en cosas como ‘¡gracias por ver!’ o ‘[MUSIC]’; es una lástima que este tipo de errores no se filtre en QA y se repita en distintos modelos de transcripción, porque es una situación realmente muy común que el audio de entrada incluya silencios
    • cuando probé whisper, me quedó la impresión de que no funciona bien con videos grabados de YouTube o con celular; supongo que la mayor parte del material de entrenamiento serán subtítulos o guiones, los videos que intenté eran en chino (mandarín), y aunque con whisper-large-v3 salieron malentendidos típicos y resultados sin sentido, aun así rendía bastante bien comparado con otro software, pero también inventaba nombres de hablantes o los pegaba al inicio de los diálogos, alternaba entre chino simplificado y tradicional de forma intermitente, y en los silencios repetía la última frase o a veces insertaba texto en inglés que parecía una acotación de dirección, no vi subtítulos ni créditos finales ni nada de eso; en un video, un hablante resfriado se sonó la nariz y whisper lo transcribió como que estaba llorando (“* crying ”), y una tos la tradujo como “ door closing *”; la línea siguiente incluso quedó transcrita con un contenido bastante grosero, al recortar la parte del sonido nasal desapareció la transcripción rara, pero esta vez volvió a cambiarse a chino tradicional
    • se siente parecido a “si metes unos jeans en una calculadora, ¿te va a dar una respuesta correcta?”
    • cuando YouTube empezó a crear subtítulos automáticos, siempre marcaba el ruido o la música (sobre todo ruido industrial y similares) como “[foreign]”; durante mucho tiempo trató cualquier sonido incomprensible como si fuera “foreign”
  • con los LLM pasa igual: es un caso clásico de "sobreajuste" sesgado hacia datos ambiguos, algo parecido a que te devuelva como traducción un mensaje automático de fuera de oficina tal cual; artículo relacionado https://www.theguardian.com/theguardian/2008/nov/01/5

    • me pregunto si esto de verdad es sobreajuste, o si más bien es un problema de calidad o clasificación de datos
  • para ahorrarles tiempo de búsqueda: el árabe "رجمة نانسي قنقر" significa "traducción de Nancy Qanqar" o "traducido por Nancy Qanqar"; "رجمة" significa traducción y "نانسي قنقر" es un nombre

    • en checo, whisper muchas veces transcribe el silencio como “Titulky vytvořil JohnyX” (subtítulos creados por: JohnyX), por una razón similar
    • señalan que la ortografía está mal, que no es "رجمة" sino "ترجمة", con una ت al inicio, que sería la forma correcta de "traducción"
    • la causa de estas transcripciones es que los datos de entrenamiento provienen sobre todo de subtítulos no oficiales de películas; en esos subtítulos suele aparecer al final algo como “traducido por XXX”, y en ese momento hay subtítulos en pantalla pero el audio en realidad está en silencio
  • Whisper alucina tanto que está en un nivel prácticamente inutilizable; esto está bien documentado muchas veces, quitar los silencios del audio ayuda un poco, pero también hay problemas como la corrección gramatical automática (por ejemplo en traducción de voz bilingüe), ha mejorado en los modelos de audio más recientes, pero no está resuelto del todo https://news.ycombinator.com/item?id=43427376

    • personalmente, más que decir que es “inutilizable”, la clave es entender primero las limitaciones de Whisper y buscar atajos alrededor; construí un negocio sobre Whisper, y al inicio fue clave introducir un modelo de detección de actividad de voz (VAD) para reducir las alucinaciones; referencia https://speechischeap.com
    • el problema aparece cuando usas solo el modelo grande; siempre hay que combinarlo con un modelo satélite pequeño o con lógica adicional, las alucinaciones se pueden detectar fácilmente incluso con modelos ML/DL tradicionales, y es fácil escribir código que detecte que en un tramo de silencio no debería haber texto
    • la corrección gramatical automática también es común en subtítulos normales; video de referencia: "¿Por qué los subtítulos son distintos al doblaje?" https://youtu.be/pU9sHwNKc2c
  • incluso en la versión en inglés de Whisper, al reproducir silencio aparecen seguido cosas como “[ sub by sk cn2 ]”, “¡de todos modos, gracias por ver! ¡suscríbanse al canal y denle like! ¡adiós!” o “este video ha terminado. gracias por verlo. si te fue útil, suscríbete al canal.”

    • esto pasa porque el modelo se entrena con medios pirateados o videos de YouTube; es una buena forma de conseguir datos, pero hay riesgo de mal control de calidad o de problemas de copyright
  • en ruso, a menudo al final aparece la alucinación “Субтитры сделал DimaTorzok” (subtítulos hechos por: DimaTorzok); me dio curiosidad si realmente había tantos subtítulos con esa frase y busqué en YouTube, pero no parece haber tantos

  • si los primeros 30 segundos de una llamada grabada son tono de llamada o DTMF (algo que pasa casi siempre cuando llamas a una empresa), Whisper a veces elige mal el idioma y pone Nynorsk o galés; no revisé qué texto transcribe en esos casos, pero probablemente sea una tontería parecida, en mi caso no me afecta en lo práctico, pero para un call center bilingüe sí podría ser bastante molesto

  • sobre la pregunta “¿quién es Nicolai Winther?”, https://medium.com/@lehandreassen/who-is-nicolai-winther-985409568201

    • dejaron la frase: “en el futuro, todos serán famosos durante 15 minutos dentro de su microcomunidad técnico-lingüística de nicho, en plena oleada de la IA”
  • dicen que deberían cambiar el título a "OpenAI, expuesta por entrenar con películas pirateadas"

    • claro, si tienes suficiente dinero, hasta entrenar con contenido ilegal se vuelve legal
    • me pregunto si esto realmente cuenta como prueba; en la industria ya se sabe bastante que se usan materiales con copyright, ya sea de comunidades de subtítulos en línea o de DVDs donde esos derechos sí estaban permitidos desde el origen, y ya se ha visto que el entrenamiento de modelos de IA usa muchos materiales con copyright
    • Hacker News es muy estricto con los cambios subjetivos de títulos; aunque no hubiera duda de que es cierto, si cambias el título así te reportan el post de inmediato
  • también hacen la broma de que tal vez “Nancy Qunqar transcribió todo manualmente una por una”, y hasta le echan porras tipo “¡vamos Nancy! ¡tú puedes, sigue así!”

    • sospechan si esta publicación no será spam; ese nombre solo aparece en Instagram y en este hilo, así que se preguntan si no será una nueva táctica de spam para conseguir seguidores en Instagram