*** Information en août 2016 ***
Une note d'essai de la reconnaissance vocale pour les fichiers wav sur Google Cloud Speech API Beta.
CLOUD SPEECH API
Comme vous pouvez le voir dans Google Cloud Speech API Beta, il s'agit d'une API de reconnaissance vocale.
Cela semble être un ASR très performant.
Document officiel exemple de code python
Selon Quickstart
Générez un fichier de clé de compte de service (json) contenant la clé privée et utilisez-le pour obtenir un jeton d'authentification à chaque fois.
Comme décrit dans la section Configurer votre projet de Démarrage rapide.
Cependant, lors de la création d'un «nouveau compte de service» avec la création d'un compte de service, il existe un élément appelé Rôle qui ne se trouve pas dans Document. Je suis confus.
Après avoir enregistré le compte de service, vous pouvez télécharger le fichier json, donc enregistrez-le dans n'importe quel emplacement. Ne l'exposez pas au public car il contient une clé privée.
$ gcloud auth print-access-token
Souvenez-vous du jeton d'authentification qui est revenu
Créez
sync-request.json``` en fonction de l'option Faire une demande d'API Speech dans QuickStart et
sync-request.json
{
"config": {
"encoding":"FLAC",
"sample_rate": 16000
},
"audio": {
"uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
}
}
Dans le répertoire où se trouve sync-request.json
$ curl -s -k -H "Content-Type: application/json" \
-H "Authorization:Jeton d'authentification obtenu sur le porteur" \
https://speech.googleapis.com/v1beta1/speech:syncrecognize \
-d @sync-request.json
Espérons que json retournera le résultat de la reconnaissance.
L'emplacement et les paramètres de format du fichier d'entrée sont spécifiés dans le corps de la requête avec json (
sync-request.json``` dans l'exemple ci-dessus).
L'exemple `` sync-request.json '' utilise un exemple de fichier flac pré-localisé dans Google Cloud Storage, mais à portée de main Bien sûr, il est possible d'envoyer les données audio de, et il prend également en charge un codage autre que flac.
SyncRecognize de Référence API Rest Selon syncrecognize), spécifiez la source sonore et les paramètres de reconnaissance avec `` configdu corps de la requête, et spécifiez les données audio avec
audio```.
La spécification de l'audio est[RecognitionAudio](https://cloud.google.com/speech/reference/rest/v1beta1/RecognitionAudio)Comme vous pouvez le voir, si vous souhaitez envoyer votre fichier audio avec un uri ou du contenu, vous pouvez l'encoder dans une chaîne de caractères avec Base64 et l'envoyer en tant que contenu.
L'échantillon a une méthode d'encodage FLAC et une fréquence d'échantillonnage de 16 000 (16 kHz), donc faites-le correspondre avec les données audio à envoyer.
## Utiliser l'API Speech avec python
Comme indiqué dans [Tutoriel](https://cloud.google.com/speech/docs/rest-tutorial), vous pouvez appeler l'API Speech depuis python au lieu de la commande `` `` glcoud``` + curl (Node.js). Il y a aussi un échantillon)
Cette procédure ne nécessite pas le SDK Google Cloud, mais nécessite plutôt la [bibliothèque cliente des API Google](https://developers.google.com/api-client-library/python/start/installation). Je pensais que je n'avais pas besoin d'une bibliothèque parce que je pouvais utiliser curl, mais [API Discovery Service](https://developers.google.com/discovery/) et la bibliothèque cliente des API Google sont utilisées pour obtenir des jetons d'authentification. Si vous n'en avez pas besoin, vous pouvez l'utiliser sans bibliothèque en suivant curl mentionné ci-dessus.
### Obtenir le fichier clé du compte de service
Identique à l'étape 1 à 3 de la CLI ci-dessus.
### Paramètres des informations d'identification par défaut de l'application
La procédure est indiquée dans [Exemple de code](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/speech/api/speech_rest.py), mais il s'agit de la clé de compte de service pour obtenir le jeton d'authentification. Le fichier doit être défini à l'avance sur la variable d'environnement `` GOOGLE_APPLICATION_CREDENTIALS '':
`` `$ export GOOGLE_APPLICATION_CREDENTIALS = Chemin du fichier du compte de service`` ``
Si la méthode GoogleCredentials.get_application_default (). Create_scoped () fait référence à cela comme [Application Default Credentials](https://cloud.google.com/speech/docs/common/auth#authenticating_with_application_default_credentials) et le jeton d'authentification est obtenu. Cette chose.
### Appel API
Selon [Exemple de code](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/speech/api/speech_rest.py):
#### **`$ python speech_rest.fichier audio py.wav`**
Le résultat de la reconnaissance s'affiche avec.
Mise en garde
languageCodedu corps de
en-US en `` `ja-UP
. *
--Si vous voulez envoyer des données codées FLAC, définissez encoding
du corps sur FLAC.Cet exemple est un processus pour un fichier d'entrée, donc si vous souhaitez reconnaître plusieurs fichiers, il semble préférable de ne pas répéter la découverte d'API et l'acquisition de jetons.
Étant donné que le jeton d'authentification semble être mis à jour à une fréquence raisonnable, il est également nécessaire de veiller à la réacquisition du jeton. Qu'est-ce que le 401 revient soudainement pendant le test (expérience de 15 à 30 minutes?)? Quand j'y ai pensé, le jeton a été mis à jour.
Je suis désolé que ce ne soit pas quantitatif:
Recommended Posts