Solución de problemas

v1 /speech-to-text/docs/reference/rest/ /speech-to-text/docs/reference/rpc/google.cloud.speech.

Obtén información sobre los pasos para solucionar problemas que pueden servirte si tienes dificultades con Speech-to-Text.

No puedes autenticar en Speech-to-Text

Es posible que recibas un mensaje de error que indica que tus “credenciales predeterminadas de la aplicación” no están disponibles, o tal vez te preguntes cómo obtener una clave de API para llamar a Speech-to-Text.

En Speech-to-Text, se usan credenciales predeterminadas de la aplicación para la autenticación.

Debes tener una cuenta de servicio para tu proyecto, descargar la clave (archivo JSON) de tu cuenta de servicio en el entorno de desarrollo y, luego, establecer la ubicación de ese archivo JSON en una variable de entorno llamada GOOGLE_APPLICATION_CREDENTIALS.

Además, la variable de entorno GOOGLE_APPLICATION_CREDENTIALS debe estar disponible dentro del contexto en que llamas a la API de Speech-to-Text. Por ejemplo, si configuras la variable a partir de una sesión de terminal, pero ejecutas el código en el depurador del IDE, el contexto de ejecución del código podría no tener acceso a la variable. En esa circunstancia, tu solicitud a Speech-to-Text podría fallar por falta de autenticación adecuada.

Para obtener más información sobre cómo configurar la variable de entorno GOOGLE_APPLICATION_CREDENTIALS, consulta las Guías de inicio rápido de Speech-to-Text o la documentación sobre cómo usar las credenciales predeterminadas de la aplicación.

Se muestra una respuesta vacía en Speech-to-Text

Si no se muestra una transcripción (p. ej., recibes una respuesta JSON {} vacía) y no se produjeron errores, es probable que en el audio no se use la codificación adecuada.

  1. Reproduce el archivo y escucha el sonido saliente. ¿El audio es claro y la voz es inteligible?

    Para reproducir archivos, puedes usar el comando play de SoX (Sound eXchange). A continuación, se muestran algunos ejemplos basados en diferentes codificaciones de audio.

    Los archivos FLAC incluyen un encabezado que indica la tasa de muestreo, el tipo de codificación y la cantidad de canales. Se pueden reproducir de la siguiente manera:

    play audio.flac

    Los archivos LINEAR16 no incluyen un encabezado. Para reproducirlos, debes especificar la tasa de muestreo, el tipo de codificación y la cantidad de canales. La codificación LINEAR16 debe ser little-endian de 16 bits y número entero con firma.

    play --channels=1 --bits=16 --rate=16000 --encoding=signed-integer \
        --endian=little audio.raw

    Los archivos MULAW tampoco incluyen un encabezado y, a menudo, utilizan una tasa de muestreo más baja.

    play --channels=1 --rate=8000 --encoding=u-law audio.raw

    Actualmente, el servicio {product_name}} solo admite un canal de audio.

  2. Verifica que la codificación de audio de tus datos coincida con los parámetros que enviaste en RecognitionConfig. Por ejemplo, si en tu solicitud especificaste "encoding":"FLAC" y "sampleRateHertz":16000, los parámetros de datos de audio que se enumeraron mediante el comando play de SoX deben coincidir con estos parámetros de la siguiente manera:

    play audio.flac

    debería enumerar:

        Encoding: FLAC
        Channels: 1 @ 16-bit
        Sampleratehertz: 16000Hz
        

    Si la lista de SoX muestra un Sampleratehertz distinto de 16000Hz, cambia "sampleRateHertz" en InitialRecognizeRequest para que coincida. Si la Encoding no es FLAC o si el Channels no es 1 @ 16-bit, no puedes usar este archivo de forma directa y tendrás que convertirlo en una codificación compatible (consulta el siguiente paso).

  3. Si tu archivo de audio no posee una codificación FLAC, intenta convertirlo en FLAC mediante SoX y repite los pasos anteriores para reproducir el archivo y verificar la codificación, sampleRateHertz y los canales. A continuación, se muestran algunos ejemplos en los que se convierten varios formatos de archivos de audio en codificación FLAC.

        sox audio.wav --channels=1 --bits=16 audio.flac
        sox audio.ogg --channels=1 --bits=16 audio.flac
        sox audio.au --channels=1 --bits=16 audio.flac
        sox audio.aiff --channels=1 --bits=16 audio.flac
        

    Para convertir un archivo sin procesar en FLAC, debes conocer la codificación de audio del archivo. Por ejemplo, para convertir un audio estéreo little-endian firmado de 16 bits a 16,000 Hz en FLAC, haz lo siguiente:

        sox --channels=2 --bits=16 --rate=16000 --encoding=signed-integer \
        --endian=little audio.raw --channels=1 --bits=16 audio.flac
        
  4. Ejecuta el ejemplo de la guía de inicio rápido o una de las aplicaciones de muestra con el archivo de audio de muestra proporcionado. Una vez que el ejemplo se ejecute con éxito, reemplaza el archivo de audio de muestra con tu archivo de audio.

Resultados inesperados del reconocimiento de voz

Si los resultados que muestra Speech-to-Text no son los esperados, haz lo siguiente: