O que é conversão de fala em texto?
A conversão de fala em texto, também chamada de reconhecimento automático de fala ou ASR, converte áudio falado em linguagem escrita. Os resultados podem incluir marcações de tempo, valores de confiança, idiomas detectados, pontuação e rótulos de falantes.
Como funciona a conversão de fala em texto
Muitos reconhecedores primeiro convertem a forma de onda em características espectrais de curta duração e depois preveem a sequência mais provável de tokens de texto correspondente a elas. Sistemas tradicionais treinavam modelos acústicos, de pronúncia e de linguagem separados, enquanto muitos sistemas atuais treinam uma única rede neural de ponta a ponta que mapeia a fala diretamente para texto. O Whisper, por exemplo, reamostra o áudio para 16 kHz, calcula um espectrograma log-Mel e decodifica texto de janelas de 30 segundos; por isso, gravações mais longas são transcritas janela por janela. Pontuação, uso de maiúsculas e minúsculas, marcações de tempo das palavras e detecção de idioma podem ser produzidos junto com a transcrição, mas são resultados separados, cada um com sua própria incerteza. O reconhecimento trata do que foi dito; identificar quem disse é outra tarefa, a diarização de falantes, que pode ser combinada posteriormente. Serviços como o Amazon Transcribe também distinguem a transcrição em lote de arquivos armazenados da transcrição em streaming de áudio ao vivo, e os dois modos podem diferir nos formatos e idiomas compatíveis.
Informações essenciais
- Como devo comparar reconhecedores? A métrica padrão é a taxa de erro de palavras (WER): substituições, exclusões e inserções divididas pela quantidade de palavras em uma transcrição de referência; portanto, quanto menor, melhor, e 0 representa uma correspondência perfeita. A WER também contabiliza diferenças inofensivas de pontuação, contrações ou formatação de números, a menos que os dois textos sejam normalizados primeiro; os autores do Whisper observaram uma redução de até 50 por cento na WER em vários conjuntos de dados apenas com a normalização. As pontuações também variam bastante entre conjuntos de dados; por isso, compare os candidatos nas suas próprias gravações, com as mesmas transcrições de referência e a mesma normalização.
- Uma transcrição pode conter palavras que ninguém disse? Com alguns modelos, sim. Os autores do Whisper listam ciclos de repetição, palavras omitidas no início ou no fim de um segmento e alucinações completas sem relação com o áudio como modos de falha conhecidos, especialmente em gravações longas. Em 2023, um estudo independente processou pela API do Whisper trechos de entrevistas com duração de uma frase, em média 10 segundos, de falantes com e sem afasia. O estudo encontrou expressões ou frases inventadas em aproximadamente 1 por cento dos trechos, com maior frequência entre falantes com pausas mais longas, e não encontrou ocorrências comparáveis quando os trechos afetados foram processados por serviços do Google, Amazon, Microsoft, AssemblyAI e RevAI. Essa é uma taxa por trecho curto, portanto não prevê com que frequência uma gravação de uma hora é afetada. Revise pausas longas e passagens sem fala; na avaliação do WhisperX, segmentar o áudio com detecção de atividade de voz antes da decodificação reduziu alucinações e repetições.
- Vou receber uma marcação de tempo para cada palavra? Nem todos os reconhecedores fornecem isso, e a precisão varia. O Whisper prevê os tempos de início e fim de segmentos inteiros; os tempos das palavras são inferidos posteriormente a partir dos pesos de atenção, que os autores do WhisperX mediram como menos precisos do que o alinhamento forçado com um modelo separado de fonemas. A API Speech-to-Text v1 do Google define os deslocamentos de tempo das palavras apenas quando
enableWordTimeOffsetsé true e descreve o recurso como experimental, com precisão que pode variar, enquanto o Amazon Transcribe retorna os tempos de início e fim de cada palavra. Os tempos dos segmentos bastam para pesquisar uma transcrição ou pular para uma passagem; o destaque palavra por palavra e a edição baseada em transcrição precisam de tempos no nível de cada palavra. Arquivos de legendas e legendas descritivas são temporizados por frase: as orientações do W3C descrevem legendas descritivas de uma ou duas linhas, cada uma com o momento em que aquela frase é exibida. - Posso usar pontuações de confiança para decidir o que precisa de revisão? Apenas depois de testar os limiares no seu próprio áudio. O Amazon Transcribe retorna uma pontuação de confiança para cada palavra, mas a referência da API Speech-to-Text v1 do Google informa que não há garantia de que o valor de confiança seja preciso ou fornecido, e que
0.0é um valor sentinela que significa que o valor não foi definido, não que a palavra esteja errada. Cada provedor calcula sua própria pontuação; por isso, um limiar ajustado para um reconhecedor não deve ser reutilizado com outro.
Quando a conversão de fala em texto é importante
Use transcrições para legendas, pesquisa, resumos, acessibilidade, moderação ou análise de dados. A precisão pode diminuir com ruído, sotaques, sobreposição de falas ou vocabulário especializado; por isso, resultados com consequências relevantes precisam de revisão.
Trabalhar com conversão de fala em texto
Antes de entrar em produção
- Confira as orientações de entrada do reconhecedor antes de adicionar etapas de limpeza ou recodificação. O Google recomenda áudio FLAC ou LINEAR16 sem perdas na taxa de amostragem nativa da gravação e informa que a redução de ruído aplicada antes do reconhecimento normalmente diminui a precisão; o Amazon Transcribe também recomenda formatos sem perdas.
- Se você fornecer vocabulário personalizado ou reforço de frases para nomes e jargões, teste novamente em gravações que não contenham esses termos. A documentação do Google alerta que o reforço pode fazer uma frase aparecer na transcrição mesmo sem ter sido pronunciada.
- Peça a uma pessoa que corrija as transcrições antes de publicá-las como legendas descritivas. As orientações de acessibilidade do W3C dizem que legendas descritivas geradas automaticamente não atendem aos requisitos de acessibilidade, a menos que sua precisão integral seja confirmada. A revisão abrange mais do que as palavras reconhecidas: o W3C descreve legendas descritivas como texto sincronizado para a fala e para as informações sonoras não verbais necessárias à compreensão do conteúdo, e sua explicação do requisito de legendas descritivas das WCAG acrescenta que as legendas descritivas identificam quem está falando.
Como a Transloadit ajuda com a conversão de fala em texto
O Robot /speech/transcribe da Transloadit transcreve a fala em arquivos de áudio ou vídeo. Seu parâmetro format seleciona o resultado: json com marcações de tempo das palavras, text simples, arquivos de legenda srt ou webvtt, ou meta, que armazena a transcrição no arquivo para que Steps posteriores possam usá-la.
O reconhecimento é realizado pelo provedor selecionado com provider, portanto o suporte a idiomas e os recursos, como rótulos de falantes, dependem desse provedor. O idioma falado é definido com um parâmetro diferente para cada provedor (source_language ou target_language), e nenhum deles traduz a fala. A documentação do Robot lista os provedores e parâmetros atuais.
Fontes
- Radford et al.: reconhecimento robusto de fala por meio de supervisão fraca em larga escala (Whisper)
- Chan et al.: Listen, Attend and Spell (ouvir, prestar atenção e soletrar)
- Hugging Face Evaluate: ficha da métrica de taxa de erro de palavras (WER)
- Koenecke et al.: Careless Whisper: danos causados por alucinações na conversão de fala em texto
- Bain et al.: WhisperX: transcrição de fala com precisão temporal em áudios longos
- Referência do Google Cloud Speech-to-Text v1: campos de confiança, deslocamento de tempo das palavras e idioma detectado
- Guia do desenvolvedor do Amazon Transcribe: entrada e saída de dados
- Google Cloud Speech-to-Text: práticas recomendadas para fornecer dados de fala
- Google Cloud Speech-to-Text: melhorar os resultados da transcrição com adaptação de modelo
- Guia do desenvolvedor do Amazon Transcribe: vocabulários personalizados
- Iniciativa de Acessibilidade na Web do W3C: legendas descritivas/legendas
- Iniciativa de Acessibilidade na Web do W3C: transcrever áudio para texto
- W3C: entender o critério de sucesso 1.2.2 das WCAG 2.2, legendas (pré-gravadas)
- Koenecke et al.: disparidades raciais no reconhecimento automatizado de fala (PNAS, 2020)