Esta página aborda os erros do Cloud Speech-to-Text cuja resolução requer mais passos do que os que podem ser 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 STT na nuvem usa 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 Cloud Speech-to-Text API. Por exemplo, se configurar o ADC no seu terminal, mas executar o código no depurador do IDE, o contexto de execução do seu código pode não ter acesso às credenciais. Nesse caso, o seu pedido ao Cloud STT 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 GOOGLE_APPLICATION_CREDENTIALS e se a variável
aponta para o local correto.
Para diagnosticar este erro, experimente abrir o ficheiro de chave da conta de serviço a partir da pasta a partir da qual está a tentar chamar a Cloud Speech-to-Text API.
cat $GOOGLE_APPLICATION_CREDENTIALS
Proibido: 403 A API POST não foi usada ou está desativada
Se receber a mensagem:
Forbidden: 403 POST Cloud Speech-to-Text API has not been used in project # before or it is disabled. Enable it by visiting [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 Cloud STT. Aguarde vários minutos e, em seguida, tente novamente.
- Verifique se tem um ficheiro JSON de chave de 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 Cloud 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 seu á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 STT na nuvem, consulte o guia de codificações.
"Sincronizar 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 o Cloud STT 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 asynchronous recognize.
"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 Cloud Storage 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 de utilização do Cloud STT.
Pode pedir um aumento das suas quotas na Google Cloud consola.