Este documento contém recomendações sobre como fornecer dados de fala à API Media Translation. 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 API Media Translation funciona melhor quando os dados enviados ao serviço estão dentro dos parâmetros descritos neste documento.
Para os melhores resultados... | Se possível, evite... |
---|---|
Capture o áudio com uma taxa de amostra de 16.000 Hz ou superior. Caso contrário, defina sample_rate_hertz para corresponder à taxa de amostragem nativa da fonte de áudio (em vez de repetir a amostragem). | Taxas de amostragem mais baixas podem reduzir a precisão do reconhecimento. Assim, a precisão da tradução também será reduzida. 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 . |
O uso de lei mu ou outros codecs com perdas durante a gravação ou transmissão pode reduzir a precisão do reconhecimento. 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. |
Use o codec LINEAR16 para ter uma boa latência de resposta de streaming. |
Outros tipos de codec também podem aumentar a latência da resposta de streaming porque precisam de uma etapa a mais de decodificação. Com o mesmo codec, uma taxa de amostragem maior pode ter uma latência maior. |
Posicione o microfone o mais próximo possível do falante, principalmente se houver ruído de fundo. | O serviço de reconhecimento foi projetado para ignorar vozes e ruídos de fundo sem cancelamento de ruído adicional. No entanto, o excesso de ruído de fundo e ecos podem reduzir a precisão, especialmente se um codec com perdas também for usado. |
Use um modelo aprimorado para conseguir resultados melhores com um áudio de fundo barulhento. | Um modelo não aprimorado pode não ter um bom desempenho com um áudio barulhento/com ecos. |
Especifique source_language_code usando o código de idioma "language-region", especifique target_language_code usando o código de idioma sem a região (exceto zh-CN e zh-TW). |
Se "region" não for especificado em source_language_code , será escolhida a região padrão, que pode não corresponder à região da fala, o que reduz a precisão. target_language_code não precisa de região porque a tradução é texto, mas zh-CN e zh-TW serão diferentes em texto. |
Enunciado único
Para consultas ou comandos curtas, use StreamingTranslateSpeechConfig
com single_utterance
definido como verdadeiro. Isso otimiza o reconhecimento de enunciados curtos e também minimiza a latência. Além disso, o serviço interromperá a tradução automaticamente quando houver uma pausa ou longo silêncio.
Ao usar o modo "single_utterance", o serviço retornará um END_OF_SINGLE_UTTERANCE
como speech_event_type na resposta. O cliente deve parar de enviar solicitações quando receber a resposta END_OF_SINGLE_UTTERANCE
e continuar recebendo as demais respostas.
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 StreamingTranslateSpeechRequest
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 de reconhecimento foi projetado para lidar com áudio barulhento.
Para 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
Descreva com precisão os dados de áudio enviados com sua solicitação para
a API Media Translation. Se o TradutorSpeechConfig da sua solicitação
descrever o sample_rate_hertz
, audio_encoding
, source_language_code
e target_language_code
corretos, a transcrição
e o faturamento dela serão mais exatos.