¿Qué es la conversión de voz a texto?

La conversión de voz a texto, también llamada reconocimiento automático del habla o ASR, convierte el audio hablado en lenguaje escrito. Los resultados pueden incluir marcas de tiempo, valores de confianza, idiomas detectados, puntuación y etiquetas de hablantes.

Cómo funciona la conversión de voz a texto

Muchos reconocedores convierten primero la forma de onda en características espectrales de corta duración y después predicen la secuencia de tokens de texto más probable para ellas. Los sistemas tradicionales entrenaban modelos acústicos, de pronunciación y de lenguaje separados, mientras que muchos sistemas actuales entrenan una única red neuronal de extremo a extremo que convierte el habla directamente en texto. Whisper, por ejemplo, remuestrea el audio a 16 kHz, calcula un espectrograma log-Mel y decodifica el texto a partir de ventanas de 30 segundos, por lo que las grabaciones más largas se transcriben ventana por ventana. La puntuación, el uso de mayúsculas, la temporización de las palabras y la detección del idioma pueden producirse junto con la transcripción, pero son resultados independientes con su propia incertidumbre. El reconocimiento se ocupa de lo que se dijo; identificar quién lo dijo es una tarea distinta, la diarización de hablantes, que puede combinarse después. Los servicios como Amazon Transcribe también distinguen entre la transcripción por lotes de archivos almacenados y la transcripción en streaming de audio en directo, y los dos modos pueden diferir en los formatos e idiomas admitidos.

Datos clave

  1. ¿Cómo debería comparar los reconocedores? La métrica estándar es la tasa de error de palabras (WER, por sus siglas en inglés): sustituciones, eliminaciones e inserciones divididas entre el número de palabras de una transcripción de referencia; por tanto, cuanto menor sea, mejor, y 0 indica una coincidencia perfecta. La WER también contabiliza diferencias inocuas de puntuación, contracciones o formato de números, a menos que ambos textos se normalicen primero; los autores de Whisper observaron que la WER se redujo hasta en un 50 por ciento en varios conjuntos de datos solo mediante la normalización. Las puntuaciones también varían mucho entre conjuntos de datos, así que compara los candidatos con tus propias grabaciones, las mismas transcripciones de referencia y la misma normalización.
  2. ¿Puede una transcripción contener palabras que nadie dijo? Con algunos modelos, sí. Los autores de Whisper enumeran como modos de fallo conocidos los bucles de repetición, las palabras omitidas al principio o al final de un segmento y las alucinaciones completas sin relación con el audio, especialmente en grabaciones largas. Un estudio independiente procesó con la API de Whisper, en 2023, fragmentos de entrevistas de la duración de una oración, con una media de 10 segundos, de hablantes con y sin afasia. Encontró frases u oraciones inventadas en aproximadamente un 1 por ciento de los fragmentos, con mayor frecuencia en hablantes con pausas más largas, y no encontró casos comparables cuando los fragmentos afectados se procesaron mediante servicios de Google, Amazon, Microsoft, AssemblyAI y RevAI. Esa tasa corresponde a fragmentos cortos, por lo que no predice con qué frecuencia se ve afectada una grabación de una hora. Revisa las pausas largas y los pasajes sin habla; en la evaluación de WhisperX, segmentar el audio mediante detección de actividad de voz antes de la decodificación redujo las alucinaciones y las repeticiones.
  3. ¿Obtendré una marca de tiempo para cada palabra? No con todos los reconocedores, y la precisión varía. Whisper predice los tiempos de inicio y fin de segmentos completos; los tiempos de las palabras se infieren después a partir de los pesos de atención, que los autores de WhisperX determinaron que eran menos precisos que la alineación forzada con un modelo de fonemas independiente. La API Speech-to-Text v1 de Google solo establece los desplazamientos temporales de las palabras cuando enableWordTimeOffsets es true y describe la función como experimental, con una precisión que puede variar, mientras que Amazon Transcribe devuelve tiempos de inicio y fin para cada palabra. Los tiempos de los segmentos bastan para buscar en una transcripción o saltar a un pasaje; el resaltado palabra por palabra y la edición basada en la transcripción necesitan tiempos a nivel de palabra. Los archivos de subtítulos y los archivos con texto del audio se sincronizan por frase: las directrices del W3C describen subtítulos de una o dos líneas, cada uno con el momento en que se muestra esa frase.
  4. ¿Puedo usar puntuaciones de confianza para decidir qué necesita revisión? Solo después de probar los umbrales con tu propio audio. Amazon Transcribe devuelve una puntuación de confianza para cada palabra, pero la referencia de la API Speech-to-Text v1 de Google indica que no se garantiza que su valor de confianza sea preciso ni que se proporcione, y que 0.0 es un valor centinela que significa que el valor no se estableció, no que la palabra sea incorrecta. Cada proveedor calcula su propia puntuación, por lo que no se debería reutilizar con otro reconocedor un umbral ajustado para uno.

Cuándo es importante la conversión de voz a texto

Usa transcripciones para subtítulos, búsquedas, resúmenes, accesibilidad, moderación o análisis. La precisión puede disminuir con el ruido, los acentos, el habla superpuesta o el vocabulario especializado, por lo que los resultados con consecuencias importantes necesitan revisión.

Trabajar con la conversión de voz a texto

Antes de pasar a producción

  1. Consulta las indicaciones del reconocedor sobre los datos de entrada antes de añadir etapas de limpieza o de nuevo encoding. Google recomienda audio FLAC o LINEAR16 sin pérdida a la frecuencia de muestreo nativa de la grabación e indica que la reducción de ruido aplicada antes del reconocimiento suele reducir la precisión; Amazon Transcribe también recomienda formatos sin pérdida.
  2. Si proporcionas vocabulario personalizado o aumentas la prioridad de frases con nombres y jerga, vuelve a hacer pruebas con grabaciones que no contengan esos términos. La documentación de Google advierte que aumentar la prioridad puede hacer que una frase aparezca en la transcripción aunque no se haya pronunciado.
  3. Pide a una persona que corrija las transcripciones antes de publicarlas como subtítulos. Las directrices de accesibilidad del W3C indican que los subtítulos generados automáticamente no cumplen los requisitos de accesibilidad a menos que se confirme que son completamente precisos. La revisión abarca más que las palabras reconocidas: el W3C describe los subtítulos como texto sincronizado para el habla y para la información de audio no verbal necesaria para comprender el contenido, y su explicación del requisito de subtítulos de las WCAG añade que los subtítulos identifican a la persona que habla.

Cómo ayuda Transloadit con la conversión de voz a texto

El Robot /speech/transcribe de Transloadit transcribe el habla en archivos de audio o video. Su parámetro format selecciona el resultado: json con marcas de tiempo en las palabras, text sin formato, archivos de subtítulos srt o webvtt, o meta, que almacena la transcripción en el archivo para que los Steps posteriores puedan usarla.

El reconocimiento lo realiza el proveedor seleccionado con provider, por lo que los idiomas admitidos y las funciones, como las etiquetas de hablantes, dependen de ese proveedor. El idioma hablado se establece con un parámetro diferente para cada proveedor (source_language o target_language), y ninguno de los dos traduce el habla. La documentación del Robot enumera los proveedores y parámetros actuales.

Explora las funciones de audio de Transloadit

Fuentes

Convierte tus conocimientos sobre multimedia en un pipeline funcional

Conecta las subidas, el procesamiento, la IA, el almacenamiento y la entrega mediante una sola API declarativa, mientras nos encargamos por ti del stack de encoding, el escalado y los cambios constantes de formatos.

Prueba Transloadit gratis