O que é diarização de falantes?
A diarização de falantes divide a fala gravada em segmentos de acordo com quem está falando. Ela atribui rótulos como Falante 1 e Falante 2, mas não necessariamente identifica os falantes pelo nome.
Como funciona a diarização de falantes
Um pipeline de diarização detecta regiões de fala, extrai embeddings de voz ou outras características dos falantes e agrupa segmentos que parecem vir da mesma pessoa. O resultado responde a “quem falou quando” com rótulos anônimos, válidos apenas naquela gravação, a menos que dados de cadastramento ou uma etapa separada de identificação forneçam as identidades. A segmentação e o agrupamento podem ocorrer em etapas separadas ou em conjunto, e a atribuição de falantes pode ser calculada apenas com base no áudio ou alinhada posteriormente ao resultado da transcrição. O resultado costuma ser combinado com marcações de tempo das palavras para criar legendas com identificação de falantes, notas de reuniões ou acervos pesquisáveis.
Informações essenciais
- “Falante 1” é a mesma pessoa em todos os arquivos? Não. A diarização não exige conhecimento prévio de quem são os falantes, e seus rótulos são marcadores intercambiáveis; por isso, um rótulo só tem significado dentro da gravação de origem. Para manter nomes consistentes entre gravações, é necessário mapear os rótulos de cada gravação para pessoas conhecidas, manualmente ou com uma etapa separada de identificação de falantes, por exemplo, uma que compare cada voz diarizada com modelos de falantes cadastrados previamente.
- Preciso saber quantas pessoas falam? A tarefa em si não pressupõe uma quantidade conhecida de falantes e não se limita a dois falantes, mas APIs hospedadas de transcrição costumam solicitar um intervalo esperado ou um máximo, por exemplo,
MaxSpeakerLabelsno Amazon Transcribe e quantidades mínima e máxima de falantes no Google Cloud Speech-to-Text. Alguns modelos neurais de diarização também limitam a quantidade de falantes por sua arquitetura; por isso, teste com o maior grupo realista para o seu caso. - O que acontece quando as pessoas falam ao mesmo tempo? A sobreposição de falas viola a suposição simples de que cada intervalo de tempo pertence a um único rótulo. Sistemas que oferecem suporte à sobreposição podem gerar trilhas simultâneas de falantes em vez de uma única sequência exclusiva; sistemas baseados em agrupamento sem detecção de sobreposição atribuem um falante por segmento, de modo que a fala do outro pode ser contabilizada como fala não detectada na avaliação do resultado.
- Como a precisão da diarização é medida? A taxa de erro de diarização (DER) soma as durações de fala detectada indevidamente, fala não detectada e confusão entre falantes e divide essa soma pela duração total da fala de referência. Ela é diferente da taxa de erro de palavras, portanto uma transcrição com palavras corretas ainda pode atribuí-las ao falante errado. Os valores publicados de DER dependem das gravações de teste e de escolhas de avaliação, como ignorar ou não uma pequena margem ao redor de cada limite de troca de falante e avaliar ou não regiões com sobreposição. Por isso, compare números apenas para gravações comparáveis avaliadas com as mesmas configurações.
Quando a diarização de falantes é importante
Ative a diarização para reuniões, entrevistas, podcasts ou chamadas de suporte que precisem de transcrições com identificação de falantes. Os serviços de transcrição costumam disponibilizá-la como uma opção de “rótulos de falantes”. Os rótulos podem aparecer apenas nos dados estruturados da transcrição, e não nos arquivos de legenda; por isso, confira o formato de saída necessário. Nesse caso, pode ser necessário gerar legendas que mostrem os falantes a partir dos dados estruturados. Um trecho de voz do WebVTT marca o texto de uma entrada de legenda com o nome do falante como uma anotação que as folhas de estilo podem usar; o nome em si não faz parte do texto da entrada, portanto inclua-o também nesse texto se os espectadores precisarem lê-lo. A precisão diminui com sobreposição de falas, ruído de fundo e baixa qualidade de áudio, e também depende da quantidade de falantes.
Como a Transloadit ajuda com a diarização de falantes
O Robot /speech/transcribe da Transloadit solicita ao provedor de transcrição que diferencie os falantes quando speaker_labels é true, e max_speakers define a quantidade máxima de falantes a detectar. Rótulos como speaker_1 são associados às palavras e aos segmentos agrupados nos resultados em json e meta, enquanto os resultados em text, srt e webvtt permanecem inalterados.
Apenas alguns provedores de transcrição oferecem suporte a rótulos de falantes, e os rótulos marcam vozes recorrentes, não nomes reais. A documentação do Robot lista os provedores compatíveis.
Fontes
- Park et al.: uma revisão da diarização de falantes: avanços recentes com aprendizado profundo
- Fujita et al.: diarização neural de falantes de ponta a ponta com autoatenção
- Referência do pyannote.metrics: taxa de erro de diarização, margem nas trocas de falante e opções de sobreposição
- Guia do desenvolvedor do Amazon Transcribe: separação de falantes (diarização)
- Google Cloud Speech-to-Text: detectar diferentes falantes em uma gravação de áudio
- W3C WebVTT: trechos de voz para marcar quem está falando em uma entrada de legenda