Quando transcreve uma entrevista ou uma reunião com várias pessoas, saber quem disse cada frase é essencial. O Whisper Notes faz o reconhecimento de voz e a diarização de oradores sem internet, no seu iPhone ou Mac. Por isso, cada modelo que incluímos tem de equilibrar precisão e velocidade, e a precisão sempre foi a nossa prioridade. Substituímos recentemente o modelo de diarização integrado, pyannote community-1, pelo Nemotron 3 Diarization da NVIDIA, e comparámos os dois em 122 gravações públicas com um a doze oradores: a taxa de erro de diarização (DER) desceu de 16,0% para 9,9%.
O Nemotron 3 reduz a taxa de erro de diarização de 16,0% para 9,9%
A taxa de erro de diarização (DER) soma três tipos de erro, medidos em tempo de fala: fala atribuída à pessoa errada, fala que o modelo não detetou e ruído tomado por fala. É a medida padrão da diarização de oradores. A tabela mostra-a ao lado dos problemas que os utilizadores mais notam e ao lado da velocidade e da memória dos dois modelos num Mac e num iPhone.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Taxa de erro de diarização, 122 gravações | 16,0% | 9,9% |
| Número de oradores certo | 52% das gravações | 80% das gravações |
| Fala atribuída à pessoa errada | 4,5% | 1,0% |
| 1 hora de áudio num Mac (M5) | cerca de 22 s | cerca de 8,5 s |
| Memória no Mac | 0,88 GB | 0,12 GB |
| Gravação de 55 minutos num iPhone 15 | cerca de 27 s | cerca de 12 s |
| Memória adicional num iPhone 15 | cerca de 830 MB | cerca de 30 MB |
| Máximo de oradores | Sem limite fixo (até 10 na app) | 8 |
A verde assinala-se, aqui e em todas as tabelas e gráficos seguintes, o melhor valor quando a diferença ultrapassa a margem de erro: na precisão, um intervalo de 95% que exclui o zero; na velocidade e na memória, uma diferença muito maior do que a variação entre execuções. Taxas de erro: quanto mais baixas, melhor. As linhas de precisão vêm de 122 gravações públicas (25 horas, em inglês e chinês). A velocidade e a memória são as dos dois modelos a correr através do Core ML, com o Nemotron 3 no Neural Engine; no Mac mede-se só o processamento e, no iPhone, o tempo desde o início da deteção até ao resultado.
A descida não se deve a meia dúzia de gravações. O gráfico mostra a variação em cada uma das 122 gravações, da maior descida à maior subida:
Cada barra é uma gravação e mostra quantos pontos a sua taxa de erro mudou com o Nemotron 3: abaixo de zero desceu; acima de zero, subiu.
O Nemotron 3 sai-se pior em três casos: gravações com mais de oito oradores, gravações com um único orador e quebras de parágrafo a meio de uma frase.
A confusão de oradores quase desaparece: 4,5% → 1,0%
Dos três tipos de erro, a fala atribuída à pessoa errada é o que o leitor nota primeiro: as palavras estão certas, mas o nome não. Com o Nemotron 3 quase desaparece, e a fala não detetada também desce.
Média das 122 gravações, em percentagem do tempo de fala; as duas barras de cada linha começam em zero. As descidas no orador errado e na fala não detetada ultrapassam a margem de erro. A diferença no ruído tomado por fala fica dentro dela, por isso essa barra está a cinzento-claro. Os valores estão arredondados, por isso a soma pode não dar exatamente o total.
O número certo de oradores em 80% das gravações, contra 52%
Encontrar oradores a menos significa que duas vozes foram fundidas numa só, e as intervenções de duas pessoas aparecem com uma única etiqueta. Era o erro mais comum do pyannote community-1, e o Nemotron 3 comete-o muito menos vezes.
Número de oradores que cada modelo encontrou, comparado com o número real, nas 122 gravações. O pyannote community-1 ficou quase sempre abaixo. O Nemotron 3 acerta mais vezes e, quando erra, encontra oradores a mais tantas vezes como a menos.
Melhor em reuniões, emissões e gravações com dois a oito oradores
A dificuldade varia muito de gravação para gravação: as reuniões gravadas do outro lado da sala são as mais difíceis, e as emissões, as mais fáceis. Divididos por tipo de gravação, língua e número de oradores, todos os grupos com pelo menos dez gravações têm uma taxa de erro mais baixa; no grupo de um só orador, a diferença está dentro da margem de erro. As três gravações com nove a doze oradores pioraram, mas são demasiado poucas para testar.
As duas barras de cada grupo começam em zero: o cinzento é o pyannote community-1, o verde é o Nemotron 3 e o número no fim de cada barra é a taxa de erro média. O verde assinala uma descida acima da margem de erro; o cinzento-claro, uma diferença dentro dela; o âmbar, uma subida. As 6 apresentações de resultados contam para os totais, mas são demasiado poucas para formarem um grupo próprio.
Rever uma transcrição: as correções manuais por cada 10 minutos descem de 28,9 para 18,9
No fim, a taxa de erro traduz-se em trabalho: as fusões, divisões e trocas de orador necessárias para deixar a vista de oradores correta. Contámos o número mínimo dessas correções em 4 gravações de duas pessoas com uma referência palavra a palavra (2 em neerlandês, 1 em chinês e 1 em finlandês). Outro erro que os leitores notam é a frase de uma pessoa dividida entre dois oradores. Em 12 reuniões em inglês gravadas do outro lado da sala, os dois modelos fazem-no raramente, e a diferença está dentro da margem de erro.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Correções manuais por cada 10 minutos, 4 gravações de duas pessoas | 28,9 | 18,9 |
| Frase dividida entre dois oradores, 12 reuniões em inglês | 0,58% das frases | 0,88% das frases |
A contagem de correções manuais vem de apenas 4 gravações, demasiado poucas para um teste estatístico ou uma conclusão geral. Uma frase dividida é uma frase dita por uma só pessoa cujo texto foi parar aos parágrafos de dois oradores.
O Nemotron 3 é mais rápido e precisa de menos de um sétimo da memória
Num dispositivo, a velocidade e a memória contam tanto como a precisão. A tabela mostra o tempo de processamento e a memória dos dois modelos a correr através do Core ML, com o Nemotron 3 no Neural Engine. Em todos os dispositivos que testámos, o Nemotron 3 é mais rápido e usa muito menos memória, o que pesa sobretudo nos iPhone mais antigos com 4 GB de memória.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Mac (M5) | ||
| 1 hora de áudio | cerca de 22 s | cerca de 8,5 s |
| Memória | 0,88 GB | 0,12 GB |
| iPhone 15 | ||
| Gravação de 55 minutos | 26,6 s | 11,8 s |
| Memória adicional durante a deteção | 833 MB | 30 MB |
| iPhone 12 mini | ||
| Gravação de 55 minutos | 30,1 s | 17,2 s |
| Pico de memória da app durante a deteção | 638 MB | 71 MB |
Mediana de várias execuções (o pyannote community-1 correu uma só vez no iPhone 15), todas na mesma apresentação de resultados de 55 minutos com 10 oradores. Os dois modelos correm através do Core ML, o Nemotron 3 no Neural Engine. Os tempos no Mac são só de processamento, sem descodificação do áudio nem carregamento do modelo. Os tempos no iPhone vão do início da deteção até ao resultado e incluem o carregamento do modelo e, no caso do pyannote community-1, o pós-processamento com que era distribuído. Os telemóveis estavam ligados por USB e cada execução começou com o telemóvel frio.
Da primeira vez que o Core ML corre um modelo no Neural Engine, compila-o para esse dispositivo: cerca de 7 segundos num Mac e cerca de um minuto num iPhone 15. Depois disso, carregar o modelo demora uma fração de segundo.
Onde o pyannote community-1 ainda é melhor
- Mais de oito oradores. O Nemotron 3 identifica no máximo oito pessoas; nas nossas 3 gravações com nove a doze oradores, ficou atrás do pyannote community-1 em 2.
- Um único orador. Em 14 gravações de um só orador, o Nemotron 3 encontrou oradores a mais em 5; o pyannote community-1, em 1.
- Quebras a meio de uma frase. Em 12 reuniões em inglês, 25,8% das quebras de parágrafo caíram a meio de uma frase, contra 14,6% com o pyannote community-1.
Dicas para tirar o máximo partido do Nemotron 3 no Whisper Notes
- Indique o número de oradores quando o souber. Nas 108 gravações com dois ou mais oradores, dizer o número ao Nemotron 3 corrigiu a contagem de oradores em 15 e não a estragou em nenhuma, sem alteração clara da taxa de erro (+0,16 ponto, dentro da margem).
- Se só falar uma pessoa, não use a deteção de oradores. Assim evita que, de vez em quando, apareça um segundo “orador”.
- Com mais de oito oradores, trate as etiquetas como um primeiro rascunho. Junte oradores e mude-lhes o nome na vista de oradores sempre que for preciso.
Indicar o número de oradores em Not right?, na vista de oradores do Mac
A deteção de oradores funciona da mesma forma no iPhone e no Mac, inteiramente no seu dispositivo. Para saber como usá-la na app, veja O Whisper Notes identifica agora os oradores.
Como funcionam: o pyannote corta e agrupa, o Nemotron 3 numera os oradores pela ordem em que falam pela primeira vez
O pyannote community-1 é um processo em três passos. Corta o áudio em janelas de 10 segundos e deteta quem fala em cada uma (até 3 pessoas por janela, até 2 ao mesmo tempo). Depois extrai uma impressão vocal, ou embedding, de cada segmento de fala. Por fim, o agrupamento VBx junta as impressões vocais semelhantes em oradores. Os números de orador dentro de uma janela só valem para essa janela, por isso o número total de oradores só fica definido no último passo.
O Nemotron 3 Diarization é um único modelo: um codificador Transformer de 31 camadas que pontua oito pistas de orador em cada instante. Cada pista é pontuada em separado, por isso, quando várias pessoas falam ao mesmo tempo, há várias pistas ativas. Segue a abordagem Sortformer da NVIDIA e numera as pistas pelo momento em que cada pessoa fala pela primeira vez: quem fala primeiro fica sempre na pista 1, por isso o modelo nunca tem de adivinhar a que posição pertence uma voz. Na configuração em streaming descrita na ficha do modelo, uma cache de oradores mantida por ordem de chegada guarda os oradores anteriores, para que um segmento posterior possa ser associado ao mesmo número.
Cada abordagem tem o seu limite. O pyannote community-1 não tem limite fixo de oradores, mas separa no máximo duas pessoas ao mesmo tempo. O Nemotron 3 consegue identificar várias pessoas a falar ao mesmo tempo, mas tem oito pistas, por isso encontra no máximo oito oradores.
Os diagramas estão simplificados. pyannote community-1: cerca de 21 MB no Whisper Notes, CC BY 4.0 (ficha do modelo); modelo de segmentação de Plaquet e Bredin (Interspeech 2023), embeddings do WeSpeaker, agrupamento com VBx (Landini et al., 2022). Nemotron 3 Diarization: 97 MB (conversão Core ML de 8 bits da Fluid Inference), cerca de 100 milhões de parâmetros, OpenMDW 1.1 (ficha do modelo); o método está descrito nos artigos do Sortformer e do Streaming Sortformer.
Como testámos
- Gravações. 122 gravações públicas, 25 horas, em inglês e chinês, com 1 a 12 oradores cada: reuniões gravadas do outro lado da sala, emissões, apresentações de resultados e gravações de um só orador montadas a partir de excertos separados. Além disso, 5 gravações de duas pessoas em inglês, neerlandês, chinês e finlandês, 4 delas com uma referência palavra a palavra.
- Conjuntos de dados. AMI, AISHELL-4, AliMeeting, VoxConverse, Earnings-21, LibriSpeech, IFADV e SKN, além de gravações nossas. Só conjuntos de dados cujas licenças permitem publicar resultados; nenhuma gravação dos nossos utilizadores.
- Métrica. Taxa de erro de diarização, calculada em tramas de 10 ms, sem collar e incluindo a fala sobreposta, com média por gravação.
- Estatística. Intervalos de 95% a partir de 10.000 reamostragens bootstrap de gravações inteiras; sem intervalos para grupos com menos de dez gravações.
- Dispositivos. Um Mac com chip M5, um iPhone 15 e um iPhone 12 mini; a precisão foi calculada no Mac.
- Pré-registo. O plano de teste foi fixado a 2 de novembro de 2026, e a parte de duas pessoas a 4 de novembro, antes de qualquer modelo ter corrido nessas gravações.
Todos os detalhes do teste
Seleção. As perguntas e as regras foram fixadas para um benchmark maior antes de qualquer execução; escolhemos este subconjunto pela licença, não pelo resultado, e recalculámos os números a partir das mesmas saídas, com a mesma pontuação. As gravações de um só orador montadas com excertos do LibriSpeech e do AISHELL-4 contam no conjunto de origem. Só publicamos resultados agregados, nunca áudio nem texto de referência.
| Conjunto de dados | Licença | Gravações usadas |
|---|---|---|
| AMI Meeting Corpus | CC BY 4.0 | 16 reuniões e 16 excertos de um minuto |
| AISHELL-4 | CC BY-SA 4.0 | 5 reuniões, 5 excertos e 5 gravações montadas de um só orador |
| AliMeeting | CC BY-SA 4.0 | 8 reuniões, 8 excertos e 1 gravação de duas pessoas |
| VoxConverse | CC BY 4.0 (os direitos de autor dos vídeos continuam a pertencer aos seus titulares) | 30 emissões e 18 excertos |
| Earnings-21 | CC BY-SA 4.0 | 6 apresentações de resultados e 1 gravação de duas pessoas |
| LibriSpeech | CC BY 4.0 | 5 gravações montadas de um só orador |
| IFADV | GNU GPL v2 ou posterior | 2 gravações de duas pessoas |
| Amostras de dialetos finlandeses SKN | CC BY (Instituto das Línguas da Finlândia) | 1 gravação de duas pessoas |
Licenças tal como indicadas na página de cada conjunto de dados, verificadas em novembro de 2026.
Intervalos. A taxa de erro global desceu 6,0 pontos (intervalo de 4,5 a 7,6). A fala não detetada desceu 2,3 pontos (1,3 a 3,4) e a fala atribuída ao orador errado, 3,4 pontos (2,4 a 4,6); o ruído tomado por fala desceu 0,30 ponto, dentro da margem de erro (−0,02 a 0,62). A proporção de gravações com o número certo de oradores subiu 27,9 pontos (17,2 a 38,5). Nos grupos, todos os intervalos excluem o zero, exceto o do grupo de um só orador. Nas 12 reuniões em inglês, o intervalo das frases divididas inclui o zero; o das quebras a meio de uma frase, não.
Pontuação. O nosso avaliador coincide com o pyannote.metrics com uma diferença máxima de 0,003 ponto.
Mais de oito oradores. Os resultados nestas gravações são sensíveis a pequenas diferenças de chip e de descodificação do áudio. Na apresentação de resultados de 55 minutos com 10 oradores, o Nemotron 3 variou entre 30,6% e 42,8% consoante o chip, as definições e o descodificador de áudio; o pyannote community-1 obteve 21,6%.
Parâmetros de pós-processamento. Alguns parâmetros de pós-processamento foram escolhidos depois do pré-registo, apenas em gravações de afinação separadas; as gravações de teste serviram só para apresentar os resultados.
Limitações. A precisão só foi medida em inglês e chinês; a contagem de correções manuais vem de 4 gravações. Os tempos no Mac vêm de um Mac M5 que estava a fazer outras tarefas e tinha uma beta do macOS; os telemóveis estavam ligados por USB, por isso o consumo de bateria não foi medido.
Experimente
O Whisper Notes no iPhone e no Mac usa agora o Nemotron 3 para detetar oradores. Se tiver dúvidas, escreva para support@whispernotes.app.