Method: speech.recognize

Realiza reconhecimento de voz síncrono: receba resultados depois que todo o áudio tiver sido enviado e processado.

Solicitação HTTP

POST https://speech.googleapis.com/v1p1beta1/speech:recognize

O URL usa a sintaxe de transcodificação gRPC.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "config": {
    object (RecognitionConfig)
  },
  "audio": {
    object (RecognitionAudio)
  }
}
Campos
config

object (RecognitionConfig)

Obrigatório. São fornecidas informações ao reconhecedor que especificam como processar a solicitação.

audio

object (RecognitionAudio)

Obrigatório. Dados de áudio a serem reconhecidos.

Corpo da resposta

A única mensagem retornada ao cliente pelo método speech.recognize. Ele contém o resultado como zero ou mais mensagens SpeechRecognitionResult sequenciais.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "results": [
    {
      object (SpeechRecognitionResult)
    }
  ],
  "totalBilledTime": string,
  "speechAdaptationInfo": {
    object (SpeechAdaptationInfo)
  },
  "requestId": string,
  "usingLegacyModels": boolean
}
Campos
results[]

object (SpeechRecognitionResult)

Lista sequencial de resultados de transcrição correspondentes a porções sequenciais de áudio.

totalBilledTime

string (Duration format)

Quando disponível, os segundos de áudio faturados da solicitação correspondente.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

speechAdaptationInfo

object (SpeechAdaptationInfo)

Fornece informações sobre o comportamento de adaptação na resposta

requestId

string (int64 format)

O ID associado à solicitação. É um ID exclusivo específico apenas para a solicitação.

usingLegacyModels

boolean

Se a solicitação usou modelos legados de ASR (não foi migrada automaticamente para usar modelos conformer).

Escopos de autorização

Requer o seguinte escopo OAuth:

  • https://www.googleapis.com/auth/cloud-platform

Para mais informações, consulte Authentication Overview.

SpeechRecognitionResult

Resultado de reconhecimento de fala correspondente a uma parte do áudio.

Representação JSON
{
  "alternatives": [
    {
      object (SpeechRecognitionAlternative)
    }
  ],
  "channelTag": integer,
  "resultEndTime": string,
  "languageCode": string
}
Campos
alternatives[]

object (SpeechRecognitionAlternative)

Pode conter uma ou mais hipóteses de reconhecimento (até o máximo especificado em maxAlternatives). Essas alternativas são ordenadas em termos de precisão, sendo a primeira (superior) a mais provável, de acordo com a classificação do reconhecedor.

channelTag

integer

Para o áudio multicanal, este é o número do canal correspondente ao resultado reconhecido para o áudio desse canal. Para audioChannelCount = N, os valores de saída podem variar de '1' a 'N'.

resultEndTime

string (Duration format)

Ajuste de horário relativo ao final deste resultado e correspondente ao início do áudio.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

languageCode

string

Apenas saída. Tag BCP-47 do idioma neste resultado. Este código de idioma foi detectado como o de maior probabilidade de ser falado no áudio.

SpeechRecognitionAlternative

Hipóteses alternativas (conhecido como "n-best list").

Representação JSON
{
  "transcript": string,
  "confidence": number,
  "words": [
    {
      object (WordInfo)
    }
  ]
}
Campos
transcript

string

Texto transcrito representando as palavras que o usuário falou. Em idiomas que usam espaços para separar palavras, a transcrição pode ter um espaço à esquerda se não for o primeiro resultado. É possível concatenar cada resultado para obter a transcrição completa sem usar um separador.

confidence

number

Estimativa de confiança entre 0,0 e 1,0. Um número mais alto indica maior probabilidade estimada de que as palavras reconhecidas estejam corretas. Esse campo é definido apenas para a principal alternativa de um resultado não transmitido ou de um resultado transmitido em que isFinal=true. Não há garantias quanto à precisão do campo. É recomendável que os usuários não dependam da disponibilidade dele. O padrão de 0,0 é um valor de sentinela indicando que confidence não foi definido.

words[]

object (WordInfo)

Uma lista de informações específicas de cada palavra reconhecida. Observação: quando enableSpeakerDiarization é verdadeiro, todas as palavras do início do áudio aparecem.

WordInfo

Informações específicas de palavras reconhecidas.

Representação JSON
{
  "startTime": string,
  "endTime": string,
  "word": string,
  "confidence": number,
  "speakerTag": integer,
  "speakerLabel": string
}
Campos
startTime

string (Duration format)

Ajuste de horário relativo ao início do áudio e correspondente ao início da palavra falada. Este campo só é definido se enableWordTimeOffsets=true e apenas na hipótese superior. Este é um recurso experimental e a precisão do ajuste de horário pode variar.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

endTime

string (Duration format)

Ajuste de horário relativo ao início do áudio e correspondente ao final da palavra falada. Este campo só é definido se enableWordTimeOffsets=true e apenas na hipótese superior. Este é um recurso experimental e a precisão do ajuste de horário pode variar.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

word

string

A palavra correspondente a este conjunto de informações.

confidence

number

Estimativa de confiança entre 0,0 e 1,0. Um número mais alto indica maior probabilidade estimada de que as palavras reconhecidas estejam corretas. Esse campo é definido apenas para a principal alternativa de um resultado não transmitido ou de um resultado transmitido em que isFinal=true. Não há garantias quanto à precisão do campo. É recomendável que os usuários não dependam da disponibilidade dele. O padrão de 0,0 é um valor de sentinela indicando que confidence não foi definido.

speakerTag
(deprecated)

integer

Apenas saída. Um valor inteiro distinto é atribuído a cada interlocutor no áudio. Este campo especifica qual desses interlocutores foi detectado na fala desta palavra. O valor varia de "1" a diarizationSpeakerCount. speakerTag é definido se enableSpeakerDiarization = "true" e somente para a principal alternativa. Observação: use speakerLabel.

speakerLabel

string

Apenas saída. Um valor de rótulo atribuído a cada falante exclusivo no áudio. Esse campo especifica qual falante foi detectado como tendo falado essa palavra. Para alguns modelos, como "medical_conversation", pode ser a função real do falante, por exemplo, "paciente" ou "profissional de saúde", mas geralmente é um número que identifica um falante. Este campo só é definido se enableSpeakerDiarization = "true" e apenas para a alternativa principal.

SpeechAdaptationInfo

Informações sobre o uso da adaptação de fala nos resultados

Representação JSON
{
  "adaptationTimeout": boolean,
  "timeoutMessage": string
}
Campos
adaptationTimeout

boolean

Indica se houve um tempo limite ao aplicar a adaptação de fala. Se for "true", a adaptação não terá efeito na transcrição da resposta.

timeoutMessage

string

Se definido, retorna uma mensagem especificando qual parte da solicitação de adaptação de voz atingiu o tempo limite.