Lange Audioinhalte erstellen
In diesem Dokument wird beschrieben, wie Sie lange Audioinhalte synthetisieren. Long Audio Synthese synthetisiert bis zu 1 Million Byte asynchron auf die Eingabe. Weitere Informationen zu den grundlegenden Konzepten von Text-to-Speech finden Sie unter Grundlagen von Text-to-Speech.
Hinweis
Bevor Sie eine Anfrage an die Text-to-Speech API senden können, müssen Sie die folgenden Aktionen ausgeführt haben. Weitere Informationen finden Sie auf der Seite Vorbereitung.
- Text-to-Speech in einem GCP-Projekt aktivieren.
- Die Abrechnung muss für Text-to-Speech aktiviert sein.
- Achten Sie darauf, dass Sie im GCS-Ausgabe-Bucket die folgenden IAM-Rollen (Identity and Access Management) haben.
- Storage-Objekt-Ersteller
- Storage-Objekt-Betrachter
-
After installing the Google Cloud CLI, configure the gcloud CLI to use your federated identity and then initialize it by running the following command:
gcloud init
Lange Audioinhalte aus Text über die Befehlszeile synthetisieren
Sie können langformatigen Text in Audioinhalte umwandeln, wenn Sie eine HTTP-POST-Anfrage an den Endpunkt https://texttospeech.googleapis.com/v1beta1/projects/{$project_number}/locations/global:synthesizeLongAudio
senden.
Geben Sie im Text des POST-Befehls die folgenden Felder an:
• voice
: Die Art der zu synthetisierenden Stimme.
• input.text
: Der zu synthetisierende Text.
• audioConfig
: Der Audiotyp, der erstellt werden soll.
• output_gcs_uri
: Der Pfad der GCS-Ausgabedatei im Format „gs://bucket_name/file_name.wav“.
• parent
: Das übergeordnete Element unter der Form "projects/{YOUR PROJECTNUMBER}/locations/{YOUR PROJECT LOCATION}".
Die Eingabe kann bis zu 1 MB Zeichen enthalten. Die genaue Anzahl kann von verschiedenen Eingaben abweichen.
Erstellen Sie einen Google Cloud Storage-Bucket unter dem Projekt, das zum Ausführen der Synthese verwendet wird. Das zum Ausführen der Synthese verwendete Dienstkonto muss Lese-/Schreibzugriff auf den GCS-Ausgabe-Bucket haben.
Führen Sie unten in der Befehlszeile die REST-Anfrage aus, um mithilfe von Text-to-Speech Audioinhalte aus Text zu synthetisieren. Der Befehl ruft mit dem Befehl
gcloud auth application-default print-access-token
ein Autorisierungstoken für die Anfrage ab.Das Dienstkonto, mit dem der GET-Vorgang ausgeführt wird, muss die Rolle „Text-to-Speech Editor“ haben.
HTTP-Methode und URL:
POST https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global:synthesizeLongAudio
JSON-Text anfordern:
{ "parent": "projects/12345/locations/global", "audio_config":{ "audio_encoding":"LINEAR16" }, "input":{ "text":"hello" }, "voice":{ "language_code":"en-us", "name":"en-us-Standard-A" }, "output_gcs_uri": "gs://bucket_name/file_name.wav" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "23456", "metadata": { "@type": "type.googleapis.com/google.cloud.texttospeech.v1beta1.SynthesizeLongAudioMetadata", "progressPercentage": 0, "startTime": "2022-12-20T00:46:56.296191037Z", "lastUpdateTime": "2022-12-20T00:46:56.296191037Z" }, "done": false }
Die JSON-Ausgabe für den REST-Befehl enthält den Namen des Vorgangs mit langer Ausführungszeit im Feld
name
. Führen Sie die REST-Anfrage unten in der Befehlszeile aus, um den Status des Vorgangs mit langer Ausführungszeit abzufragen.Achten Sie darauf, dass das Dienstkonto, mit dem der GET-Vorgang ausgeführt wird, aus dem Projekt stammt, das für die Synthese verwendet wird.
HTTP-Methode und URL:
GET https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global/operations/23456
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/12345/locations/global/operations/23456", "metadata": { "@type": "type.googleapis.com/google.cloud.texttospeech.v1beta1.SynthesizeLongAudioMetadata", "progressPercentage": 100 }, "done": true }
Fragen Sie die Liste aller Vorgänge ab, die in einem bestimmten Projekt ausgeführt werden. Führen Sie dazu die REST-Anfrage unten aus.
Achten Sie darauf, dass das Dienstkonto, mit dem der LIST-Vorgang ausgeführt wird, aus dem Projekt stammt, das für die Synthese verwendet wird.
HTTP-Methode und URL:
GET https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global/operations
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "operations": [ { "name": "12345", "done": false }, { "name": "23456", "done": false } ], "nextPageToken": "" }
Wenn der Vorgang mit langer Ausführungszeit erfolgreich abgeschlossen wurde, suchen Sie im Feld
output_gcs_uri
des Ausgabe-URI die angegebene Audiodatei. Wenn der Vorgang nicht erfolgreich abgeschlossen wurde, können Sie den Fehler mit dem Befehl GET-REST ermitteln, den Fehler beheben und den RPC noch einmal ausführen.
Lange Audioinhalte aus Text mithilfe von Clientbibliotheken synthetisieren
Clientbibliothek installieren
Python
Bevor Sie die Bibliothek installieren, prüfen Sie, ob Sie Ihre Umgebung auf die Python-Entwicklung vorbereitet haben.
pip install --upgrade google-cloud-texttospeech
Audiodaten erstellen
Mit Text-to-Speech können Sie lange Audiodateien künstlicher menschlicher Sprache erstellen. Verwenden Sie den folgenden Code, um eine lange Audiodatei in Ihrem GCS-Bucket zu erstellen.
Python
Bevor Sie das Beispiel ausführen, prüfen Sie, ob Sie Ihre Umgebung auf die Python-Entwicklung vorbereitet haben.
Bereinigen
Löschen Sie das Projekt mit der Google Cloud Console, wenn Sie es nicht benötigen. Damit vermeiden Sie unnötige Kosten für die Google Cloud Platform.
Nächste Schritte
- Grundlagen der Cloud Text-to-Speech API
- Liste der für synthetische Sprache verfügbaren Stimmen