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 Google Cloud -Projekt aktivieren.
- Die Abrechnung muss für Text-to-Speech aktiviert sein.
- Sie benötigen die folgenden IAM-Rollen (Identity and Access Management) für den Ausgabebucket Google Cloud .
- Storage Object Creator
- Storage-Objekt-Betrachter
-
Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an. Nach der Anmeldung initialisieren Sie die Google Cloud CLI mit folgendem Befehl:
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
: Der Typ der zu synthetisierenden Stimme.
• input.text
: Der zu synthetisierende Text.
• audioConfig
: Der Typ der zu erstellenden Audioinhalte.
• output_gcs_uri
: Der Google Cloud Ausgabepfad im Format „gs://bucket_name/file_name.wav“.
• parent
: Das übergeordnete Element im Format „projects/{YOUR_PROJECT_NUMBER}/locations/{YOUR_PROJECT_LOCATION}“.
Die Eingabe kann bis zu 1 MB Zeichen enthalten. Die genaue Anzahl kann von verschiedenen Eingaben abweichen.
Erstellen Sie unter dem Projekt, das zum Ausführen der Synthese verwendet wird, einen Google Cloud Storage-Bucket. Das zum Ausführen der Synthese verwendete Dienstkonto muss Lese- und Schreibzugriff auf den Google Cloud -Ausgabe-Bucket haben.
Führen Sie die REST-Anfrage in der Befehlszeile 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.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 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 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.
Langformatige Audioinhalte aus Text mithilfe von Clientbibliotheken synthetisieren
Folgen Sie dieser Anleitung, um lange Audioinhalte zu 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 Google Cloud -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 mitGoogle Cloud console , wenn Sie es nicht benötigen, um unnötige Google Cloud Kosten zu vermeiden.
Nächste Schritte
- Grundlagen der Cloud Text-to-Speech API
- Liste der für synthetische Sprache verfügbaren Stimmen