Skip to main content
Voice Localization est disponible uniquement via l’API. Écoutez chaque candidat avant de l’enregistrer comme voix permanente.
Choisissez une voix phare, un clone ou une voix conçue avec Voice Design, puis sélectionnez une langue et un accent cibles. Voice Localization génère des candidats que vous pouvez écouter puis enregistrer dans votre bibliothèque de voix.

Vous partez d'une description ?

Voice Design crée une nouvelle voix à partir d’un texte descriptif. La localisation modifie une voix que vous possédez déjà.

Vous partez d'un enregistrement ?

Clonez d’abord le locuteur, puis localisez le clone.

Fonctionnement

1. Choisir une source

Une voix phare, l’un de vos clones ou un candidat Voice Design.

2. Localiser

Choisissez une langue cible et un accent pour générer des candidats.

3. Écouter

Écoutez chaque candidat sur une phrase de synthèse vocale (TTS) dans la langue cible.

4. Convertir

Enregistrez un candidat comme voix permanente dans votre bibliothèque.
Chaque requête crée n_samples candidats sans modifier la source. Un candidat est une voix temporaire dotée d’un ID vox_emb_. Écoutez-le avec la synthèse vocale REST, puis utilisez POST /voices/from-embedding pour l’enregistrer comme voix permanente. Le champ uid de la réponse est le voice_id à utiliser avec REST, WebSocket et Speech-to-Speech. Les candidats non enregistrés expirent au bout de 30 jours. Pour ne changer que l’accent, conservez la langue source comme target_language et choisissez un autre accent. Par exemple, utilisez en et Australian pour une source en anglais britannique.

Accès

URL de base https://api.gradium.ai/api, clé API dans l’en-tête x-api-key.

Démarrage rapide

Cet exemple localise un clone français en anglais américain. Définissez GRADIUM_API_KEY et SOURCE dans votre environnement. SOURCE peut être une voix ou un candidat prêt qui vous appartient, ou l’ID d’une voix phare. Les exemples shell nécessitent jq ; les exemples Python nécessitent requests. Exécutez les étapes dans l’ordre, dans un seul langage.
1

Lister les accents

cURL
200 OK (abbreviated)
Lisez la liste depuis cet endpoint à l’exécution plutôt que de la recopier depuis cette documentation : elle va s’allonger. Vous pouvez la mettre en cache. Le premier accent de chaque langue est utilisé par défaut lorsqu’une requête omet accent. Orthographiez les accents tels qu’ils sont listés ; la correspondance ignore la casse et les espaces en début et en fin, mais « British », « Quebecois » ou « Québécois French » sont refusés.
2

Localiser la voix

201 Created
La requête est vérifiée avant toute mise en file d’attente : un accent invalide, une source inconnue ou une source impossible à localiser échoue dès cette étape avec 422, 404 ou 409, et rien n’est facturé.
3

Attendre les candidats

200 OK
Les candidats localisés sont généralement prêts en deux à huit secondes. Interrogez l’endpoint jusqu’à ce que ready vaille true avant de demander de l’audio. Un candidat inconnu renvoie une liste embeddings vide. L’exemple shell attend le premier candidat ; répétez l’opération pour chaque autre candidat que vous souhaitez écouter.kind vaut edit_language pour un candidat localisé (generate et enhance pour les autres). L’objet de configuration correspondant, ici edit_language_config, contient les paramètres de la requête, et language est la langue cible du candidat. Lisez les objets de configuration plutôt que le champ obsolète prompt.
4

Écouter un candidat

Passez l’ID du candidat comme voice_id sur l’endpoint de synthèse vocale, avec un texte dans la langue cible.
Comparez le candidat avec la source lisant le même texte. Les écoutes de candidats passent uniquement par REST et acceptent jusqu’à 300 caractères (400 input text too long au-delà). Un candidat pas encore prêt renvoie 404 Embedding not found ; un candidat inconnu ou supprimé renvoie 400.
Utilisez un texte dans la langue cible du candidat. Un texte dans une autre langue peut donner une mauvaise prononciation. Conservez une voix localisée par langue.
5

