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 de longue durée 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 de base 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 Google Cloud .
- 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 Google Cloud de sortie.
- Créateur d'objets Storage
- Lecteur des objets Storage
-
Installez la Google Cloud CLI, puis connectez-vous-y avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud init
Synthétiser des contenus audio longs à partir de texte à l'aide de 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 à la sortie Google Cloud sous la forme "gs://nom_bucket/nom_fichier.wav".
• parent
: parent, sous la forme "projects/{YOUR_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 de stockage Google Cloud 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 et en écriture au bucket Google Cloud de sortie.
Exécutez la requête REST sur la ligne de commande pour synthétiser le contenu audio à partir du 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
.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 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.
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
Suivez ces instructions pour synthétiser des contenus audio de longue durée.
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 de longue durée dans votre bucket Google Cloud .
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 des frais Google Cloud inutiles, supprimez votre projet à l'aide deGoogle Cloud console si vous n'en avez plus besoin.
Étapes suivantes
- 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.