Preguntas frecuentes y solución de problemas OnDevice

Cambia el idioma de reconocimiento

Reinicia los servidores con el paquete de idioma del idioma que prefieras.

Logs

El objeto binario de Speech-to-Text tiene cuatro modos de registro:

  • debug: Son los registros detallados que pueden ser útiles para depurar el objeto binario. Por ejemplo, las respuestas del servidor se registran en este modo.
  • prod: Es la configuración de producción recomendada. Los registros contendrán información sobre la versión binaria y compilación, los inicios de sesión, las finalizaciones de sesión, las advertencias y los errores.
  • warning: Son los registros que solo contendrán advertencias o errores.
  • error: Son los registros que solo contendrán errores.

El registro se puede controlar con la marca --min_log_level, y todos los registros se escriben en stdout.

Cuando tengas problemas, ejecuta el servidor de Speech-to-Text con el registro de depuración:

./speech_to_text_server --host_ip=${STT_IP?} --port=${STT_PORT?}\
  --language_pack=${LANGUAGE_PACK?} --min_log_level="debug" \
  --api_key=${API_KEY?}

Durante el inicio, los registros binarios

  • build ID es un ID que asocia el objeto binario con una compilación.
  • Language Pack ID es un ID del paquete de idioma que carga el servidor.

Cuando se transcribe: el servidor registrará el request ID que proporciona el cliente. Cuando finaliza una sesión, el servidor registrará un estado de sesión.

El registro debería ser suficiente para solucionar los problemas que causa el uso incorrecto. También puede ayudarte a comprender el comportamiento del servidor. Por ejemplo, el servidor no enviará ninguna respuesta, salvo que reconozca algo en el audio. Si el audio es solo silencio o sonido inteligible, no se enviarán respuestas.

Estado de la sesión

Una sesión exitosa finaliza con el estado Correcto.

... Closing StreamingRecognize ($request_id) with status OK

Una sesión no exitosa finaliza con un estado de error. Por ejemplo: si enviamos una solicitud de configuración nueva después de la inicial.

... Closing StreamingRecognize ($request_id) with status INVALID_ARGUMENT: Malordered data received. Expected audio but received config. Send exactly one config, followed by audio data.

Grabaciones

El servidor ASR admite el registro de sus interacciones para ayudar a Google en la depuración.

Ejemplo de uso

Crea un directorio para almacenar las grabaciones:

mkdir $PWD/recordings

Inicia el servidor con la marca --recordings.

./speech_to_text_server --host_ip=${STT_IP?} --port=${STT_PORT?} \
  --language_pack=${LANGUAGE_PACK?} --min_log_level="debug" \
  --recordings=$PWD/recordings --api_key=${API_KEY?}

Inicia el cliente con:

./speech_to_text_client --server_ip=${STT_IP?} --port=${STT_PORT?} \
  --audio=samples/*.wav

Esto debería producir archivos con el siguiente formato

$PWD/recordings/{filename}_{timestamp}_requests.riegeli (1)
$PWD/recordings/{filename}_{timestamp}_responses.riegeli (2)

{filename} es el nombre del archivo .wav que se grabarán. El speech_to_text_client usa el filename como {request_id}. El primer ejemplo anterior es un archivo Riegeli que contiene una secuencia de StreamingRecognizeRequest y el segundo es un archivo Riegeli que contiene una secuencia de StreamingRecognizeResponse.

Formato de archivo

Los registros son archivos riegeli que contienen las solicitudes y respuestas que se envían al servidor. La solicitud y las respuestas se transmiten al disco en el orden en que se envían desde y hacia el servidor.

Asistencia adicional

Para solucionar problemas que requieren asistencia, por ejemplo, si se necesitan cambios en el código, proporciona (si corresponde)

y una descripción del problema.