Práticas recomendadas

Este documento contém recomendações sobre como fornecer dados de fala para a API Speech-to-Text. Essas diretrizes foram criadas para aumentar a eficiência e a precisão, bem como os tempos de resposta razoáveis do serviço. O uso da Speech-to-Text API é melhor quando os dados enviados ao serviço estão dentro dos parâmetros descritos neste documento.

Se você seguir estas diretrizes e não conseguir os resultados que espera da API, consulte Solução de problemas e suporte.

Para os melhores resultados... Se possível, evite...
Capture o áudio com uma taxa de amostra de 16.000 Hz ou superior. Baixas taxas de amostra podem reduzir a precisão. No entanto, evite a repetição da coleta de amostras. Por exemplo, na telefonia, a taxa nativa geralmente é 8.000 Hz, que é a taxa que precisa ser enviada ao serviço.
Use um codec sem perdas para gravar e transmitir áudio. É recomendado FLAC ou LINEAR16. Usar mp3, mp4, m4a, mu-law, a-law ou outros codecs com perdas durante a gravação ou transmissão pode reduzir a precisão. Se o áudio já estiver em uma codificação não compatível com a API, transcodifique-a para FLAC ou LINEAR16 sem perda. Se o aplicativo precisar usar um codec com perdas para economizar largura de banda, recomendamos os codecs AMR_WB ou OGG_OPUS, nessa ordem.
O reconhecedor foi projetado para ignorar ruídos e vozes de fundo sem cancelamento de ruído complementar. No entanto, para resultados ideais, posicione o microfone o mais próximo possível do usuário, particularmente quando houver ruído de fundo. Ruído de fundo excessivo e ecos podem reduzir a precisão, especialmente se um codec com perdas também é usado.
Se você está capturando áudio de mais de uma pessoa e cada pessoa é gravada em um canal separado, envie cada canal separadamente para receber os melhores resultados de reconhecimento. No entanto, se todos os alto-falantes estiverem misturados em uma gravação em um único canal, envie a gravação como ela está. Muitas pessoas que falam ao mesmo tempo ou em volumes diferentes podem ser interpretadas como ruído de fundo e ignoradas.
Use dicas de palavras e frases para adicionar nomes e termos ao vocabulário e aumentar a precisão de palavras e frases específicas. O reconhecedor tem um vocabulário muito grande. No entanto, os termos e nomes próprios fora do vocabulário não serão reconhecidos.

Taxa de amostragem

Se possível, defina a taxa de amostragem da fonte de áudio como 16.000 Hz.

Para codecs sem cabeçalho, use a configuração explicit_decoding_config em RecognitionConfig para definir sample_rate_hertz de modo a corresponder à taxa de amostragem nativa da fonte de áudio (em vez de fazer uma nova amostragem).

Para codecs com um cabeçalho, use a configuração auto_decoding_config em RecognitionConfig para escolher automaticamente a taxa de amostragem correta.

Tamanho do frame

O reconhecimento de streaming detecta áudio ao vivo porque ele é capturado de um microfone ou de outra fonte de áudio. O stream de áudio é dividido em frames e enviado em mensagens StreamingRecognizeRequest consecutivas. Qualquer tamanho de frame é aceitável. Os frames maiores são mais eficientes, mas aumentam a latência. Um frame com tamanho de 100 milissegundos é recomendado como um bom equilíbrio entre latência e eficiência.

Pré-processamento de áudio

É melhor fornecer áudio que seja o mais limpo possível, usando um microfone de boa qualidade e bem posicionado. No entanto, aplicar ao áudio um processamento de sinal de redução de ruídos antes de enviá-lo ao serviço geralmente reduz a precisão do reconhecimento. O serviço foi projetado para lidar com áudios com ruídos.

Para conseguir os melhores resultados:

  • posicione o microfone o mais próximo possível da pessoa que está falando, especialmente quando houver ruído de fundo;
  • evite recortar o áudio;
  • não use controle de ganho automático (AGC);
  • todo o processamento de redução de ruído deve ser desativado;
  • ouça algumas amostras do áudio. Ele precisa soar claro, sem distorção ou ruído inesperado.

Configuração das solicitações

Certifique-se de descrever com precisão os dados de áudio enviados com sua solicitação para a API Speech-to-Text. Garantir que o ReconhecimentoConfig para sua solicitação descreve a resposta corretasampleRateHertz, encoding, e que você esteja usando uma Reconhecedor com o language_codes correto. Assim, model resultará na transcrição e no faturamento mais precisos da sua solicitação.

A seguir