Convertir le candidat en voix

La conversion enregistre le candidat comme voix permanente dans votre bibliothèque. Utilisez le champ uid de la réponse comme voice_id pour les requêtes de synthèse suivantes.
201 Created
La voix enregistrée conserve la language cible et peut être localisée à nouveau. La conversion est gratuite, occupe un emplacement de voix personnalisée et supprime l’expiration du candidat. Enregistrez un candidat qui vous plaît : une nouvelle requête produit des résultats différents.

Exemple complet

Définissez GRADIUM_API_KEY et SOURCE, puis exécutez cet exemple pour générer des candidats et des fichiers audio de comparaison dans trois langues. Écoutez les fichiers avant de choisir les candidats à enregistrer. Chaque voix enregistrée occupe un emplacement de voix personnalisée.
voice_localization.py

Choisir un accent

GET /voice-generator/available-accents renvoie les accents disponibles, regroupés par langue, l’accent par défaut en premier. À l’heure où nous écrivons ces lignes, la liste couvre les cinq langues prises en charge avec deux à six accents chacune, y compris des variantes régionales comme le français québécois, l’espagnol mexicain ou l’allemand suisse. Lisez la liste depuis l’endpoint plutôt que de la coder en dur, et présentez-la à vos utilisateurs sous forme de sélecteur : les accents en texte libre ne sont pas acceptés. Les accents régionaux absents de la liste, comme « Bristolian » ou « Texan », relèvent de Voice Design, où ils se décrivent dans la description.

Genre

Utilisez gender pour indiquer male ou female. Si vous l’omettez :
  1. Une voix phare utilise son propre tag de genre.
  2. Un candidat reprend le genre avec lequel sa propre localisation a été faite.
  3. Sinon, aucun genre n’est spécifié. Les clones ont rarement un tag de genre, et les voix converties n’en ont pas : envoyez gender pour ces sources.
Vous pouvez demander un genre différent de celui de la source. Écoutez le résultat pour vérifier qu’il correspond toujours au locuteur souhaité.

Sources localisables

Évaluer les candidats

  • Comparez la source et le candidat lisant le même texte dans la langue cible. Soyez attentif à la prononciation, à l’accent et au fait de reconnaître encore le locuteur.
  • Pour comparer uniquement l’accent, conservez la langue source et choisissez explicitement l’accent cible. L’accent par défaut peut différer de celui de la source.
  • Comparez plusieurs candidats avant d’en enregistrer un. Répéter une requête ne reproduit pas un candidat précédent.
  • Utilisez un texte dans la langue cible du candidat. Conservez une voix localisée distincte pour chaque langue dont vous avez besoin.
  • Pour nettoyer une source bruitée plutôt que changer son accent, utilisez Voice Enhance.

Cycle de vie des candidats

Les candidats expirent au bout de 30 jours, sauf si vous les enregistrez comme voix permanentes avec POST /voices/from-embedding. L’enregistrement d’un candidat supprime son expiration et renvoie le uid de la voix permanente. Consultez l’étape de conversion pour la requête et la réponse. Pour supprimer un candidat avant son expiration, utilisez DELETE /voice-generator/embeddings/{embedding_id}. Une voix convertie possède sa propre copie. Les candidats localisés conservent aussi une copie de leur source : supprimer la source après l’acceptation de la requête n’annule donc pas la génération. Consultez le cycle de vie des candidats Voice Design pour le listage et le nettoyage.

Limites

Erreurs

Les erreurs ont la forme {"detail": "..."}, sauf 422, qui contient une liste d’erreurs par champ, dont les accents valides pour la langue demandée.

Étapes suivantes

Voice Design

Créez plutôt la voix source à partir d’une description.

Voix personnalisées

Clonez un locuteur, avec une langue, pour que le clone puisse être localisé.

Gérer les voix

Définissez la langue d’un ancien clone, listez et supprimez des voix.

Référence API

Tous les endpoints de localisation en détail.