Method: speech.recognize

Realiza reconocimiento de voz síncrono: recibe los resultados una vez que todo el audio se ha enviado y procesado.

Solicitud HTTP

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

La URL utiliza la sintaxis de transcodificación a gRPC.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos que presentan la siguiente estructura:

Representación JSON
{
  "config": {
    object (RecognitionConfig)
  },
  "audio": {
    object (RecognitionAudio)
  }
}
Campos
config

object (RecognitionConfig)

Obligatorio. Proporciona información al reconocedor que especifica cómo procesar la petición.

audio

object (RecognitionAudio)

Obligatorio. Los datos de audio que se van a reconocer.

Cuerpo de la respuesta

Es el único mensaje que devuelve el método speech.recognize al cliente. Contiene el resultado como cero o más mensajes secuenciales SpeechRecognitionResult.

Si la solicitud se realiza correctamente, el cuerpo de la respuesta proporciona datos con la siguiente estructura:

Representación JSON
{
  "results": [
    {
      object (SpeechRecognitionResult)
    }
  ],
  "totalBilledTime": string,
  "speechAdaptationInfo": {
    object (SpeechAdaptationInfo)
  },
  "requestId": string,
  "usingLegacyModels": boolean
}
Campos
results[]

object (SpeechRecognitionResult)

Lista secuencial de resultados de transcripción correspondientes a partes secuenciales de audio.

totalBilledTime

string (Duration format)

Cuando esté disponible, los segundos de audio facturados de la solicitud correspondiente.

Duración en segundos con hasta nueve decimales, que termina con "s". Por ejemplo: "3.5s".

speechAdaptationInfo

object (SpeechAdaptationInfo)

Proporciona información sobre el comportamiento de adaptación en respuesta

requestId

string (int64 format)

ID asociado a la solicitud. Se trata de un ID único específico de la solicitud en cuestión.

usingLegacyModels

boolean

Indica si la solicitud ha usado modelos de ASR antiguos (no se ha migrado automáticamente para usar modelos conformer).

Permisos de autorización

Requiere el siguiente permiso de OAuth:

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

Para obtener más información, consulta el Authentication Overview.

SpeechRecognitionResult

Un resultado de reconocimiento de voz correspondiente a una parte del audio.

Representación JSON
{
  "alternatives": [
    {
      object (SpeechRecognitionAlternative)
    }
  ],
  "channelTag": integer,
  "resultEndTime": string,
  "languageCode": string
}
Campos
alternatives[]

object (SpeechRecognitionAlternative)

Puede contener una o varias hipótesis de reconocimiento (hasta el máximo especificado en maxAlternatives). Estas alternativas se ordenan en función de la precisión. La alternativa superior (primera) es la más probable, según la clasificación del reconocedor.

channelTag

integer

Para audio multicanal, este es el número de canal correspondiente al resultado reconocido para el audio de ese canal. Si audioChannelCount = N, sus valores de salida pueden oscilar entre "1" y "N".

resultEndTime

string (Duration format)

Desfase de tiempo del final de este resultado con respecto al inicio del audio.

Duración en segundos con hasta nueve decimales, que termina con "s". Por ejemplo: "3.5s".

languageCode

string

Solo de salida. La etiqueta de idioma BCP-47 del idioma de este resultado. Se ha detectado que este código de idioma es el que tiene más probabilidades de ser el que se habla en el audio.

SpeechRecognitionAlternative

Hipótesis alternativas (también conocidas como lista de mejor N).

Representación JSON
{
  "transcript": string,
  "confidence": number,
  "words": [
    {
      object (WordInfo)
    }
  ]
}
Campos
transcript

string

Texto de transcripción que representa las palabras que el usuario habló. En los idiomas que usan espacios para separar las palabras, es posible que la transcripción tenga un espacio inicial si no es el primer resultado. Puedes concatenar cada resultado para obtener la transcripción completa sin usar un separador.

confidence

number

La estimación de confianza se encuentra entre 0,0 y 1,0. Un número más alto indica una mayor probabilidad estimada de que las palabras reconocidas sean correctas. Este campo solo se define en la alternativa principal de un resultado que no es de streaming o de un resultado de streaming en el que isFinal=true. No se garantiza que este campo sea preciso y los usuarios no deben confiar en que siempre se proporcione. El valor predeterminado 0.0 es un valor de centinela que indica que confidence no se ha definido.

words[]

object (WordInfo)

Una lista de información específica de la palabra para cada palabra reconocida. Nota: Cuando enableSpeakerDiarization sea true, verás todas las palabras desde el principio del audio.

WordInfo

Información específica de la palabra para palabras reconocidas.

Representación JSON
{
  "startTime": string,
  "endTime": string,
  "word": string,
  "confidence": number,
  "speakerTag": integer,
  "speakerLabel": string
}
Campos
startTime

string (Duration format)

Compensación horaria referente al comienzo del audio y correspondiente al inicio de la palabra hablada. Este campo solo se define si enableWordTimeOffsets=true y solo en la hipótesis principal. Esta es una característica experimental y la precisión de la compensación horaria puede variar.

Duración en segundos con hasta nueve decimales, que termina con "s". Por ejemplo: "3.5s".

endTime

string (Duration format)

Compensación horaria referente al comienzo del audio y correspondiente al final de la palabra hablada. Este campo solo se define si enableWordTimeOffsets=true y solo en la hipótesis principal. Esta es una característica experimental y la precisión de la compensación horaria puede variar.

Duración en segundos con hasta nueve decimales, que termina con "s". Por ejemplo: "3.5s".

word

string

La palabra correspondiente a este conjunto de información.

confidence

number

La estimación de confianza se encuentra entre 0,0 y 1,0. Un número más alto indica una mayor probabilidad estimada de que las palabras reconocidas sean correctas. Este campo solo se define en la alternativa principal de un resultado que no es de streaming o de un resultado de streaming en el que isFinal=true. No se garantiza que este campo sea preciso y los usuarios no deben confiar en que siempre se proporcione. El valor predeterminado 0.0 es un valor de centinela que indica que confidence no se ha definido.

speakerTag
(deprecated)

integer

Solo de salida. Se asigna un valor entero distinto a cada interlocutor del audio. Este campo especifica cuál de esos interlocutores se ha detectado que ha pronunciado esta palabra. El valor va de "1" a diarizationSpeakerCount. speakerTag se define si enableSpeakerDiarization = "true" y solo para la alternativa principal. Nota: Usa speakerLabel en su lugar.

speakerLabel

string

Solo de salida. Valor de etiqueta asignado a cada interlocutor único del audio. Este campo especifica qué altavoz se ha detectado que ha pronunciado esta palabra. En algunos modelos, como medical_conversation, puede ser el rol real del interlocutor (por ejemplo, "paciente" o "proveedor"), pero, por lo general, se trata de un número que identifica a un interlocutor. Este campo solo se define si enableSpeakerDiarization = "true" y solo en la alternativa principal.

SpeechAdaptationInfo

Información sobre el uso de la adaptación de voz en los resultados

Representación JSON
{
  "adaptationTimeout": boolean,
  "timeoutMessage": string
}
Campos
adaptationTimeout

boolean

Si se ha agotado el tiempo de espera al aplicar la adaptación de voz. Si es true, la adaptación no ha tenido ningún efecto en la transcripción de la respuesta.

timeoutMessage

string

Si se define, devuelve un mensaje que especifica qué parte de la solicitud de adaptación de voz ha agotado el tiempo de espera.