*** Informationen ab August 2016 ***
Eine Testnotiz zur Spracherkennung von WAV-Dateien unter Google Cloud Speech API Beta.
CLOUD SPEECH API
Wie Sie in Google Cloud Speech API Beta sehen können, handelt es sich um eine API zur Spracherkennung.
Es scheint eine handliche Hochleistungs-ASR zu sein.
Offizielles Dokument Python-Beispielcode
Laut Schnellstart
Generieren Sie eine Dienstkonto-Schlüsseldatei (json), die den privaten Schlüssel enthält, und verwenden Sie diese, um jedes Mal ein Authentifizierungstoken abzurufen.
Wie im Abschnitt Einrichten Ihres Projekts unter Schnellstart beschrieben.
Beim Erstellen eines "neuen Dienstkontos" mit der Erstellung von 6 Dienstkonten gibt es jedoch ein Element namens "Rolle", das nicht in [Dokument] enthalten ist (https://cloud.google.com/speech/docs/common/auth#set_up_a_service_account). Ich bin verwirrt.
Nach der Registrierung des Dienstkontos können Sie die JSON-Datei herunterladen und an einem beliebigen Ort speichern. Stellen Sie es nicht der Öffentlichkeit zur Verfügung, da es einen privaten Schlüssel enthält.
$ gcloud auth print-access-token
Denken Sie an das Authentifizierungstoken, das zurückgegeben wurde
Erstellen Sie `` `sync-request.json``` gemäß Make a Speech API Request in QuickStart und
sync-request.json
{
"config": {
"encoding":"FLAC",
"sample_rate": 16000
},
"audio": {
"uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
}
}
In dem Verzeichnis, in dem sich sync-request.json befindet
$ curl -s -k -H "Content-Type: application/json" \
-H "Authorization:Authentifizierungstoken auf Inhaber erhalten" \
https://speech.googleapis.com/v1beta1/speech:syncrecognize \
-d @sync-request.json
Hoffentlich gibt json das Erkennungsergebnis zurück.
Die Speicherort- und Formateinstellungen der Eingabedatei werden im Anforderungshauptteil mit json angegeben (`sync-request.json``` im obigen Beispiel). Das Beispiel
`sync-request.json``` verwendet eine Beispieldatei flac, die sich in Google Cloud Storage befindet, aber zur Hand ist Natürlich ist es auch möglich, die Audiodaten von zu senden, und es unterstützt auch andere Codierungen als flac.
Rest API-Referenz, [syncRecognize](https://cloud.google.com/speech/reference/rest/v1beta1/speech/ (Syncrecognize), geben Sie die Tonquellen- und Erkennungseinstellungen mit `config``` des Anforderungshauptteils an und geben Sie die Audiodaten mit`
audio``` an.
Die Spezifikation von Audio ist[RecognitionAudio](https://cloud.google.com/speech/reference/rest/v1beta1/RecognitionAudio)Wie Sie sehen, können Sie Ihre Audiodatei, wenn Sie sie mit uri oder Inhalt senden möchten, mit Base64 in eine Zeichenfolge codieren und als Inhalt senden.
Das Sample verfügt über eine FLAC-Codierungsmethode und eine Abtastrate von 16000 (16 kHz). Passen Sie es daher an die zu sendenden Audiodaten an.
## Verwenden Sie die Sprach-API mit Python
Wie in [Tutorial](https://cloud.google.com/speech/docs/rest-tutorial) gezeigt, können Sie die Sprach-API von Python anstelle des Befehls `` `glcoud``` + curl (Node.js) aufrufen. Es gibt auch eine Probe)
Für dieses Verfahren ist kein Google Cloud SDK erforderlich, sondern die [Google API-Clientbibliothek](https://developers.google.com/api-client-library/python/start/installation). Ich dachte, ich brauche keine Bibliothek, weil ich Curl verwenden könnte, aber [API Discovery Service](https://developers.google.com/discovery/) und die Google API Client Client Library werden verwendet, um Authentifizierungstoken abzurufen. Wenn Sie diese nicht benötigen, können Sie sie ohne Bibliothek verwenden, indem Sie den oben genannten Locken folgen.
### Dienstkonto-Schlüsseldatei abrufen
Entspricht Schritt 1-3 der obigen CLI.
### Standardeinstellungen für Anwendungsanmeldeinformationen
Die Vorgehensweise ist in [Beispielcode](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/speech/api/speech_rest.py) dargestellt, dies ist jedoch der Dienstkontoschlüssel zum Abrufen des Authentifizierungstokens. Die Datei muss im Voraus auf die Umgebungsvariable `` `GOOGLE_APPLICATION_CREDENTIALS``` gesetzt werden:
`` `$ export GOOGLE_APPLICATION_CREDENTIALS = Dateipfad des Dienstkontos`` ``
Wenn die Methode GoogleCredentials.get_application_default (). Create_scoped () als [Application Default Credential](https://cloud.google.com/speech/docs/common/auth#authenticating_with_application_default_credentials) bezeichnet wird und das Authentifizierungstoken abgerufen wird. Das Ding.
### API-Aufruf
Gemäß [Beispielcode](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/speech/api/speech_rest.py):
#### **`$ python speech_rest.py Audiodatei.wav`**
Das Erkennungsergebnis wird mit angezeigt.
Hinweis
languageCode``` des Körpers von
en-US``` in
`` ja-UP```. * *Dieses Beispiel ist ein Prozess für eine Eingabedatei. Wenn Sie also mehrere Dateien erkennen möchten, ist es besser, API Discover und Token-Erfassung nicht zu wiederholen.
Da das Authentifizierungstoken mit einer angemessenen Häufigkeit aktualisiert zu werden scheint, ist auch eine sorgfältige Token-erneute Erfassung erforderlich. Was kehrt der 401 während des Tests plötzlich zurück (Erfahrung 15-30 Minuten?)? Als ich darüber nachdachte, wurde das Token aktualisiert.
Es tut mir leid, dass es nicht quantitativ ist:
Recommended Posts