Die Cloud Speech API unterstützt Audiodateien in über 80 Sprachen und ermöglicht es, Sprachaufnahmen in Text zu transkribieren.
In diesem Lab nehmen wir eine Audiodatei auf und senden sie an die Cloud Speech API.
Lerninhalte
- Speech API-Anfrage erstellen und die API mit "curl" aufrufen
- Die Speech API mit Audiodateien in verschiedenen Sprachen aufrufen
Voraussetzungen
Wie werden Sie diese Anleitung verwenden?
Wie würdest du deine Erfahrung mit der Google Cloud Platform bewerten?
Umgebung im eigenen Tempo einrichten
Wenn Sie noch kein Google-Konto haben (Gmail oder Google Apps), müssen Sie eines erstellen. Melden Sie sich unter console.cloud.google.com in der Google Cloud Platform Console an und erstellen Sie ein neues Projekt:
Notieren Sie sich die Projekt-ID, also den projektübergreifend nur einmal vorkommenden Namen eines Google Cloud-Projekts. Der oben angegebene Name ist bereits vergeben und kann leider nicht mehr verwendet werden. In diesem Codelab wird sie später als PROJECT_ID
bezeichnet.
Als Nächstes müssen Sie in der Cloud Console die Abrechnung aktivieren, um Google Cloud-Ressourcen zu nutzen.
Das Durchlaufen dieses Codelabs sollte nicht mehr als ein paar Dollar kosten. Es kann aber auch sein, dass Sie mehr Ressourcen brauchen oder sie weiterlaufen möchten (siehe Abschnitt „Bereinigen“ am Ende dieses Dokuments).
Neuen Google Cloud Platform-Nutzern steht ein kostenloser Testzeitraum im Wert von 300$ zur Verfügung.
Klicken Sie links oben auf dem Bildschirm auf das Menüsymbol.
Wählen Sie im Drop-down-Menü das Dashboard APIs und Dienste aus.
Klicken Sie auf APIs und Dienste aktivieren.
Suchen Sie dann im Suchfeld nach „Sprache“. Klicken Sie auf Google Cloud Speech API:
Klicken Sie auf Aktivieren, um die Cloud Speech API zu aktivieren:
Warten Sie einige Sekunden, bis sie aktiviert wird. Folgendes wird angezeigt, sobald es aktiviert ist:
Google Cloud Shell ist eine Befehlszeilenumgebung, die in der Cloud ausgeführt wird. Diese Debian-basierte virtuelle Maschine ist mit allen Entwicklertools ausgestattet, die Sie benötigen (gcloud
, bq
, git
und andere). Sie enthält ein Basisverzeichnis mit 5 GB Speicherplatz. Wir verwenden Cloud Shell, um unsere Anfrage an die Speech API zu erstellen.
Wenn Sie Cloud Shell verwenden möchten, klicken Sie rechts oben in der Kopfzeile auf das Symbol „Google Cloud Shell aktivieren“
Im unteren Bereich der Konsole wird ein neuer Frame für die Cloud Shell-Sitzung geöffnet, in dem eine Befehlszeilen-Eingabeaufforderung angezeigt wird. Warten Sie, bis die Aufforderung "user@project:~$" angezeigt wird
Da wir curl
verwenden, um eine Anfrage an die Speech API zu senden, müssen Sie einen API-Schlüssel generieren, mit dem unsere Anfrage-URL übergeben wird. Rufen Sie in Ihrem Projekt-Dashboard den Abschnitt APIs & Dienste; Anmeldedaten auf, um einen API-Schlüssel zu erstellen:
Klicken Sie dann auf Create credentials (Anmeldedaten erstellen):
Wählen Sie im Drop-down-Menü API key (API-Schlüssel) aus:
Kopieren Sie dann den gerade generierten Schlüssel und wählen Sie Schließen aus.
Speichern Sie nun den API-Schlüssel in einer Umgebungsvariablen. So brauchen Sie den Wert des API-Schlüssels nicht in jede Anfrage einzufügen. Dies ist in Cloud Shell möglich. Ersetzen Sie dabei <your_api_key>
durch den soeben kopierten Schlüssel.
export API_KEY=<YOUR_API_KEY>
Sie können Ihre Anfrage an die Speech API in einer request.json
-Datei erstellen. Zum Erstellen und Bearbeiten dieser Datei können Sie einen Ihrer bevorzugten Befehlszeileneditoren (Nano, Vim, Emacs) oder den integrierten Webeditor in Cloud Shell verwenden:
Erstellen Sie die Datei im Stammverzeichnis, damit Sie sie leicht wiederfinden und Folgendes in die Datei request.json
einfügen können :
request.json
{
"config": {
"encoding":"FLAC",
"languageCode": "en-US"
},
"audio": {
"uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
}
}
Der Anfragetext enthält ein config
- und ein audio
-Objekt. In config
teilen wir der Speech API mit, wie die Anfrage verarbeitet wird. Über den Parameter encoding
wird der API mitgeteilt, welche Art von Audiocodierung Sie für die Audiodatei verwenden, die Sie an die API senden. FLAC
ist der Codierungstyp für RAW-Dateien .Weitere Informationen finden Sie in der Dokumentation zum Codierungstyp. Es gibt zwar weitere Parameter, die du deinem config
-Objekt hinzufügen kannst, aber encoding
ist der einzige erforderliche Parameter. languageCode
wird standardmäßig auf Englisch festgelegt, wenn Sie die Anfrage nicht eingeben.
Im audio
-Objekt kannst du die API entweder den URI unserer Audiodatei in Cloud Storage oder das base64-codierte Audio als String übergeben. Hier wurden Cloud Storage-URLs verwendet. Im nächsten Schritt rufen Sie die Speech API auf.
Sie können den Text der Anfrage und die zuvor gespeicherte Umgebungsvariable API-Schlüssel jetzt mit dem folgenden curl
-Befehl an die Speech API übergeben (alle in einer Befehlszeile):
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json "https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}"
Die von diesem curl
-Befehl zurückgegebene Antwort sollte in etwa so aussehen:
{
"results": [
{
"alternatives": [
{
"transcript": "how old is the Brooklyn Bridge",
"confidence": 0.98267895
}
]
}
]
}
Der Wert transcript
gibt die Speech API-Texttranskription Ihrer Audiodatei zurück und der Wert confidence
gibt an, wie sicher die API ist, dass sie Ihre Audiodaten transkribiert hat.
Sie werden feststellen, dass wir in unserer Anfrage oben die Methode recognize
aufgerufen haben. Die Speech API unterstützt sowohl synchrone als auch asynchrone Sprache-zu-Text-Transkriptionen. In diesem Beispiel haben wir eine vollständige Audiodatei gesendet. Sie können aber auch die longrunningrecognize
-Methode verwenden, um Sprache-zu-Text-Transkription anzubieten, während der Nutzer noch spricht.
Arbeiten Sie mehrsprachig? Die Speech API unterstützt Sprache-zu-Text-Transkriptionen in über 100 Sprachen. Du kannst den Parameter languageCode
in request.json
ändern. Hier finden Sie eine Liste der unterstützten Sprachen.
Versuchen Sie es mit einer französischen Audiodatei. Hier können Sie sie anhören. Ändern Sie den Befehl „request.json“ so:
request.json
{
"config": {
"encoding":"FLAC",
"languageCode": "fr"
},
"audio": {
"uri":"gs://speech-language-samples/fr-sample.flac"
}
}
Sie sollten die folgende Antwort sehen:
{
"results": [
{
"alternatives": [
{
"transcript": "maître corbeau sur un arbre perché tenait en son bec un fromage",
"confidence": 0.9710122
}
]
}
]
}
Das ist ein Satz aus einer beliebten französischen Kindergeschichte. Falls Sie Audiodateien in einer anderen Sprache haben, können Sie sie zu Cloud Storage hinzufügen und den Parameter languageCode
in Ihrer Anfrage ändern.
Sie haben gelernt, wie Sie Sprache-zu-Text-Transkriptionen mit der Speech API durchführen. In diesem Beispiel haben Sie die Google Cloud Storage-URI Ihrer Audiodatei an die API übergeben. Alternativ dazu können Sie den Audioinhalt als String mit Base64-Codierung übergeben.
Behandelte Themen
- Google Cloud Storage-URI einer Audiodatei an die Speech API übergeben
- Speech API-Anfrage erstellen und die API mit "curl" aufrufen
- Die Speech API mit Audiodateien in verschiedenen Sprachen aufrufen
Weitere Informationen
- Sehen Sie sich die Anleitungen zur Speech API in der Dokumentation an.
- Testen Sie die Vision API und die Natural Language API.