Saiba como resolver alguns erros apresentados pelo Speech-to-Text. Este tópico aborda erros cuja resolução requer mais passos do que os que podem ser facilmente descritos numa mensagem de erro.
"As credenciais padrão da aplicação não estão disponíveis"
Se receber esta mensagem:
The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
O Speech-to-Text usa as Credenciais padrão da aplicação (ADC) para autenticação.
As credenciais para o ADC têm de estar disponíveis no contexto em que chama a API Speech-to-Text. Por exemplo, se configurar o ADC no seu terminal, mas executar o código no depurador do IDE, o contexto de execução do código pode não ter acesso às credenciais. Nesse caso, o seu pedido de conversão de voz em texto pode falhar.
Para saber como fornecer credenciais ao ADC, consulte o artigo Configure as Credenciais padrão da aplicação.
"O ficheiro … (indicado pela variável de ambiente GOOGLE_APPLICATION_CREDENTIALS) não existe!"
Se receber esta mensagem:
ERROR: (gcloud.auth.application-default.print-access-token) File /path/to/key.json (pointed by GOOGLE_APPLICATION_CREDENTIALS environment variable) does not exist! { "error": { "code": 403, "message": "The request is missing a valid API key.", "status": "PERMISSION_DENIED" } }
Verifique se tem um ficheiro JSON de chave da conta de serviço válido na localização armazenada na variável de ambiente e se a variável aponta para o local correto.GOOGLE_APPLICATION_CREDENTIALS
Para diagnosticar este erro, experimente abrir o ficheiro da chave da conta de serviço a partir da pasta a partir da qual está a tentar chamar a API Speech-to-Text.
cat $GOOGLE_APPLICATION_CREDENTIALS
Proibido: 403 A API POST não foi usada ou está desativada
Se receber a mensagem:
Forbidden: 403 POST Speech-to-Text API has not been used in project # before or it is disabled. Enable it by visitng [url] then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
- Aceda ao link especificado na mensagem de erro e ative a API Speech-to-Text. Aguarde vários minutos e, em seguida, tente novamente.
- Verifique se tem um ficheiro JSON de chave da conta de serviço válido armazenado na variável de ambiente
GOOGLE_APPLICATION_CREDENTIALS
. Para diagnosticar este erro, experimente abrir o ficheiro da chave da conta de serviço a partir da pasta a partir da qual está a tentar chamar a API Speech-to-Text.cat $GOOGLE_APPLICATION_CREDENTIALS
"Tem de usar áudio de canal único (mono)"
Se receber esta mensagem:
Must use single channel (mono) audio, but WAV header indicates 2 channels.
O ficheiro de áudio contém mais de um canal. Para transcrever este ficheiro de áudio, tem de declarar que o áudio tem vários canais.
"Must use 16 bit samples for LINEAR_PCM" (Tem de usar amostras de 16 bits para LINEAR_PCM)
Se receber esta mensagem:
INVALID_ARGUMENT: Must use 16 bit samples for LINEAR_PCM, but the WAV header indicates 8 bits per sample
Pode ter de alterar a codificação especificada no seu
RecognitionConfig
.
Para ler acerca das codificações suportadas no Speech-to-Text, consulte o guia de codificações.
"Sincronização de entrada demasiado longa"
Se receber esta mensagem:
Sync input too long. For audio longer than 1 min use LongRunningRecognize with a 'uri' parameter.
O método synchronous recognize para a API Speech-to-Text só suporta a transcrição de dados de áudio com uma duração máxima de 1 minuto. Para dados de áudio mais longos, use o reconhecimento assíncrono.
"Invalid recognition 'config': bad encoding" (Configuração de reconhecimento inválida: codificação incorreta)
Se receber esta mensagem:
Invalid recognition 'config': bad encoding.
Os seus dados de áudio podem não estar codificados corretamente ou estão codificados com um codec diferente do que declarou no elemento RecognitionConfig
. Verifique a entrada de áudio e certifique-se de que definiu o campo encoding
corretamente.
"O tamanho do payload do pedido excede o limite"
Se receber uma destas mensagens:
Request payload size exceeds the limit.
Inline audio exceeds duration limit. Please use a GCS URI.
Excedeu o limite de tamanho de 10 MB para um único pedido enviado para a API através de um ficheiro local. Pode mover o seu ficheiro de áudio para um contentor do Google Cloud Storage (GCS) para evitar o limite de 10 MB. Consulte a página Quotas e limites para mais informações.
"Quota excedida"
Se receber esta mensagem:
RESOURCE_EXHAUSTED: Quota exceeded.
Atingiu o limite da sua quota por minuto ou diária. Reveja as quotas e os limites para usar o serviço Speech-to-Text.
Pode pedir um aumento das suas quotas na Google Cloud consola.