Clonage de la voix
Le clonage de la voix génère de la parole avec la voix de l'enregistrement que vous fournissez, sans entraînement. Clonez une voix pour une requête unique, ou enregistrez-la dans votre espace de travail et réutilisez-la via son ID.
Pour comparer une voix clonée et une voix prédéfinie, et savoir ce qu'elle conserve de son enregistrement, voir Voix dans Concepts.
Préparer un extrait de référence
L’extrait de référence est l’enregistrement de la voix à cloner. Vérifiez-le avant de l’envoyer :
- Format : un fichier MP3 ou WAV.
- Encodage : l'audio lui-même, encodé en base64. Une URL n'est pas acceptée.
- Contenu :
Clonage zero-shot
Le clonage zero-shot reproduit une voix à partir d’un court enregistrement, sans entraînement. Utilisez l’enregistrement pour une seule requête, ou enregistrez-le comme voix dans votre espace de travail pour le réutiliser à l’aide de son identifiant.
Cloner une voix pour une seule requête
Transmettez l’enregistrement, encodé en base64, dans ref_audio. La voix n’est pas enregistrée.
import base64
import os
from pathlib import Path
from mistralai.client import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
reference = Path("voice_sample.mp3")
response = client.audio.speech.complete(
model="voxtral-mini-tts-3-0",
input="Your order shipped this morning and should arrive on Thursday.",
ref_audio=base64.b64encode(reference.read_bytes()).decode(),
response_format="wav",
)
output = Path("cloned_one_off.wav")
output.write_bytes(base64.b64decode(response.audio_data))
print(f"Saved {output.resolve()}")Enregistrer une voix clonée
Créez une voix à partir de l'enregistrement, puis transmettez son ID dans voice_id. Les voix enregistrées comportent un champ retention_notice (30 jours par défaut, 1 jour minimum, 365 jours maximum). Définissez-le lors de la création ou de la mise à jour d’une voix via l’API. Les voix créées depuis l’interface d’AI Studio sont conservées 30 jours par défaut.
import base64
import os
from pathlib import Path
from mistralai.client import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
sample = Path("voice_sample.mp3")
voice = client.audio.voices.create(
name="Support agent",
sample_audio=base64.b64encode(sample.read_bytes()).decode(),
sample_filename=sample.name,
languages=["en"],
)
print(f"Created voice {voice.id}")
response = client.audio.speech.complete(
model="voxtral-mini-tts-3-0",
input="Your order shipped this morning and should arrive on Thursday.",
voice_id=voice.id,
response_format="wav",
)
output = Path("cloned_saved_voice.wav")
output.write_bytes(base64.b64decode(response.audio_data))
print(f"Saved {output.resolve()}")Les exemples lisent l'enregistrement à partir du fichier voice_sample.mp3 dans le répertoire de travail.
Pour lister, renommer ou supprimer une voix enregistrée, voir Gérer les voix.
Utiliser une voix clonée dans d'autres langues
Une voix clonée n'est pas limitée à la langue de son enregistrement. Pour connaître les langues prises en charge, voir Langues.
Clonage de voix professionnel
Pour obtenir les meilleurs résultats avec le clonage de voix professionnel, nous recommandons de fournir entre 30 minutes et 3 heures d’audio propre et de haute qualité, avec un seul locuteur. Enregistrez dans une pièce calme, avec peu d’écho, en gardant le même micro, la même distance et la même configuration du début à la fin : la régularité compte plus que la durée. Parlez naturellement, dans le style que la voix doit reproduire et, selon votre application, variez les émotions et les expressions : un ton uniformément neutre peut donner à la voix clonée un rendu robotique. Évitez le bruit de fond, la musique, les longues pauses et les traitements audio importants, comme la réduction de bruit ou les effets.