Créer des contenus audio de longue durée
Ce document vous explique en détail comment synthétiser des contenus audio de longue durée. Les synthèses audio longues synthétisent de manière asynchrone jusqu'à un million d'octets en entrée. Pour en savoir plus sur les concepts fondamentaux de Text-to-Speech, consultez la page Concepts fondamentaux de Text-to-Speech.
Avant de commencer
Avant de pouvoir envoyer une requête à l'API Text-to-Speech, vous devez avoir effectué les actions suivantes. Pour en savoir plus, consultez la page Avant de commencer.
- Activez Text-to-Speech sur un projet GCP.
- Vérifiez que la facturation est activée pour Text-to-Speech.
- Assurez-vous que les rôles IAM (Identity and Access Management) suivants sont définis sur le bucket GCS de sortie.
- Créateur d'objets Storage
- Lecteur des objets Storage
-
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
Synthétiser des contenus audio de longue durée à partir de texte avec la ligne de commande
Vous pouvez convertir du texte long en contenu audio en envoyant une requête HTTP POST au point de terminaison https://texttospeech.googleapis.com/v1beta1/projects/{$project_number}/locations/global:synthesizeLongAudio
.
Dans le corps de votre commande POST, spécifiez les champs suivants.
• voice
: type de voix à synthétiser
• input.text
: texte à synthétiser
• audioConfig
: type de contenu audio à créer
• output_gcs_uri
: chemin d'accès au fichier de sortie GCS sous la forme "gs://nom_bucket/nom_fichier.wav"
• parent
: parent, sous la forme "projects/{NUMBER PROJECT NUMBER//locations/{YOUR PROJECT LOCATION}"
L'entrée peut contenir jusqu'à 1 Mo de caractères, la limite exacte pouvant varier.
Créez un bucket Google Cloud Storage sous le projet utilisé pour exécuter la synthèse. Assurez-vous que le compte de service utilisé pour exécuter la synthèse dispose d'un accès en lecture/écriture au bucket GCS de sortie.
Exécutez la requête REST ci-dessous sur la ligne de commande pour synthétiser des contenus audio à partir d'un texte à l'aide de Text-to-Speech. La commande récupère un jeton d'autorisation pour la requête à l'aide de
gcloud auth application-default print-access-token
.Assurez-vous que le compte de service qui exécute l'opération GET dispose du rôle Éditeur Text-to-Speech.
Méthode HTTP et URL :
POST https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global:synthesizeLongAudio
Corps JSON de la requête :
{ "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" }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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 }
Le résultat JSON de la commande REST contient le nom de l'opération de longue durée dans le champ
name
. Exécutez la requête REST ci-dessous dans la ligne de commande pour interroger l'état de l'opération de longue durée.Assurez-vous que le compte de service qui exécute l'opération GET provient du même projet que celui utilisé pour la synthèse.
Méthode HTTP et URL :
GET https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global/operations/23456
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/12345/locations/global/operations/23456", "metadata": { "@type": "type.googleapis.com/google.cloud.texttospeech.v1beta1.SynthesizeLongAudioMetadata", "progressPercentage": 100 }, "done": true }
Interrogez la liste de toutes les opérations exécutées dans un projet donné, puis exécutez la requête REST ci-dessous.
Assurez-vous que le compte de service qui exécute l'opération LIST provient du même projet que celui utilisé pour la synthèse.
Méthode HTTP et URL :
GET https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global/operations
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "operations": [ { "name": "12345", "done": false }, { "name": "23456", "done": false } ], "nextPageToken": "" }
Une fois l'opération de longue durée terminée, recherchez le fichier audio de sortie dans l'URI de bucket donné dans le champ
output_gcs_uri
. Si l'opération n'a pas abouti, recherchez l'erreur en exécutant la requête à l'aide de la commande REST GET, corrigez l'erreur et émettez à nouveau le RPC.
Synthétiser des contenus audio longs à partir de texte à l'aide de bibliothèques clientes
Installer la bibliothèque cliente
Python
Avant d'installer la bibliothèque, assurez-vous d'avoir préparé votre environnement pour le développement Python.
pip install --upgrade google-cloud-texttospeech
Créer des données audio
Vous pouvez utiliser Text-to-Speech pour créer un long fichier audio de voix humaine synthétique. Utilisez le code suivant pour créer un fichier audio long dans votre bucket GCS.
Python
Avant d'exécuter l'exemple, assurez-vous d'avoir préparé l'environnement pour le développement Python.
Effectuer un nettoyage
Pour éviter d'encourir des frais inutiles liés à Google Cloud Platform, supprimez votre projet à l'aide de Google Cloud Console si vous n'en avez plus besoin.
Étape suivante
- Pour en savoir plus sur Cloud Text-to-Speech, consultez la page Concepts de base.
- Passez en revue la liste des voix disponibles que vous pouvez utiliser pour la voix synthétique.