Metodología de benchmarking de voz a texto
Artificial Analysis evalúa modelos de voz a texto (STT), también conocidos como modelos de reconocimiento automático del habla (ASR), en precisión, velocidad y precio. Evaluamos tanto transcripción sin streaming (también conocida como offline / por lotes) como transcripción en streaming. La precisión (WER), la normalización, los conjuntos de datos y los criterios de inclusión de modelos se comparten entre ambas; las secciones siguientes primero definen estas bases comunes y luego cubren las métricas específicas de la evaluación por lotes y en streaming.
Métricas clave
Tasa de error de palabras (WER)
La tasa de error de palabras (WER) mide la precisión de transcripción comparando la salida del modelo con una transcripción de referencia (transcripción humana verificada).
Fórmula:
WER = (Sustituciones + Inserciones + Eliminaciones) ÷ Palabras en la referenciaEjemplo:
- Referencia: the cat sat on the mat
- Hipótesis: cat is on the big mat
- Errores: eliminación (the), sustitución (sat → is), inserción (big)
- WER = 3 ÷ 6 = 50%
Más detalles en la sección Evaluación de tasa de error de palabras (WER).
Factor de velocidad (por lotes)
Indica qué tan rápido una API de transcripción por lotes transcribe audio en comparación con la duración real de ese audio.
- Un valor superior a 1 significa que el servicio transcribe más rápido que en tiempo real (por ejemplo, 2.0 significa que 10 minutos de audio pueden transcribirse en 5 minutos).
Nuestro benchmark por lotes incluye la latencia de red. Los puntos mostrados en Factor de velocidad a lo largo del tiempo son la mediana de cuatro mediciones aleatorizadas tomadas dentro de un periodo de 24 horas. Las barras mostradas para Factor de velocidad son la mediana de los últimos 7 días.
Fórmula:
Factor de velocidad = Duración del audio ÷ Tiempo de respuesta de la APIMétricas de latencia (streaming)
Para modelos de streaming reportamos dos métricas de latencia:
- Tiempo hasta la transcripción final: tiempo de la primera transcripción marcada como final compartida después de que SileroVAD detecta el final del habla.
- Tiempo hasta la primera transcripción parcial: tiempo de la primera transcripción marcada como parcial compartida después de que SileroVAD detecta el final del habla.
Consulta la sección Voz a texto en streaming para más detalles de medición.
Precio por 1.000 minutos
Representa el costo estimado de transcribir 1.000 minutos de audio, normalizado entre proveedores con distintos modelos de facturación.
Cómo lo calculamos
- Duración del audio: usa el precio de transcripción por duración publicado por el proveedor.
- Tiempo de procesamiento: mide el tiempo de procesamiento en una muestra de audio variada y convierte los cargos por tiempo de procesamiento en costo por 1.000 minutos de audio.
- Tokens: mide el uso de tokens facturados en una muestra de audio representativa y convierte el gasto observado en costo por 1.000 minutos de audio. Cuando los proveedores exponen tokens de razonamiento por separado, se incluyen explícitamente; de lo contrario, los tokens de salida facturados pueden incluir tanto salida visible como tokens internos de razonamiento.
- Plan de suscripción: usa el plan de menor costo inicial que puede soportar de forma realista 1.000 minutos de transcripción en un mes bajo los límites declarados por el proveedor.
Unidad común
En todos los casos, los precios se convierten a la misma unidad: costo estimado por 1.000 minutos de audio transcrito.
Evaluación de tasa de error de palabras (WER)
Artificial Analysis realiza pruebas WER independientes en todos los pares modelo-proveedor.
Detalles clave:
- Los endpoints de API se prueban directamente para reflejar el rendimiento que percibe el usuario final.
- Evaluación actual: ~8 horas de audio en AA-AgentTalk, VoxPopuli-Cleaned-AA y Earnings22-Cleaned-AA (detalles más abajo). Los resultados dentro de cada conjunto de datos se calculan como una media ponderada por tiempo; luego tomamos una media ponderada de 50% AgentTalk, 25% VoxPopuli y 25% Earnings22 para producir nuestro resultado AA-WER.
- Cuando los modelos admiten prompts, proporcionamos: "Transcribe the audio verbatim, outputting only spoken words in sequence."
Conjuntos de datos
AA-AgentTalk (propietario, reservado): Un conjunto de datos de evaluación propietario desarrollado por Artificial Analysis, centrado en habla relevante para casos de uso de agentes de voz. Consulta nuestro artículo del blog para más detalles.
- Número de muestras: 469
- Rango de duración de las muestras: 8-109 segundos
- Duración total: ~250 minutos
VoxPopuli-Cleaned-AA: Sesiones parlamentarias europeas.
- Subconjunto: inglés
- Número de muestras: 628
- Rango de duración de las muestras: 5-38 segundos
- Duración total: ~119 minutos
Earnings22-Cleaned-AA: Llamadas de resultados corporativos con lenguaje técnico y hablantes superpuestos.
- Número de muestras: 6
- Rango de duración de las muestras: ~14-22 minutos
- Duración total: ~115 minutos
Para más detalles sobre VoxPopuli-Cleaned-AA y Earnings22-Cleaned-AA, consulta nuestro artículo del blog. La versión actual de las transcripciones limpiadas en ambos repositorios es la versión 1.0, usada en AA-WER v2.
Estas transcripciones limpiadas reflejan nuestro mejor esfuerzo por crear una referencia literal, informada por revisión manual y validación cruzada en el conjunto de datos. Los refinamientos futuros se publicarán como versiones posteriores. Si detectas problemas, agradecemos tus comentarios a través de nuestra página de contacto o de Discord.
Segmentación de audio (Earnings22)
Earnings22 contiene archivos más largos (~14-22 minutos), por lo que la segmentación difiere según el modo de evaluación. Para transcripción por lotes (offline), solo dividimos en segmentos cuando un modelo no puede procesar el archivo largo de forma nativa, empezando con segmentos de aproximadamente 9 minutos y reduciendo a segmentos de aproximadamente 30 segundos solo si es necesario. Para transcripción en streaming, todos los archivos de Earnings22 se dividen en segmentos de aproximadamente 30 segundos. Los límites de segmento se eligen, cuando es posible, en puntos de final de habla para evitar cortar a mitad de palabra. Las muestras de AA-AgentTalk y VoxPopuli son suficientemente cortas, por lo que no se aplica segmentación.
Para audio de Earnings22 dividido en segmentos, agregamos los resultados de vuelta a la llamada original:
- WER: Las transcripciones de los segmentos se concatenan de vuelta en su llamada original, y el WER se calcula sobre la transcripción combinada contra la referencia de la llamada original. Luego el WER se pondera por duración de audio entre llamadas originales, de forma consistente con todos los demás conjuntos de datos.
- Latencia en streaming: El tiempo hasta la transcripción final y el tiempo hasta la primera transcripción parcial se agregan como media simple entre segmentos.
Muestras de audio
"Fantastic, the blog post about remote work best practices is ready to publish. The interview quotes from our distributed team members add authenticity, and the productivity statistic from Buffer's study support our main points. Schedule it for Tuesday at ten AM and promote it across our social channels. This should drive good engagement with our HR software prospects."
"I'd like to speak with someone about setting up a payment plan for my outstanding balance. My account has been past due for about two months now. The account is A A C, excuse me, A C C nine nine five two seven."
"Also can you adjust the Philips Hue bulbs in the dining room to that warm amber setting turn down the chandelier to about thirty percent brightness?"
Original: "Mr President, I have another complaint about this procedure, which is that it is not secret."
Limpiada: "Thank you Mr President, I have another complaint about this procedure, which is that it's not secret."
Original: "Furthermore the AFET opinion divides eligible countries into candidate, potential candidate, neighbourhood and in exceptional and duly justified circumstances strategically important third counties."
Limpiada: "Furthermore, the opinion of AFET divides eligible countries into candidate, potential candidate, neighbourhood and, in exceptional and duly justified circumstances, strategically important third countries."
"Thank you, Darcy, and welcome everyone to our December quarterly analyst call. December quarterly production showed a considerable improvement on the September quarter with record production throughput and improving grades, improving recoveries and improving cash flow. Unfortunately, delays accessing higher grade parts of the open pit resulted in lower grades than projected in our guidance. On the exploration front, today we announced a 70% increase in our 100% owned Yamarna resources. So they now sit at 0.5 million ounces..."
Proceso de normalización
Antes de la comparación, tanto la referencia verificada como la hipótesis de transcripción del modelo se normalizan usando el normalizador Whisper de OpenAI:
- Convertir todo el texto a minúsculas; eliminar texto entre corchetes y muletillas ("uh", "um"); normalizar espacios
- Expandir contracciones (won't vs. will not, I'm vs. I am)
- Estandarizar números (twenty five vs. 25, two point five vs. 2.5)
- Normalizar puntuación/símbolos (eliminar marcas no semánticas, estandarizar monedas/porcentajes)
- Estandarizar ortografía (por ejemplo, colour vs. color)
Además del normalizador Whisper de OpenAI, también hemos añadido normalización adicional:
- Formato de dígitos, IDs y números de teléfono para formas equivalentes compactas, espaciadas, entre paréntesis y agrupadas con guiones (por ejemplo, 1405 553 272 vs. 1405553272, (303) 775-4498 vs. 303 775 4498, CLM-2024-0873 vs. CLM 2024 0873)
- Nombres deletreados y secuencias de letras deletreadas entre estilos de separador (por ejemplo, S I N G H vs. S-I-N-G-H, A B C vs. A-B-C)
- Preservación de ceros iniciales y normalización de formas habladas equivalentes de símbolos (por ejemplo, 06100052, + vs. plus, engagement underscore rate vs. engagement_rate)
- Formato de horas para formas de reloj equivalentes (por ejemplo, 7:00pm vs. 7pm, 10:30 AM vs. ten thirty AM)
- Inclusión de equivalencias ortográficas adicionales entre inglés estadounidense y británico (por ejemplo, totalled vs totaled)
- Ortografías equivalentes aceptadas para nombres propios ambiguos en nuestro conjunto de datos (por ejemplo, Mateo vs. Matteo)
- Formato de rangos numéricos cuando los extremos y las unidades coinciden (por ejemplo, 15-20 minutes vs. fifteen to twenty minutes, 6-8% vs. six to eight percent)
- Variantes comunes de espaciado y guionización cuando el significado no cambia (por ejemplo, hard-coded vs. hardcoded, up front vs. upfront, Sea-Tac vs. SeaTac)
- Preservación de códigos y símbolos con significado cuando su omisión o sustitución cambia la transcripción (por ejemplo, F-150, W-2, $50, 5%)
- Las frases repetidas de números grandes hablados se mantienen separadas en vez de fusionarse en un número nuevo (por ejemplo, twelve million twelve million se convierte en 12,000,000 12,000,000, no en 24,000,000)
- El contenido transcrito entre corchetes se mantiene, mientras que las etiquetas de anotación como [music], '<unk>' y language English'<asr_text>' se eliminan
Ejemplo:
- Ground truth: Hello, I'm Dr. Smith. I have twenty-five patients today.
- Salida del modelo: hello i am doctor smith i have 25 patients today
- Tras la normalización: hello i am doctor smith i have 25 patients today
Cálculo de WER
- WER se basa en la distancia de Levenshtein, que alinea dos secuencias encontrando el número óptimo de sustituciones, inserciones y eliminaciones necesarias para transformar una secuencia en la otra.
- En este contexto, mide las ediciones necesarias para cambiar la transcripción del modelo (hipótesis) de vuelta a la transcripción humana verificada (referencia).
- Los resultados dentro de cada conjunto de datos se agregan como una media WER ponderada por duración de audio para que muchos clips cortos no sesguen los resultados frente a archivos más largos.
Voz a texto en streaming
El benchmark de streaming refleja la precisión de los modelos de streaming, en particular para casos de uso de agentes de voz, manteniendo la comparabilidad con el benchmark por lotes anterior. WER, normalización, conjuntos de datos, ponderación y segmentación de audio se definen arriba. Reportamos WER de transcripción final y, por separado, WER de transcripción parcial para la primera parcial después del final de habla.
Para streaming, las métricas de latencia se ponderan por muestra dentro de cada conjunto de datos, mientras que WER sigue ponderado por duración de audio. Para audio de Earnings22 dividido en segmentos, consulta la nota de agregación de segmentación anterior.
Mecánica de streaming
El audio se transmite en tiempo real en segmentos de 20 ms, o según la configuración pública recomendada del modelo. Los modelos STT de streaming devuelven dos tipos de transcripción:
- Parciales: aún no confirmadas, sujetas a cambios.
- Finales: confirmadas, ya no cambian.
El retraso de red se incluye en todas las mediciones de latencia. Refleja la experiencia real del usuario final en modelos propietarios y puede plantear un reto de estandarización entre proveedores.
Finalización forzada
La mayoría de los modelos nos permiten activar una transcripción final en un momento específico, por ejemplo cuando un VAD separado detecta el final del habla. Esto importa porque los desarrolladores de agentes de voz suelen ejecutar un modelo de finalización separado y ajustado para controlar con qué agresividad se extraen las transcripciones. Los modelos que admiten finalización forzada se evalúan en el flujo estándar de abajo; los modelos que no la admiten se evalúan con la lógica de respaldo (ver los detalles de medición de tiempos más abajo).
Cuando un proveedor expone configuración relacionada con la finalización, la configuramos para que solo la señal de finalización forzada active una transcripción final, y usamos la configuración recomendada públicamente por el proveedor para este caso de uso.
Lógica de medición de tiempos: finalización forzada admitida
- Transmitimos audio en tiempo real. Cuando SileroVAD detecta el final del habla, enviamos la solicitud force-endpoint.
- El temporizador de tiempo hasta la transcripción final empieza en el momento de reloj en que el audio hasta el punto de final de habla se ha transmitido realmente y se ha enviado la señal force-endpoint, no en la marca de tiempo de final de habla del archivo de audio. Esto evita contaminar la latencia con desviaciones de ritmo en el arnés de prueba o en el modelo.
- El temporizador se detiene en la siguiente transcripción final del modelo; WER se calcula sobre las transcripciones finales combinadas.
- Si el modelo ya compartió una transcripción final antes de que SileroVAD se activara, usamos la más reciente.
- El tiempo hasta la primera parcial se mide igual, deteniéndose en la primera parcial recibida después de la señal force-endpoint.
Lógica de medición de tiempos: finalización forzada no admitida
- Usar la primera transcripción final natural dentro de los 2 s posteriores al final de habla de SileroVAD.
- Si no aparece una transcripción final natural dentro de 2 s, usar la primera parcial que llegue después de 2 s.
- Si no llega nada después de 2 s, usar la última parcial anterior a 2 s.
Métricas reportadas
El WER final se calcula a partir de las transcripciones finales combinadas más la transcripción final seleccionada o la transcripción parcial de respaldo de la lógica anterior, mientras que el WER parcial se calcula a partir de las transcripciones finales combinadas más la parcial posterior a la finalización seleccionada por la lógica anterior. Ambas se comparan contra la transcripción de referencia completa. Como la primera parcial posterior a la finalización suele reflejar un punto anterior en la salida de streaming del modelo, el WER parcial y el WER final se reportan por separado en vez de compararse directamente.
Criterios de inclusión de modelos
Nuestro objetivo es representar los modelos de voz a texto más populares y con mejor rendimiento para ayudar a los usuarios finales a elegir qué modelos y proveedores usar. Por ello, aplicamos una prueba de 'relevancia industrial' y rendimiento competitivo para evaluar la inclusión de nuevos modelos y proveedores. Estamos refinando estos criterios y agradecemos cualquier comentario o sugerencia. Para sugerir modelos, contáctanos a través de la página de contacto.
Historial de versiones
AA-WER v2.2
Mayo de 2026-actualidad
- Actualizamos de nuevo el normalizador de comparación de texto en inglés para tratar variantes de transcripción adicionales que preservan el significado como equivalentes, manteniendo penalizaciones por omisiones o sustituciones que cambian el significado:
- Variantes de apóstrofo Unicode en formulaciones equivalentes (por ejemplo, we’re vs. we're)
- Formato de porcentajes con signo cuando el significado coincide (por ejemplo, -12% vs. negative twelve percent)
- Agrupación decimal cuando no hay marcador de moneda (por ejemplo, 99.99 vs. ninety-nine ninety-nine), manteniendo penalizaciones por símbolos de moneda ausentes (por ejemplo, $71.50 no equivale a seventy-one fifty)
- Variantes de guion/raya solo de formato (por ejemplo, 18-year-old vs. 18 year old)
- Puntuación técnica en contextos claros de código, URL y email (por ejemplo, UserController.java vs. UserController dot java, /v1/users vs. slash v1 slash users, gmail.com vs. gmail dot com)
- Variantes de versión, decimal y fracción cuando las formas hablada y escrita coinciden (por ejemplo, version 1.24.3 vs. version one point twenty-four dot three, 1.0 vs. one point zero, 1.25 inches vs. one and a quarter inches)
- Abreviaturas de unidades cuando el significado no cambia (por ejemplo, mg/dL vs. milligrams per deciliter, GB vs. gigabytes)
- Lanzamos la evaluación de voz a texto en streaming, añadiendo métricas de latencia de tiempo hasta la transcripción final y tiempo hasta la primera transcripción parcial.
AA-WER v2.1
Abril de 2026-mayo de 2026
- Actualizamos el normalizador de comparación de texto en inglés para tratar variantes de transcripción adicionales que preservan el significado como equivalentes, manteniendo penalizaciones por omisiones o sustituciones que cambian el significado:
- Formato de IDs y números de teléfono cuando guiones o espacios solo se usan como agrupación de dígitos (por ejemplo, 303-775-4498 vs. 303 775 4498, CLM-2024-0873 vs. CLM 2024 0873)
- Nombres deletreados y secuencias de letras deletreadas entre estilos de separador (por ejemplo, S I N G H vs. S-I-N-G-H)
- Formato de rangos numéricos cuando los extremos y las unidades coinciden (por ejemplo, 15-20 minutes vs. fifteen to twenty minutes, 6-8% vs. six to eight percent)
- Variantes comunes de espaciado y guionización cuando el significado no cambia (por ejemplo, hard-coded vs. hardcoded, up front vs. upfront, Sea-Tac vs. SeaTac)
- Preservación de códigos y símbolos con significado cuando su omisión o sustitución cambia la transcripción (por ejemplo, F-150, W-2, $50, 5%)
- Las frases repetidas de números grandes hablados se mantienen separadas en vez de fusionarse en un número nuevo (por ejemplo, twelve million twelve million se convierte en 12,000,000 12,000,000, no en 24,000,000)
- El contenido transcrito entre corchetes se mantiene, mientras que etiquetas de anotación como [music], '<unk>' y language English'<asr_text>' se eliminan
AA-WER v2.0
Febrero de 2026-actualidad
- Introdujimos AA-AgentTalk, un nuevo conjunto de datos de evaluación propietario (ponderación del 50%) centrado en casos de uso de agentes de voz, que funciona como conjunto de prueba privado y reservado.
- Limpiamos las transcripciones de referencia de VoxPopuli y Earnings22, corrigiendo errores en transcripciones de referencia para garantizar una evaluación más justa.
- Eliminamos AMI SDM del benchmark por problemas de calidad de transcripción.
- Usamos un normalizador personalizado construido sobre el normalizador de inglés de Whisper para reducir WER inflados artificialmente por diferencias de formato en vez de errores genuinos de transcripción.
- Nueva ponderación: 50% AA-AgentTalk, 25% Earnings22-Cleaned-AA, 25% VoxPopuli-Cleaned-AA.
AA-WER v1.0
Septiembre de 2025-febrero de 2026
- Lanzamiento inicial con tres conjuntos de datos públicos: AMI SDM, VoxPopuli, Earnings22.
- ~6 horas de audio en tres conjuntos de datos.