Cuando transcribes una entrevista o una junta con varias personas, saber quién dijo cada oración es fundamental. Whisper Notes hace el reconocimiento de voz y la diarización de hablantes sin conexión, en tu iPhone o tu Mac. Por eso cada modelo que incorporamos tiene que equilibrar precisión y velocidad, y la precisión siempre ha sido nuestra prioridad. Hace poco reemplazamos el modelo de diarización integrado, pyannote community-1, por Nemotron 3 Diarization de NVIDIA, y comparamos los dos en 122 grabaciones públicas con entre uno y doce hablantes: la tasa de error de diarización (DER) bajó del 16.0% al 9.9%.
Nemotron 3 reduce la tasa de error de diarización del 16.0% al 9.9%
La tasa de error de diarización (DER) suma tres tipos de error, medidos en tiempo de habla: habla asignada a la persona equivocada, habla que el modelo no detectó y ruido tomado por habla. Es la métrica estándar de la diarización de hablantes. La tabla la muestra junto a los problemas que más notan los usuarios y junto a la velocidad y la memoria de los dos modelos en una Mac y en un iPhone.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Tasa de error de diarización, 122 grabaciones | 16.0% | 9.9% |
| Número de hablantes correcto | 52% de las grabaciones | 80% de las grabaciones |
| Habla asignada a la persona equivocada | 4.5% | 1.0% |
| 1 hora de audio en una Mac (M5) | unos 22 s | unos 8.5 s |
| Memoria en la Mac | 0.88 GB | 0.12 GB |
| Grabación de 55 minutos en un iPhone 15 | unos 27 s | unos 12 s |
| Memoria adicional en un iPhone 15 | unos 830 MB | unos 30 MB |
| Máximo de hablantes | Sin límite fijo (hasta 10 en la app) | 8 |
En verde se marca, aquí y en todas las tablas y gráficos siguientes, el mejor valor cuando la diferencia supera el margen de error: en precisión, un intervalo del 95% que excluye el cero; en velocidad y memoria, una diferencia mucho mayor que la variación entre ejecuciones. Tasas de error: cuanto más bajas, mejor. Las filas de precisión salen de 122 grabaciones públicas (25 horas, en inglés y chino). La velocidad y la memoria corresponden a los dos modelos ejecutados con Core ML, con Nemotron 3 en el Neural Engine; en Mac se mide solo el procesamiento, y en iPhone, desde que empieza la detección hasta el resultado.
La mejora no se debe a unas pocas grabaciones. El gráfico muestra el cambio en cada una de las 122 grabaciones, de la mayor bajada a la mayor subida:
Cada barra es una grabación y muestra cuántos puntos cambió su tasa de error con Nemotron 3: por debajo de cero bajó; por encima, subió.
Nemotron 3 sale peor en tres casos: grabaciones con más de ocho hablantes, grabaciones con un solo hablante y saltos de párrafo a mitad de una oración.
La confusión de hablantes casi desaparece: 4.5% → 1.0%
De los tres tipos de error, el habla asignada a la persona equivocada es el que el lector nota primero: las palabras son correctas, pero el nombre no. Con Nemotron 3 casi desaparece, y el habla omitida también baja.
Promedio de las 122 grabaciones, en porcentaje del tiempo de habla; las dos barras de cada fila empiezan en cero. Las bajadas en hablante equivocado y en habla omitida superan el margen de error. La diferencia en ruido tomado por habla queda dentro, por eso esa barra es gris claro. Los valores están redondeados, así que la suma puede no coincidir exactamente con el total.
El número correcto de hablantes en el 80% de las grabaciones, frente al 52%
Detectar menos hablantes de los que hay significa que dos voces se fusionaron en una, y las intervenciones de dos personas salen con una sola etiqueta. Era el error más frecuente de pyannote community-1, y Nemotron 3 lo comete mucho menos.
Número de hablantes que encontró cada modelo, comparado con el real, en las 122 grabaciones. pyannote community-1 casi siempre se quedó corto. Nemotron 3 acierta más a menudo y, cuando falla, se pasa tantas veces como se queda corto.
Mejor en juntas, transmisiones y grabaciones de dos a ocho hablantes
La dificultad cambia mucho de una grabación a otra: las juntas grabadas desde el otro lado de la sala son las más difíciles, y las transmisiones, las más fáciles. Si se dividen por tipo de grabación, idioma y número de hablantes, todos los grupos con al menos diez grabaciones tienen una tasa de error más baja; en el grupo de un solo hablante, la diferencia está dentro del margen de error. Las tres grabaciones con entre nueve y doce hablantes empeoraron, pero son demasiado pocas para evaluarlas.
Las dos barras de cada grupo empiezan en cero: el gris es pyannote community-1, el verde es Nemotron 3 y el número al final de cada barra es la tasa de error promedio. El verde indica una bajada mayor que el margen de error; el gris claro, una diferencia dentro de él; el ámbar, una subida. Las 6 llamadas de resultados cuentan en los totales, pero son demasiado pocas para formar un grupo propio.
Revisar una transcripción: las correcciones manuales por cada 10 minutos bajan de 28.9 a 18.9
Al final, la tasa de error se traduce en trabajo: las fusiones, divisiones y cambios de hablante que hacen falta para dejar bien la vista de hablantes. Contamos el mínimo de esas correcciones en 4 grabaciones de dos personas que tienen una referencia palabra por palabra (2 en neerlandés, 1 en chino y 1 en finlandés). Otro error que notan los lectores es la oración de una persona partida entre dos hablantes. En 12 juntas en inglés grabadas desde el otro lado de la sala, los dos modelos lo hacen rara vez, y la diferencia está dentro del margen de error.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Correcciones manuales por cada 10 minutos, 4 grabaciones de dos personas | 28.9 | 18.9 |
| Oración partida entre dos hablantes, 12 juntas en inglés | 0.58% de las oraciones | 0.88% de las oraciones |
El conteo de correcciones manuales sale de solo 4 grabaciones, demasiado pocas para una prueba estadística o una conclusión general. Una oración partida es una oración que dijo una sola persona y cuyo texto acabó en los párrafos de dos hablantes.
Nemotron 3 es más rápido y necesita menos de una séptima parte de la memoria
En un dispositivo, la velocidad y la memoria importan tanto como la precisión. La tabla muestra el tiempo de procesamiento y la memoria de los dos modelos ejecutados con Core ML, con Nemotron 3 en el Neural Engine. En todos los dispositivos que probamos, Nemotron 3 es más rápido y usa mucha menos memoria, algo que se nota sobre todo en los iPhone antiguos con 4 GB de memoria.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Mac (M5) | ||
| 1 hora de audio | unos 22 s | unos 8.5 s |
| Memoria | 0.88 GB | 0.12 GB |
| iPhone 15 | ||
| Grabación de 55 minutos | 26.6 s | 11.8 s |
| Memoria adicional durante la detección | 833 MB | 30 MB |
| iPhone 12 mini | ||
| Grabación de 55 minutos | 30.1 s | 17.2 s |
| Pico de memoria de la app durante la detección | 638 MB | 71 MB |
Mediana de varias ejecuciones (pyannote community-1 se ejecutó una sola vez en el iPhone 15), todas con la misma llamada de resultados de 55 minutos y 10 hablantes. Los dos modelos se ejecutan con Core ML, Nemotron 3 en el Neural Engine. Los tiempos en Mac son solo de procesamiento, sin decodificar el audio ni cargar el modelo. Los tiempos en iPhone van desde que empieza la detección hasta el resultado e incluyen la carga del modelo y, en el caso de pyannote community-1, el posprocesamiento que traía de serie. Los celulares estaban conectados por USB y cada ejecución empezó con el celular frío.
La primera vez que Core ML ejecuta un modelo en el Neural Engine, lo compila para ese dispositivo: unos 7 segundos en una Mac y alrededor de un minuto en un iPhone 15. Después, cargar el modelo tarda una fracción de segundo.
En qué sigue siendo mejor pyannote community-1
- Más de ocho hablantes. Nemotron 3 etiqueta como máximo a ocho personas; en nuestras 3 grabaciones con entre nueve y doce hablantes, quedó por detrás de pyannote community-1 en 2.
- Un solo hablante. En 14 grabaciones de un solo hablante, Nemotron 3 encontró hablantes de más en 5; pyannote community-1, en 1.
- Saltos a mitad de una oración. En 12 juntas en inglés, el 25.8% de los saltos de párrafo cayó a mitad de una oración, frente al 14.6% con pyannote community-1.
Consejos para aprovechar al máximo Nemotron 3 en Whisper Notes
- Indica el número de hablantes si lo sabes. En las 108 grabaciones con dos o más hablantes, decirle el número a Nemotron 3 corrigió el conteo de hablantes en 15 y no lo empeoró en ninguna, sin un cambio claro en la tasa de error (+0.16 puntos, dentro del margen).
- Si solo habla una persona, no detectes hablantes. Así evitas que aparezca de vez en cuando un segundo «hablante».
- Con más de ocho hablantes, toma las etiquetas como un primer borrador. Fusiona y cambia el nombre de los hablantes en la vista de hablantes donde haga falta.
Indicar el número de hablantes desde Not right? en la vista de hablantes de la Mac
La detección de hablantes funciona igual en iPhone y en Mac, íntegramente en tu dispositivo. Para ver cómo se usa en la app, consulta Whisper Notes ya identifica a los hablantes.
Cómo funcionan: pyannote corta y agrupa; Nemotron 3 numera a los hablantes por orden de aparición
pyannote community-1 es un proceso en tres pasos. Corta el audio en ventanas de 10 segundos y detecta quién habla en cada una (hasta 3 personas por ventana y hasta 2 a la vez). Después extrae una huella de voz, o embedding, de cada segmento de habla. Por último, el agrupamiento VBx reúne las huellas parecidas en hablantes. Los números de hablante de una ventana solo valen para esa ventana, así que el número total de hablantes no se fija hasta el último paso.
Nemotron 3 Diarization es un único modelo: un codificador Transformer de 31 capas que puntúa ocho pistas de hablante en cada instante. Cada pista se puntúa por separado, así que, cuando varias personas hablan a la vez, hay varias pistas activas. Sigue el enfoque Sortformer de NVIDIA y numera las pistas según el momento en que cada persona habla por primera vez: quien habla primero siempre ocupa la pista 1, así que el modelo nunca tiene que adivinar a qué posición pertenece una voz. En el modo de streaming que describe su ficha del modelo, una caché de hablantes que conserva el orden de llegada recuerda a los hablantes anteriores, de modo que un segmento posterior puede asignarse al mismo número.
Cada diseño tiene su límite. pyannote community-1 no tiene un límite fijo de hablantes, pero separa como mucho a dos personas a la vez. Nemotron 3 puede etiquetar a varias personas que hablan a la vez, pero tiene ocho pistas, así que encuentra como máximo ocho hablantes.
Los diagramas están simplificados. pyannote community-1: unos 21 MB en Whisper Notes, CC BY 4.0 (ficha del modelo); modelo de segmentación de Plaquet y Bredin (Interspeech 2023), embeddings de WeSpeaker, agrupamiento con VBx (Landini et al., 2022). Nemotron 3 Diarization: 97 MB (conversión a Core ML de 8 bits de Fluid Inference), unos 100 millones de parámetros, OpenMDW 1.1 (ficha del modelo); el método se describe en los artículos de Sortformer y Streaming Sortformer.
Cómo lo probamos
- Grabaciones. 122 grabaciones públicas, 25 horas, en inglés y chino, con entre 1 y 12 hablantes cada una: juntas grabadas desde el otro lado de la sala, transmisiones, llamadas de resultados y grabaciones de un solo hablante armadas a partir de fragmentos sueltos. Además, 5 grabaciones de dos personas en inglés, neerlandés, chino y finlandés, 4 de ellas con referencia palabra por palabra.
- Conjuntos de datos. AMI, AISHELL-4, AliMeeting, VoxConverse, Earnings-21, LibriSpeech, IFADV y SKN, además de grabaciones propias. Solo conjuntos de datos cuya licencia permite publicar resultados; ninguna grabación de nuestros usuarios.
- Métrica. Tasa de error de diarización en tramas de 10 ms, sin collar e incluida el habla solapada; se promedia por grabación.
- Estadística. Intervalos del 95% a partir de 10,000 remuestreos bootstrap de grabaciones completas; sin intervalos para los grupos de menos de diez grabaciones.
- Dispositivos. Una Mac con chip M5, un iPhone 15 y un iPhone 12 mini; la precisión se calculó en la Mac.
- Prerregistro. El plan de pruebas se fijó el 2 de noviembre de 2026, y la parte de dos personas, el 4 de noviembre, antes de pasar ningún modelo por esas grabaciones.
Todos los detalles de la prueba
Selección. Las preguntas y las reglas se fijaron para una prueba más amplia antes de cualquier ejecución; elegimos este subconjunto por la licencia, no por los resultados, y recalculamos las cifras a partir de las mismas salidas con la misma puntuación. Las grabaciones de un solo hablante armadas con fragmentos de LibriSpeech y AISHELL-4 cuentan dentro de su conjunto de origen. Solo publicamos resultados agregados, nunca audio ni texto de referencia.
| Conjunto de datos | Licencia | Grabaciones usadas |
|---|---|---|
| AMI Meeting Corpus | CC BY 4.0 | 16 juntas y 16 fragmentos de un minuto |
| AISHELL-4 | CC BY-SA 4.0 | 5 juntas, 5 fragmentos y 5 grabaciones de un solo hablante armadas |
| AliMeeting | CC BY-SA 4.0 | 8 juntas, 8 fragmentos y 1 grabación de dos personas |
| VoxConverse | CC BY 4.0 (los derechos de autor de los videos siguen siendo de sus titulares) | 30 transmisiones y 18 fragmentos |
| Earnings-21 | CC BY-SA 4.0 | 6 llamadas de resultados y 1 grabación de dos personas |
| LibriSpeech | CC BY 4.0 | 5 grabaciones de un solo hablante armadas |
| IFADV | GNU GPL v2 o posterior | 2 grabaciones de dos personas |
| Muestras de dialectos finlandeses SKN | CC BY (Instituto de las Lenguas de Finlandia) | 1 grabación de dos personas |
Licencias según la página de cada conjunto de datos, consultadas en noviembre de 2026.
Intervalos. La tasa de error global bajó 6.0 puntos (intervalo de 4.5 a 7.6). El habla omitida bajó 2.3 puntos (de 1.3 a 3.4), y el habla asignada al hablante equivocado, 3.4 puntos (de 2.4 a 4.6); el ruido tomado por habla bajó 0.30 puntos, dentro del margen de error (de −0.02 a 0.62). La proporción de grabaciones con el número correcto de hablantes subió 27.9 puntos (de 17.2 a 38.5). En los grupos, todos los intervalos excluyen el cero salvo el del grupo de un solo hablante. En las 12 juntas en inglés, el intervalo de las oraciones partidas incluye el cero; el de los saltos a mitad de una oración, no.
Puntuación. Nuestro evaluador coincide con pyannote.metrics con una diferencia máxima de 0.003 puntos.
Más de ocho hablantes. Los resultados en estas grabaciones son sensibles a pequeñas diferencias de chip y de decodificación del audio. En la llamada de resultados de 55 minutos y 10 hablantes, Nemotron 3 osciló entre el 30.6% y el 42.8% según el chip, los ajustes y el decodificador de audio; pyannote community-1 obtuvo un 21.6%.
Ajustes de posprocesamiento. Algunos ajustes de posprocesamiento se eligieron después del prerregistro, solo con grabaciones de ajuste aparte; las grabaciones de prueba se usaron únicamente para dar los resultados.
Limitaciones. La precisión solo se midió en inglés y chino; el conteo de correcciones manuales sale de 4 grabaciones. Los tiempos en Mac proceden de una Mac M5 que estaba haciendo otras tareas y tenía instalada una beta de macOS; los celulares estaban conectados por USB, así que no se midió el consumo de batería.
Pruébalo
Whisper Notes para iPhone y Mac ya usa Nemotron 3 para detectar hablantes. Si tienes preguntas, escribe a support@whispernotes.app.