Method: speech.recognize

Realiza un reconocimiento de voz síncrono: recibe resultados después de que se envíe y procese todo el audio.

Solicitud HTTP

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

La URL usa la sintaxis de la transcodificación gRPC.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con 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 solicitud.

audio

object (RecognitionAudio)

Obligatorio. Los datos de audio que se reconocerán.

Cuerpo de la respuesta

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

Si se ejecuta correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:

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

object (SpeechRecognitionResult)

Es una lista secuencial de los resultados de transcripción que corresponden a partes secuenciales de audio.

totalBilledTime

string (Duration format)

Cuando están disponibles, se muestran los segundos de audio facturados para la solicitud correspondiente.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

speechAdaptationInfo

object (SpeechAdaptationInfo)

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

requestId

string (int64 format)

Es el ID asociado a la solicitud. Es un ID único específico solo para la solicitud determinada.

usingLegacyModels

boolean

Indica si la solicitud usó modelos de RAA heredados (no se migró automáticamente para usar modelos de 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 Authentication Overview.

SpeechRecognitionResult

Un resultado del reconocimiento de voz que corresponde 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 más hipótesis de reconocimiento (hasta el máximo especificado en maxAlternatives). Estas alternativas se ordenan en términos de precisión, y la alternativa superior (primera) es la más probable, según la clasificación del reconocedor.

channelTag

integer

En el caso del audio multicanal, este es el número de canal correspondiente al resultado reconocido para el audio de ese canal. En el caso de que audioChannelCount = N, sus valores de salida pueden variar de "1" a "N".

resultEndTime

string (Duration format)

Es la compensación horaria del final de este resultado en relación con el comienzo del audio.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

languageCode

string

Solo salida. Es la etiqueta de idioma BCP-47 del idioma en este resultado. Se detectó que este código de idioma es el que tiene más probabilidades de hablarse en el audio.

SpeechRecognitionAlternative

Son las hipótesis alternativas (también conocidas como lista de n-mejores).

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

string

Texto de transcripción que representa las palabras que dijo el usuario. En los idiomas que usan espacios para separar 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 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 establece para la alternativa principal de un resultado que no es de transmisión o de un resultado de transmisión en el que isFinal=true. No se garantiza que este campo sea preciso. Los usuarios no deben confiar en que siempre se proporcione. El valor predeterminado de 0.0 es un valor centinela que indica que no se estableció confidence.

words[]

object (WordInfo)

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

WordInfo

Información específica de las 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 relacionada con el comienzo del audio y que corresponde al inicio de la palabra hablada. Este campo solo se establece si enableWordTimeOffsets=true y únicamente en la hipótesis principal. Esta es una función experimental. La precisión de la compensación horaria puede variar.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

endTime

string (Duration format)

Compensación horaria relacionada con el comienzo del audio y que corresponde al final de la palabra hablada. Este campo solo se establece si enableWordTimeOffsets=true y únicamente en la hipótesis principal. Esta es una función experimental. La precisión de la compensación horaria puede variar.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

word

string

La palabra correspondiente a este conjunto de información.

confidence

number

La estimación de confianza 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 establece para la alternativa principal de un resultado que no es de transmisión o de un resultado de transmisión en el que isFinal=true. No se garantiza que este campo sea preciso. Los usuarios no deben confiar en que siempre se proporcione. El valor predeterminado de 0.0 es un valor centinela que indica que no se estableció confidence.

speakerTag
(deprecated)

integer

Solo salida. Se asigna un valor entero distinto para cada orador dentro del audio. Este campo especifica cuál de esos oradores se detectó que pronunció esta palabra. El valor varía de "1" a diarizationSpeakerCount. speakerTag se establece si enableSpeakerDiarization = "true" y solo para la alternativa principal. Nota: En su lugar, usa speakerLabel.

speakerLabel

string

Solo salida. Es un valor de etiqueta asignado a cada interlocutor único dentro del audio. Este campo especifica qué interlocutor se detectó que pronunció esta palabra. En algunos modelos, como medical_conversation, puede ser el rol real del orador, por ejemplo, "paciente" o "proveedor", pero, en general, sería un número que identifica a un orador. Este campo solo se establece si enableSpeakerDiarization = "true" y solo para 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

Indica si se agotó el tiempo de espera al aplicar la adaptación de voz. Si es verdadero, la adaptación no tuvo efecto en la transcripción de la respuesta.

timeoutMessage

string

Si se configura, devuelve un mensaje que especifica qué parte de la solicitud de adaptación del discurso agotó el tiempo de espera.