Method: speech.recognize

Effectue une reconnaissance vocale synchrone : recevez les résultats après que toutes les données audio ont été envoyées et traitées.

Requête HTTP

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

L'URL utilise la syntaxe de transcodage gRPC.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "config": {
    object (RecognitionConfig)
  },
  "audio": {
    object (RecognitionAudio)
  }
}
Champs
config

object (RecognitionConfig)

Obligatoire. Fournit à l'outil de reconnaissance des informations qui spécifient comment traiter la requête.

audio

object (RecognitionAudio)

Obligatoire. Données audio à reconnaître.

Corps de la réponse

Le seul message renvoyé au client par la méthode speech.recognize. Il fournit le résultat sous la forme de zéro ou davantage de messages séquentiels SpeechRecognitionResult.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "results": [
    {
      object (SpeechRecognitionResult)
    }
  ],
  "totalBilledTime": string,
  "speechAdaptationInfo": {
    object (SpeechAdaptationInfo)
  },
  "requestId": string,
  "usingLegacyModels": boolean
}
Champs
results[]

object (SpeechRecognitionResult)

Liste séquentielle des résultats de transcription correspondant à des parties séquentielles de l'audio.

totalBilledTime

string (Duration format)

Le cas échéant, secondes audio facturées pour la requête correspondante.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

speechAdaptationInfo

object (SpeechAdaptationInfo)

Fournit des informations sur le comportement d'adaptation dans la réponse

requestId

string (int64 format)

ID associé à la requête. Il s'agit d'un identifiant unique propre à la requête en question.

usingLegacyModels

boolean

Indique si la requête utilisait d'anciens modèles ASR (n'a pas été migrée automatiquement pour utiliser des modèles conformer).

Niveaux d'accès des autorisations

Requiert le niveau d'accès OAuth suivant :

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

Pour plus d'informations, consultez la Authentication Overview.

SpeechRecognitionResult

Résultat de reconnaissance vocale correspondant à une partie des données audio.

Représentation JSON
{
  "alternatives": [
    {
      object (SpeechRecognitionAlternative)
    }
  ],
  "channelTag": integer,
  "resultEndTime": string,
  "languageCode": string
}
Champs
alternatives[]

object (SpeechRecognitionAlternative)

Peut contenir une ou plusieurs hypothèses de reconnaissance (jusqu'au nombre maximal spécifié dans maxAlternatives). Ces alternatives sont classées par ordre de précision, la première étant la plus probable, selon le classement de l'outil de reconnaissance.

channelTag

integer

Avec des données audio multicanaux, il s'agit du numéro de canal correspondant au résultat reconnu pour les données audio provenant de ce canal. Si audioChannelCount = N, les valeurs de sortie peuvent aller de "1" à "N".

resultEndTime

string (Duration format)

Décalage temporel de la fin de ce résultat par rapport au début de l'audio.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

languageCode

string

Uniquement en sortie. Le tag de langue BCP-47 dans ce résultat. Ce code de langue a été détecté comme ayant le plus de chances d'être parlé dans l'audio.

SpeechRecognitionAlternative

Hypothèses alternatives (liste des n meilleures).

Représentation JSON
{
  "transcript": string,
  "confidence": number,
  "words": [
    {
      object (WordInfo)
    }
  ]
}
Champs
transcript

string

Texte de transcription représentant les mots prononcés par l'utilisateur. Dans les langues qui utilisent des espaces pour séparer les mots, la transcription peut comporter un espace au début si elle n'est pas le premier résultat. Vous pouvez concaténer chaque résultat pour obtenir la transcription complète sans utiliser de séparateur.

confidence

number

Estimation de fiabilité comprise entre 0,0 et 1,0. Un nombre élevé indique une plus grande probabilité estimée que les mots reconnus soient corrects. Ce champ n'est défini que pour la première alternative d'un résultat n'étant pas sous forme de flux, ou d'un résultat de flux dans lequel isFinal=true. La précision de ce champ n'est pas garantie. Les utilisateurs ne devraient pas s'attendre à ce qu'il soit toujours fourni. La valeur par défaut de 0,0 est une valeur sentinelle indiquant que la valeur confidence n'a pas été définie.

words[]

object (WordInfo)

Liste d'informations spécifiques au mot pour chaque mot reconnu. Remarque : Lorsque enableSpeakerDiarization est défini sur "true", tous les mots sont visibles depuis le début de l'audio.

WordInfo

Informations spécifiques au mot pour les mots reconnus.

Représentation JSON
{
  "startTime": string,
  "endTime": string,
  "word": string,
  "confidence": number,
  "speakerTag": integer,
  "speakerLabel": string
}
Champs
startTime

string (Duration format)

Décalage temporel relatif au début des données audio et correspondant au début du mot prononcé. Ce champ n'est défini que si enableWordTimeOffsets=true, et uniquement dans la première hypothèse. Il s'agit d'une fonctionnalité expérimentale. La précision du décalage temporel peut varier.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

endTime

string (Duration format)

Décalage temporel relatif au début des données audio et correspondant à la fin du mot prononcé. Ce champ n'est défini que si enableWordTimeOffsets=true, et uniquement dans la première hypothèse. Il s'agit d'une fonctionnalité expérimentale. La précision du décalage temporel peut varier.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

word

string

Mot correspondant à cet ensemble d'informations.

confidence

number

Estimation de fiabilité comprise entre 0,0 et 1,0. Un nombre élevé indique une plus grande probabilité estimée que les mots reconnus soient corrects. Ce champ n'est défini que pour la première alternative d'un résultat n'étant pas sous forme de flux, ou d'un résultat de flux dans lequel isFinal=true. La précision de ce champ n'est pas garantie. Les utilisateurs ne devraient pas s'attendre à ce qu'il soit toujours fourni. La valeur par défaut de 0,0 est une valeur sentinelle indiquant que la valeur confidence n'a pas été définie.

speakerTag
(deprecated)

integer

Uniquement en sortie. Une valeur entière distincte est attribuée à chaque locuteur de l'audio. Ce champ spécifie lequel de ces locuteurs a été détecté pour avoir prononcé ce mot. La valeur est comprise entre "1" et "diarizationSpeakerCount". La valeur speakerTag est définie lorsque enableSpeakerDiarization = "true", et uniquement pour la première alternative. Remarque : Utilisez plutôt speakerLabel.

speakerLabel

string

Uniquement en sortie. Valeur de l'étiquette attribuée à chaque locuteur unique dans le contenu audio. Ce champ spécifie le locuteur détecté comme ayant prononcé ce mot. Pour certains modèles, comme medical_conversation, il peut s'agir du rôle réel de l'interlocuteur (par exemple, "patient" ou "prestataire"), mais il s'agit généralement d'un nombre identifiant un interlocuteur. Ce champ n'est défini que si enableSpeakerDiarization = &39;true', et uniquement pour la première alternative.

SpeechAdaptationInfo

Informations sur l'utilisation de l'adaptation vocale dans les résultats

Représentation JSON
{
  "adaptationTimeout": boolean,
  "timeoutMessage": string
}
Champs
adaptationTimeout

boolean

Indique si un délai d'attente a été dépassé lors de l'application de l'adaptation vocale. Si la valeur est "true", l'adaptation n'a eu aucun effet sur la transcription de la réponse.

timeoutMessage

string

Si ce champ est défini, il renvoie un message indiquant la partie de la requête d'adaptation vocale qui a expiré.