Prácticas recomendadas

En este documento se incluyen recomendaciones para proporcionar datos de voz a la API de traducción de medios. Estos lineamientos se diseñaron para aumentar la eficiencia y la exactitud, además de obtener tiempos de respuesta razonables del servicio. La API de traducción de medios funciona mejor cuando los datos que se envían al servicio cumplen con los parámetros que se describen en este documento.

Para lograr resultados óptimos, haz lo siguiente: En lo posible, evita lo siguiente:
Captura audio con una tasa de muestreo de 16,000 Hz o superior. De lo contrario, configura sample_rate_hertz para que coincida con la tasa de muestreo nativa de la fuente de audio (en lugar de repetir el muestreo). Las tasas de muestreo más bajas pueden reducir la precisión del reconocimiento. Por ende, también se reducirá la precisión de la traducción. No obstante, evita repetir el muestreo. Por ejemplo, en la telefonía, la tasa nativa es comúnmente de 8,000 Hz, que es la tasa que se debería enviar al servicio.
Usa un códec sin pérdida para grabar y transmitir el audio. Se recomiendan FLAC o LINEAR16. El uso de códecs mu‑law o de otro tipo con pérdida durante la grabación o transmisión puede reducir la exactitud del reconocimiento. Si tu audio usa una codificación no admitida por la API, transcodifícalo a FLAC o LINEAR16 sin pérdida. Si tu aplicación debe usar un códec con pérdida para conservar el ancho de banda, recomendamos los códecs AMR_WB o OGG_OPUS, en ese orden de preferencia.
Usa el códec LINEAR16 para lograr una buena latencia de respuesta de transmisión. Otros tipos de códecs también pueden agregar la latencia de respuesta de transmisión, ya que necesitan un paso adicional de decodificación. Si se trata de un mismo códec, una tasa de muestreo más alta puede tener una latencia más alta.
Coloca el micrófono lo más cerca posible de la persona que habla, especialmente si hay ruido de fondo. El servicio de reconocimiento se diseñó para ignorar las voces y el ruido de fondo sin cancelación de ruido adicional. Sin embargo, el ruido de fondo y los ecos excesivos podrían reducir la precisión, especialmente si también se usa un códec con pérdida.
Usa un modelo mejorado para obtener resultados mejores con audio de fondo ruidoso. Es posible que los modelos no mejorados no tengan un buen rendimiento con el audio que tenga ruido o eco.
Especifica source_language_code con el código de idioma “idioma-región” y target_language_code con el código de idioma sin región (excepto zh‑CN y zh‑TW). Si no se especifica la región en source_language_code, elegiremos la región predeterminada, que puede no coincidir con la región de voz real, lo que podría disminuir la exactitud. target_language_code no necesita una región, ya que la traducción es de texto, pero zh‑CN y zh‑TW generarán textos diferentes.

Enunciado único

Para comandos o consultas cortas, usa StreamingTranslateSpeechConfig con single_utterance establecido en verdadero. Esto optimiza el reconocimiento de expresiones cortas y minimiza la latencia. Luego, el servicio detendrá automáticamente la traducción cuando haya una pausa prolongada. Cuando se usa el modo “single_utterance”, el servicio muestra un END_OF_SINGLE_UTTERANCE como un speech_event_type (tipo de evento de voz). Se supone que el cliente debe dejar de enviar solicitudes cuando recibe la respuesta END_OF_SINGLE_UTTERANCE y debe recibir las respuestas restantes.

Tamaño de marco

El reconocimiento de transmisión continua reconoce el audio en vivo cuando se captura con un micrófono o con otra fuente de audio. La transmisión de audio se divide en marcos y se envía en mensajes de StreamingTranslateSpeechRequest consecutivos. Se acepta cualquier tamaño de marco. Los marcos más grandes son más eficaces, pero agregan latencia. Se recomienda un tamaño de marco de 100 milisegundos para una buena compensación entre latencia y eficacia.

Preprocesamiento de audio

Lo ideal es proporcionar un audio lo más limpio posible mediante un micrófono de buena calidad y correctamente ubicado. Sin embargo, aplicar procesamiento de señal para reducir el ruido antes de enviar el audio al servicio suele reducir la exactitud del reconocimiento. El servicio de reconocimiento se diseñó para manejar audio ruidoso.

Para lograr resultados óptimos, haz lo siguiente:

  • Coloca el micrófono lo más cerca posible de la persona que está hablando, especialmente cuando hay ruido de fondo.
  • Evita el recorte de audio.
  • No uses el control automático de ganancia (AGC).
  • Todo el procesamiento de reducción de ruidos debe estar inhabilitado.
  • Escucha algún audio de muestra. Debe sonar claro, sin distorsión o ruidos inesperados.

Configuración de solicitud

Asegúrate de describir con precisión los datos de audio que envíes con tu solicitud a la API de traducción de medios. Asegúrate de que la TranslateSpeechConfig de tu solicitud describa los sample_rate_hertz, audio_encoding, source_language_code y target_language_code correctos a fin de que los resultados de la transcripción y la facturación sean precisos.