Index
Speech
(interface)RecognitionAudio
(message)RecognitionConfig
(message)RecognitionConfig.AudioEncoding
(enum)RecognizeRequest
(message)RecognizeResponse
(message)SpeakerDiarizationConfig
(message)SpeechRecognitionAlternative
(message)SpeechRecognitionResult
(message)StreamingRecognitionConfig
(message)StreamingRecognitionResult
(message)StreamingRecognizeRequest
(message)StreamingRecognizeResponse
(message)StreamingRecognizeResponse.SpeechEventType
(enum)WordInfo
(message)
Voix
Service qui met en œuvre l'API Google Cloud Speech.
Reconnaissance | |
---|---|
Effectue une reconnaissance vocale synchrone : recevez les résultats après que toutes les données audio ont été envoyées et traitées. |
StreamingRecognize | |
---|---|
Effectue une reconnaissance vocale en continu bidirectionnelle : recevez les résultats tout en envoyant les données audio. Cette méthode n'est disponible que via l'API gRPC (non REST). |
RecognitionAudio
Contient des données audio dans l'encodage spécifié dans RecognitionConfig
. Vous devez fournir la valeur content
ou uri
. Si vous n'en spécifiez aucune ou si vous spécifiez les deux, vous obtenez l'erreur google.rpc.Code.INVALID_ARGUMENT
. Consultez la section Limites relatives au contenu.
Champs | ||
---|---|---|
Champ d'union audio_source . Correspond à la source audio, qui se présente sous la forme de contenu intégré ou d'un URI Cloud Storage. audio_source ne peut être qu'un des éléments suivants : |
||
content |
Les octets de données audio sont encodés comme spécifié dans |
RecognitionConfig
Fournit à l'outil de reconnaissance des informations qui spécifient comment traiter la requête.
Champs | |||||
---|---|---|---|---|---|
encoding |
Encodage des données audio envoyées dans tous les messages |
||||
sample_rate_hertz |
Taux d'échantillonnage en hertz des données audio envoyées dans tous les messages |
||||
audio_channel_count |
Nombre de canaux dans les données audio d'entrée. Ne définissez ce champ QUE pour la reconnaissance MULTICANAL. Les valeurs valides pour LINEAR16 et FLAC sont comprises entre |
||||
enable_separate_recognition_per_channel |
Ce paramètre doit être défini explicitement sur |
||||
language_code |
Obligatoire. Langue de l'audio fourni en tant que tag de langue BCP-47. Exemple : "en-US". Consultez la section Langues acceptées pour obtenir la liste des codes de langue actuellement compatibles. |
||||
enable_automatic_punctuation |
Si le champ est défini sur "true", ajoute un signe de ponctuation aux hypothèses de résultat de la reconnaissance. Cette fonctionnalité n'est disponible que pour certaines langues. La définition de ce champ pour d'autres langues n'a aucun effet. La valeur "false" par défaut n'ajoute pas de signe de ponctuation aux hypothèses de résultat. |
||||
diarization_config |
Configurez l'identification des locuteurs et définissez des paramètres supplémentaires pour adapter l'identification à votre application. Remarque : Lorsque cette option est activée, tous les mots du début de l'audio sont envoyés comme première alternative dans chaque réponse STREAMING consécutive. Cela permet d'améliorer nos tags de locuteurs car nos modèles apprennent à identifier les locuteurs dans la conversation au fil du temps. Pour les requêtes non diffusées en continu, les résultats de l'identification ne seront fournis que dans l'alternative supérieure du résultat SpeechRecognitionResult FINAL. |
||||
model |
Modèle à sélectionner pour la requête donnée. Sélectionnez le modèle le mieux adapté à votre domaine pour obtenir de meilleurs résultats. Si aucun modèle n'est explicitement spécifié, nous en sélectionnons automatiquement un en fonction des paramètres du champ RecognitionConfig.
|
AudioEncoding
L'encodage des données audio envoyées dans la requête.
Tous les encodages n'acceptent qu'un seul canal (mono) audio, sauf si les champs audio_channel_count
et enable_separate_recognition_per_channel
sont définis.
Pour des résultats optimaux, la source audio doit être enregistrée et transmise grâce à un encodage sans perte (FLAC
ou LINEAR16
). La précision de la reconnaissance vocale peut être réduite si vous enregistrez ou transmettez des données audio à l'aide de codecs induisant une perte, notamment en présence de bruits de fond. Les codecs MULAW
, AMR
, AMR_WB
, OGG_OPUS
, SPEEX_WITH_HEADER_BYTE
et MP3
sont des exemples de codecs induisant une perte.
Les fichiers audio FLAC
et WAV
comprennent un en-tête décrivant le contenu audio inclus. Vous pouvez demander une reconnaissance pour les fichiers WAV
qui contiennent des données audio encodées au format LINEAR16
ou MULAW
. Si vous envoyez le format de fichier audio FLAC
ou WAV
dans votre requête, vous n'avez pas besoin de spécifier un AudioEncoding
; le format d'encodage audio est déterminé à partir de l'en-tête du fichier. Si vous spécifiez une valeur AudioEncoding
lorsque vous envoyez des données audio FLAC
ou WAV
, la configuration de codage doit correspondre au codage décrit dans l'en-tête audio. Sinon, la requête renvoie un code d'erreur google.rpc.Code.INVALID_ARGUMENT
.
Enums | |
---|---|
ENCODING_UNSPECIFIED |
Non spécifié. |
LINEAR16 |
Échantillons little-endian de 16 bits signés et non compressés (LPCM). |
FLAC |
L'encodage FLAC (Free Lossless Audio Codec, codec audio sans perte gratuit) est recommandé du fait de son absence de perte. Ainsi, la reconnaissance n'est pas compromise et ne nécessite qu'environ la moitié de la bande passante par rapport à l'encodage LINEAR16 . L'encodage de flux FLAC accepte les échantillons 16 bits et 24 bits. Il n'est toutefois pas compatible avec tous les champs de STREAMINFO . |
MULAW |
Échantillons de 8 bits compressant des échantillons audio 14 bits qui utilisent la norme G.711 PCMU/MULAW. |
OGG_OPUS |
Trames audio encodées au format Opus dans un conteneur Ogg (OggOpus). La valeur sample_rate_hertz doit être définie sur 8 000, 12 000, 16 000, 24 000 ou 48 000. |
SPEEX_WITH_HEADER_BYTE |
Bien que l'utilisation d'encodages avec perte ne soit pas recommandée, OGG_OPUS est largement privilégié par rapport à Speex lorsqu'un encodage à très faible débit est requis. L'encodage Speex accepté par l'API Cloud Speech comporte un octet d'en-tête dans chaque bloc, comme dans le type MIME audio/x-speex-with-header-byte . Il s'agit d'une variante de l'encodage Speex RTP défini dans le RFC 5574. Le flux est une séquence de blocs qui correspondent chacun à un paquet RTP. Chaque bloc commence par un octet qui contient sa longueur exprimée en octets, suivie d'une ou de plusieurs trames de données Speex complétées jusqu'à atteindre un nombre entier d'octets, comme spécifié dans le RFC 5574. En d'autres termes, chaque en-tête RTP est remplacé par un octet unique contenant la longueur du bloc. Seul l'encodage Speex large bande est accepté. La valeur sample_rate_hertz doit être de 16 000. |
RecognizeRequest
Message de premier niveau envoyé par le client pour la méthode Recognize
.
Champs | |
---|---|
config |
Obligatoire. Fournit à l'outil de reconnaissance des informations qui spécifient comment traiter la requête. |
audio |
Obligatoire. Données audio à reconnaître. |
RecognizeResponse
Le seul message renvoyé au client par la méthode Recognize
. Il fournit le résultat sous la forme de zéro ou davantage de messages séquentiels SpeechRecognitionResult
.
Champs | |
---|---|
results[] |
Liste séquentielle des résultats de transcription correspondant à des parties séquentielles de l'audio. |
SpeakerDiarizationConfig
Configuration permettant d'activer l'identification des locuteurs.
Champs | |
---|---|
enable_speaker_diarization |
Si le champ est défini sur "true", cela active la détection du locuteur pour chaque mot reconnu dans la première alternative au résultat de la reconnaissance à l'aide d'un speaker_tag fourni dans WordInfo. |
min_speaker_count |
Nombre minimal de locuteurs dans la conversation. Cette plage vous offre plus de flexibilité en permettant au système de déterminer automatiquement le nombre approprié de locuteurs. Si ce champ n'est pas défini, la valeur par défaut est "2". |
max_speaker_count |
Nombre maximal de locuteurs dans la conversation. Cette plage vous offre plus de flexibilité en permettant au système de déterminer automatiquement le nombre approprié de locuteurs. Si ce champ n'est pas spécifié, la valeur par défaut est 6. |
SpeechRecognitionAlternative
Hypothèses alternatives (liste des n meilleures)
Champs | |
---|---|
transcript |
Texte de transcription représentant les mots prononcés par l'utilisateur. |
confidence |
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 |
words[] |
Liste d'informations spécifiques au mot pour chaque mot reconnu. Remarque : Lorsque |
SpeechRecognitionResult
Résultat de reconnaissance vocale correspondant à une partie des données audio.
Champs | |
---|---|
alternatives[] |
Peut contenir une ou plusieurs hypothèses de reconnaissance (jusqu'au nombre maximal spécifié dans |
channel_tag |
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 audio_channel_count = N, les valeurs de sortie peuvent aller de "1" à "N". |
language_code |
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. |
StreamingRecognitionConfig
Fournit à l'outil de reconnaissance des informations qui spécifient comment traiter la requête.
Champs | |
---|---|
config |
Obligatoire. Fournit à l'outil de reconnaissance des informations qui spécifient comment traiter la requête. |
StreamingRecognitionResult
Résultat de reconnaissance vocale correspondant à une partie des données audio en cours de traitement.
Champs | |
---|---|
alternatives[] |
Peut contenir une ou plusieurs hypothèses de reconnaissance (jusqu'au nombre maximal spécifié dans |
is_final |
Si le champ est défini sur |
stability |
Une estimation de la probabilité que l'outil de reconnaissance ne modifie pas sa supposition relative au résultat provisoire. Les valeurs s'étendent de 0,0 (complètement instable) à 1,0 (complètement stable). Ce champ n'est fourni que pour les résultats provisoires ( |
result_end_time |
Décalage temporel de la fin de ce résultat par rapport au début de l'audio. |
channel_tag |
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 audio_channel_count = N, les valeurs de sortie peuvent aller de "1" à "N". |
language_code |
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. |
StreamingRecognizeRequest
Message de premier niveau envoyé par le client pour la méthode StreamingRecognize
. Plusieurs messages StreamingRecognizeRequest
sont envoyés. Le premier message doit contenir un message streaming_config
et ne doit pas contenir de données audio_content
. Tous les messages suivants doivent contenir des données audio_content
et pas de message streaming_config
.
Champs | ||
---|---|---|
Champ d'union streaming_request . Requête de flux, qui correspond à une configuration de flux ou à du contenu audio. streaming_request ne peut être qu'un des éléments suivants : |
||
streaming_config |
Fournit à l'outil de reconnaissance des informations qui spécifient comment traiter la requête. Le premier message |
|
audio_content |
Données audio à reconnaître. Des blocs séquentiels de données audio sont envoyés dans des messages |
StreamingRecognizeResponse
StreamingRecognizeResponse
est le seul message renvoyé au client par StreamingRecognize
. Une série de zéro messages StreamingRecognizeResponse
ou plus est renvoyée au client. S'il n'y a pas d'audio reconnaissable, et que le champ single_utterance
est défini sur "false", aucun message n'est retransmis au client.
Voici un exemple de série de dix StreamingRecognizeResponse
pouvant être renvoyées lors du traitement du contenu audio :
results { alternatives { transcript: "tube" } stability: 0.01 }
results { alternatives { transcript: "to be a" } stability: 0.01 }
results { alternatives { transcript: "to be" } stability: 0.9 } results { alternatives { transcript: " or not to be" } stability: 0.01 }
results { alternatives { transcript: "to be or not to be" confidence: 0.92 } alternatives { transcript: "to bee or not to bee" } is_final: true }
results { alternatives { transcript: " that's" } stability: 0.01 }
results { alternatives { transcript: " that is" } stability: 0.9 } results { alternatives { transcript: " the question" } stability: 0.01 }
results { alternatives { transcript: " that is the question" confidence: 0.98 } alternatives { transcript: " that was the question" } is_final: true }
Remarques :
Parmi les réponses ci-dessus, seules les lignes 4 et 7 contiennent des résultats finaux, indiqués par
is_final: true
. En combinant ces réponses, nous obtenons l'intégralité de la transcription : "to be or not to be that is the question" ("être ou ne pas être, telle est la question").Les autres contiennent des
results
intermédiaires. Les réponses n° 3 et 6 contiennent deuxresults
intermédiaires : la première partie présente une grande stabilité et est moins susceptible de changer. La deuxième partie présente une faible stabilité et est très susceptible de changer. Les concepteurs d'interface utilisateur peuvent choisir de n'afficher que des champsresults
de stabilité élevée.Les valeurs
stability
etconfidence
spécifiques indiquées ci-dessus ne sont données qu'à titre d'exemple. Les valeurs réelles peuvent varier.Dans chaque réponse, un seul de ces champs sera défini :
error
,speech_event_type
ou un ou plusieursresults
(répétés).
Champs | |
---|---|
error |
Si ce champ est défini, il renvoie un message |
results[] |
Cette liste répétée contient zéro résultats ou plus, correspondant à des parties consécutives de l'audio en cours de traitement. Elle contient zéro ou un résultat |
speech_event_type |
Indique le type d'événement de discours. |
SpeechEventType
Indique le type d'événement de discours.
Énumérations (Enums) | |
---|---|
SPEECH_EVENT_UNSPECIFIED |
Aucun événement de discours spécifié. |
END_OF_SINGLE_UTTERANCE |
Cet événement indique que le serveur a détecté la fin de l'énoncé de l'utilisateur et ne s'attend plus à aucune entrée vocale. Le serveur ne traite donc pas de nouvelles données audio (bien qu'il puisse par la suite renvoyer des résultats supplémentaires). Le client doit arrêter d'envoyer des données audio, interrompre à moitié la connexion gRPC, et attendre les résultats supplémentaires jusqu'à ce que le serveur stoppe cette connexion. Cet événement n'est envoyé que si le champ single_utterance est défini sur true et n'est pas utilisé par ailleurs. |
WordInfo
Informations spécifiques au mot pour les mots reconnus.
Champs | |
---|---|
start_time |
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 |
end_time |
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 |
word |
Mot correspondant à cet ensemble d'informations. |
speaker_tag |
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 "diarization_speaker_count". La valeur speaker_tag est définie lorsque enable_speaker_diarization = "true", et uniquement dans la première alternative. |