En este documento se incluyen recomendaciones sobre cómo proporcionar datos de voz a la API Speech-to-Text. Estas directrices se han diseñado para mejorar la eficiencia y la precisión, así como para que el servicio responda en un plazo razonable. La API Speech-to-Text funciona mejor cuando los datos enviados al servicio se encuentran dentro de los parámetros descritos en este documento.
Si sigues estas pautas y no obtienes los resultados que esperas de la API, consulta el apartado sobre solución de problemas y asistencia.
Si quieres obtener resultados óptimos... | Si es posible, evita... |
---|---|
Captura audio con una frecuencia de muestreo de 16.000 Hz o más. | Las frecuencias de muestreo más bajas pueden provocar que se reduzca la precisión. No obstante, evita volver a tomar muestras. Por ejemplo, en telefonía, la frecuencia nativa suele ser de 8000 Hz, que es la velocidad que se debe enviar al servicio. |
Usa un códec sin pérdida para grabar y transmitir audio. Se recomiendan FLAC o LINEAR16 . |
El uso de mp3, mp4, m4a, mu-law, a-law u otros códecs con pérdidas durante la grabación o la transmisión puede provocar que se reduzca la precisión. Si el audio tiene una codificación no compatible con la API, transcodifícalo a FLAC o LINEAR16 . Si tu aplicación debe usar un códec con pérdida para ahorrar ancho de banda, te recomendamos los códecs AMR_WB , OGG_OPUS o SPEEX_WITH_HEADER_BYTE , en ese orden de preferencia. |
El reconocedor está diseñado para ignorar las voces de fondo y el ruido sin cancelación de ruido. No obstante, si quieres obtener resultados óptimos, coloca el micrófono lo más cerca posible del usuario, sobre todo cuando haya ruido de fondo. | El ruido de fondo excesivo y los ecos pueden provocar que se reduzca la precisión, especialmente si también se usa un códec con pérdida. |
Si estás capturando audio en el que interviene más de una persona, y cada persona está grabada en un canal separado, envía cada canal por separado para obtener los mejores resultados de reconocimiento. No obstante, si todos los altavoces están mezclados en una grabación de un solo canal, envía la grabación como esté. | Si hay varias personas hablando al mismo tiempo o en diferentes volúmenes, puede que se interprete como ruido de fondo y se ignore. |
Usa sugerencias de palabras y frases para añadir nombres y términos al vocabulario y aumentar la precisión de palabras y frases específicas. | El reconocedor tiene un vocabulario muy amplio; no obstante, los términos y nombres propios que no estén dentro del vocabulario no se reconocerán. |
Para consultas o comandos breves, usa StreamingRecognize con single_utterance definido como true. Así se optimiza el reconocimiento de emisiones cortas y se minimiza la latencia. |
Usar Recognize o LongRunningRecognize para consultas o comandos cortos. |
Frecuencia de muestreo
Si es posible, configura la frecuencia de muestreo de la fuente de audio a 16.000 Hz. Si no es posible, configura sample_rate_hertz para que coincida con la frecuencia de muestreo nativa de la fuente de audio (en lugar de volver a realizar el muestro).
Tamaño del fotograma
El reconocimiento de transmisión identifica el audio en directo, ya que se captura desde un micrófono u otra fuente de audio. El flujo de audio se divide en fotogramas y se envía en mensajes StreamingRecognizeRequest
consecutivos. Cualquier tamaño de fotograma es aceptable.
Los fotogramas más grandes son más eficaces, pero aumentan la latencia. Se recomienda un tamaño de fotograma de 100 milisegundos como una buena compensación entre latencia y eficacia.
Procesamiento previo de audio
Los mejores resultados se obtendrán si se proporciona un audio lo más limpio posible mediante un micrófono de buena calidad y bien posicionado. Sin embargo, aplicar procesamiento de señal de reducción de ruido al audio antes de enviarlo al servicio suele provocar que se reduzca la precisión del reconocimiento. El servicio está diseñado para trabajar con audio ruidoso.
Consejos para obtener mejores resultados
- Coloca el micrófono lo más cerca posible de la persona que esté hablando, sobre todo si hay ruido de fondo.
- Evita recortar el audio.
- No uses el control automático de ganancia (AGC).
- Todo el procesamiento de reducción de ruido se debe desactivar.
- Escucha alguna muestra de audio. Debe oírse con claridad, sin distorsión ni ruidos inesperados.
Configuración de solicitudes
Asegúrate de describir con precisión los datos de audio enviados con tu solicitud a la API Speech-to-Text. Si te aseguras de que RecognitionConfig de tu solicitud describe los valores sampleRateHertz
, encoding
y languageCode
correctos, obtendrás la transcripción más precisa y la facturación adecuada para tu solicitud.