Quando você 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 falantes offline, no seu iPhone ou Mac. Por isso, cada modelo que incluímos precisa equilibrar precisão e velocidade, e a precisão sempre foi a nossa prioridade. Recentemente, trocamos o modelo de diarização integrado, pyannote community-1, pelo Nemotron 3 Diarization da NVIDIA, e comparamos os dois em 122 gravações públicas com um a doze falantes: a taxa de erro de diarização (DER) caiu 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 deixou passar e ruído tomado como fala. É a medida padrão da diarização de falantes. A tabela mostra essa taxa ao lado dos problemas que os usuários mais percebem e ao lado da velocidade e da memória dos dois modelos em um Mac e em um iPhone.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Taxa de erro de diarização, 122 gravações | 16,0% | 9,9% |
| Número de falantes certo | 52% das gravações | 80% das gravações |
| Fala atribuída à pessoa errada | 4,5% | 1,0% |
| 1 hora de áudio em um 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 em um iPhone 15 | cerca de 27 s | cerca de 12 s |
| Memória extra em um iPhone 15 | cerca de 830 MB | cerca de 30 MB |
| Máximo de falantes | Sem limite fixo (até 10 no app) | 8 |
Em verde aparece, aqui e em todas as tabelas e gráficos a seguir, o melhor valor quando a diferença fica acima da 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 que a variação entre execuções. Taxas de erro: quanto menor, 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 dos dois modelos rodando pelo Core ML, com o Nemotron 3 no Neural Engine; no Mac, medimos só o processamento e, no iPhone, o tempo do início da detecção até o resultado.
A queda não vem de poucas gravações. O gráfico mostra a variação em cada uma das 122 gravações, da maior queda à maior alta:
Cada barra é uma gravação e mostra quantos pontos a taxa de erro dela mudou com o Nemotron 3: abaixo de zero, caiu; acima de zero, subiu.
O Nemotron 3 se sai pior em três casos: gravações com mais de oito falantes, gravações com um único falante e quebras de parágrafo no meio de uma frase.
A confusão entre falantes quase some: 4,5% → 1,0%
Dos três tipos de erro, a fala atribuída à pessoa errada é o que o leitor percebe primeiro: as palavras estão certas, mas o nome está errado. Com o Nemotron 3, esse erro quase some, e a fala perdida também cai.
Média das 122 gravações, em porcentagem do tempo de fala; as duas barras de cada linha começam no zero. As quedas em falante errado e em fala perdida ficam acima da margem de erro. A diferença em ruído tomado como fala fica dentro dela, por isso essa barra é cinza-claro. Os valores são arredondados, então a soma pode não bater exatamente com o total.
O número certo de falantes em 80% das gravações, contra 52%
Encontrar falantes a menos significa que duas vozes foram fundidas em uma só, e as falas de duas pessoas saem sob um único rótulo. Esse era o erro mais comum do pyannote community-1, e o Nemotron 3 comete esse erro bem menos.
Número de falantes que cada modelo encontrou, comparado com o número real, nas 122 gravações. O pyannote community-1 quase sempre encontrou falantes a menos. O Nemotron 3 acerta mais vezes e, quando erra, encontra falantes a mais tantas vezes quanto a menos.
Melhor em reuniões, transmissões e gravações com dois a oito falantes
A dificuldade varia muito de uma gravação para outra: reuniões gravadas do outro lado da sala são as mais difíceis, e transmissões, as mais fáceis. Divididos por tipo de gravação, idioma e número de falantes, todos os grupos com pelo menos dez gravações têm taxa de erro menor; no grupo de um falante, a diferença fica dentro da margem de erro. As três gravações com nove a doze falantes pioraram, mas são poucas demais para testar.
As duas barras de cada grupo começam no zero: cinza é o pyannote community-1, verde é o Nemotron 3 e o número no fim de cada barra é a taxa de erro média. Verde indica uma queda acima da margem de erro; cinza-claro, uma diferença dentro dela; âmbar, uma alta. As 6 teleconferências de resultados entram nos totais, mas são poucas demais para formar um grupo próprio.
Revisar uma transcrição: as correções manuais a cada 10 minutos caem de 28,9 para 18,9
No fim, a taxa de erro vira trabalho: as junções, divisões e trocas de falante necessárias para deixar a visualização de falantes correta. Contamos o número mínimo dessas correções em 4 gravações de duas pessoas que têm uma referência palavra por palavra (2 em holandês, 1 em chinês e 1 em finlandês). Outro erro que os leitores percebem é a frase de uma pessoa dividida entre dois falantes. Em 12 reuniões em inglês gravadas do outro lado da sala, os dois modelos raramente fazem isso, e a diferença fica dentro da margem de erro.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Correções manuais a cada 10 minutos, 4 gravações de duas pessoas | 28,9 | 18,9 |
| Frase dividida entre dois falantes, 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, poucas demais para um teste estatístico ou uma conclusão geral. Uma frase dividida é uma frase dita por uma única pessoa cujo texto foi parar nos parágrafos de dois falantes.
O Nemotron 3 é mais rápido e precisa de menos de um sétimo da memória
Em um aparelho, velocidade e memória importam tanto quanto precisão. A tabela mostra o tempo de processamento e a memória dos dois modelos rodando pelo Core ML, com o Nemotron 3 no Neural Engine. Em todos os aparelhos que testamos, o Nemotron 3 é mais rápido e usa muito menos memória, o que faz mais diferença nos iPhones 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 extra durante a detecção | 833 MB | 30 MB |
| iPhone 12 mini | ||
| Gravação de 55 minutos | 30,1 s | 17,2 s |
| Pico de memória do app durante a detecção | 638 MB | 71 MB |
Mediana de várias execuções (o pyannote community-1 rodou uma vez só no iPhone 15), todas com a mesma teleconferência de resultados de 55 minutos e 10 falantes. Os dois modelos rodam pelo Core ML, o Nemotron 3 no Neural Engine. Os tempos no Mac são só de processamento, sem decodificação do áudio nem carregamento do modelo. Os tempos no iPhone vão do início da detecção até o resultado e incluem o carregamento do modelo e, no caso do pyannote community-1, o pós-processamento que vinha com ele. Os celulares estavam ligados por USB, e cada execução começou com o aparelho frio.
Na primeira vez que o Core ML roda um modelo no Neural Engine, ele compila o modelo para aquele aparelho: cerca de 7 segundos em um Mac e cerca de um minuto em um iPhone 15. Depois disso, carregar o modelo leva uma fração de segundo.
Onde o pyannote community-1 ainda é melhor
- Mais de oito falantes. O Nemotron 3 identifica no máximo oito pessoas; nas nossas 3 gravações com nove a doze falantes, ele ficou atrás do pyannote community-1 em 2.
- Um único falante. Em 14 gravações de um único falante, o Nemotron 3 encontrou falantes a mais em 5; o pyannote community-1, em 1.
- Quebras no meio da frase. Em 12 reuniões em inglês, 25,8% das quebras de parágrafo caíram no meio de uma frase, contra 14,6% com o pyannote community-1.
Dicas para aproveitar ao máximo o Nemotron 3 no Whisper Notes
- Informe o número de falantes quando souber. Nas 108 gravações com dois ou mais falantes, informar o número ao Nemotron 3 corrigiu a contagem de falantes em 15 e não piorou a contagem em nenhuma, sem mudança clara na taxa de erro (+0,16 ponto, dentro da margem).
- Se só uma pessoa fala, pule a detecção de falantes. Assim você evita um eventual segundo “falante”.
- Com mais de oito falantes, trate os rótulos como um primeiro rascunho. Junte e renomeie falantes na visualização de falantes quando precisar.
Definindo o número de falantes em Not right?, na visualização de falantes do Mac
A detecção de falantes funciona do mesmo jeito no iPhone e no Mac, inteiramente no seu aparelho. Para ver como usar no app, confira O Whisper Notes agora identifica os falantes.
Como funcionam: o pyannote corta e agrupa, o Nemotron 3 numera os falantes na ordem em que falam pela primeira vez
O pyannote community-1 é um pipeline de três etapas. Ele corta o áudio em janelas de 10 segundos e descobre quem fala em cada uma (até 3 pessoas por janela, até 2 ao mesmo tempo). Depois, extrai uma impressão de voz, ou embedding, de cada trecho de fala. Por fim, o agrupamento VBx junta as impressões de voz parecidas em falantes. Os números de falante dentro de uma janela só valem para aquela janela, então o número total de falantes só é definido na última etapa.
O Nemotron 3 Diarization é um modelo único: um codificador Transformer de 31 camadas que dá uma pontuação a oito faixas de falante em cada instante. Cada faixa é pontuada separadamente, então, quando várias pessoas falam ao mesmo tempo, várias faixas ficam ativas. Ele segue a abordagem Sortformer da NVIDIA e numera as faixas pelo momento em que cada pessoa fala pela primeira vez: quem fala primeiro fica sempre na faixa 1, então o modelo nunca precisa adivinhar a que posição uma voz pertence. Na configuração de streaming descrita no cartão do modelo, um cache de falantes mantido na ordem de chegada guarda os falantes anteriores, para que um trecho posterior possa ser ligado ao mesmo número.
Cada abordagem tem seu limite. O pyannote community-1 não tem limite fixo de falantes, mas separa no máximo duas pessoas ao mesmo tempo. O Nemotron 3 consegue rotular várias pessoas falando ao mesmo tempo, mas tem oito faixas, então encontra no máximo oito falantes.
Os diagramas são simplificados. pyannote community-1: cerca de 21 MB no Whisper Notes, CC BY 4.0 (cartão 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 (cartão do modelo); o método está descrito nos artigos do Sortformer e do Streaming Sortformer.
Como testamos
- Gravações. 122 gravações públicas, 25 horas, em inglês e chinês, com 1 a 12 falantes cada: reuniões gravadas do outro lado da sala, transmissões, teleconferências de resultados e gravações de um único falante montadas a partir de trechos separados. Além disso, 5 gravações de duas pessoas em inglês, holandês, chinês e finlandês, 4 delas com referência palavra por 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 usuários.
- Métrica. Taxa de erro de diarização, calculada em quadros 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.
- Aparelhos. Um Mac com chip M5, um iPhone 15 e um iPhone 12 mini; a precisão foi calculada no Mac.
- Pré-registro. O plano de teste foi congelado em 2 de novembro de 2026, e a parte de duas pessoas em 4 de novembro, antes de qualquer modelo rodar nessas gravações.
Todos os detalhes do teste
Seleção. As perguntas e as regras foram definidas para um benchmark maior antes de qualquer execução; escolhemos este subconjunto pela licença, não pelo resultado, e recalculamos os números a partir das mesmas saídas, com a mesma pontuação. As gravações de um único falante montadas com trechos do LibriSpeech e do AISHELL-4 contam no conjunto de origem. Publicamos só 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 trechos de um minuto |
| AISHELL-4 | CC BY-SA 4.0 | 5 reuniões, 5 trechos e 5 gravações montadas de um único falante |
| AliMeeting | CC BY-SA 4.0 | 8 reuniões, 8 trechos e 1 gravação de duas pessoas |
| VoxConverse | CC BY 4.0 (os direitos autorais dos vídeos continuam com seus donos) | 30 transmissões e 18 trechos |
| Earnings-21 | CC BY-SA 4.0 | 6 teleconferências de resultados e 1 gravação de duas pessoas |
| LibriSpeech | CC BY 4.0 | 5 gravações montadas de um único falante |
| 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 conforme informadas na página de cada conjunto de dados, conferidas em novembro de 2026.
Intervalos. A taxa de erro geral caiu 6,0 pontos (intervalo de 4,5 a 7,6). A fala perdida caiu 2,3 pontos (1,3 a 3,4), e a fala atribuída ao falante errado, 3,4 pontos (2,4 a 4,6); o ruído tomado como fala caiu 0,30 ponto, dentro da margem de erro (−0,02 a 0,62). A parcela de gravações com o número certo de falantes subiu 27,9 pontos (17,2 a 38,5). Nos grupos, todos os intervalos excluem o zero, exceto o do grupo de um falante. Nas 12 reuniões em inglês, o intervalo das frases divididas inclui o zero; o das quebras no meio da frase, não.
Pontuação. Nosso avaliador coincide com o pyannote.metrics com diferença de no máximo 0,003 ponto.
Mais de oito falantes. Os resultados nessas gravações são sensíveis a pequenas diferenças de chip e de decodificação do áudio. Na teleconferência de resultados de 55 minutos com 10 falantes, o Nemotron 3 variou de 30,6% a 42,8% conforme o chip, os ajustes e o decodificador 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é-registro, apenas com gravações de calibração separadas; as gravações de teste foram usadas só para relatar os resultados.
Limitações. A precisão foi medida apenas 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 fazendo outras tarefas e rodava uma versão beta do macOS; os celulares estavam ligados por USB, então o consumo de bateria não foi medido.
Experimente
O Whisper Notes no iPhone e no Mac agora usa o Nemotron 3 para detectar falantes. Se tiver dúvidas, escreva para support@whispernotes.app.