Que fait clone-voice ?
🎙️ Compétence Agent — Clonage vocal zero-shot hors ligne avec Qwen3-TTS 0.6B. Déposez un audio de référence + texte, obtenez une voix clonée. CPU/MPS/CUDA, 10 langues.
Prérequis
- Python >= 3.10,
pip - FFmpeg installé (pour la conversion audio)
- Modèle Qwen3-TTS (téléchargé automatiquement au premier lancement)
Installation
pip install qwen-tts soundfile librosa
Vérifiez que ffmpeg est disponible :
ffmpeg -version
Utilisation
L'agent doit appeler la fonction de clonage vocal suivante. Elle est conçue pour être invoquée depuis un agent :
def clone_voice(ref_audio_path: str, text: str, output_path: str = "output.wav", language: str = "auto") -> str:
"""
Clone une voix à partir d'un échantillon audio de référence et d'un texte.
Args:
ref_audio_path : chemin vers le fichier audio de référence (phrase courte, voix claire)
text : texte à prononcer dans la voix clonée
output_path : chemin de sortie du fichier audio généré (par défaut output.wav)
language : code de langue ("auto", "zh", "en", "ja", "ko", "fr", "de", "ru", "es", "it", "pt")
Returns:
Le chemin absolu du fichier audio généré.
"""
import soundfile as sf
from qwen_tts import QwenTTS
import os
tts = QwenTTS(model_size="0.6B") # Télécharge automatiquement le modèle
audio = tts.clone(text, ref_audio_path, language=language)
sf.write(output_path, audio, samplerate=24000)
return os.path.abspath(output_path)
Langues supportées
| Code | Langue |
|---|---|
| zh | Chinois |
| en | Anglais |
| ja | Japonais |
| ko | Coréen |
| fr | Français |
| de | Allemand |
| ru | Russe |
| es | Espagnol |
| it | Italien |
| pt | Portugais |
Exemple d'appel par un agent
Claude Code / Cursor / Codex / Aider / OpenHands
L'agent reçoit un fichier audio de référence (
ref_sample.wav) et un texte ("Bonjour, bienvenue dans notre application."). Il exécute la fonctionclone_voicepour générer une voix clonée naturelle, puis retourne le fichier audio résultant.
Remarques
- L'audio de référence doit être court (une seule phrase) et clair (pas de bruit de fond).
- Le modèle tourne entièrement en local : aucune donnée n'est envoyée à un serveur.
- Compatible CPU, MPS (Apple Silicon) et CUDA (NVIDIA).
- Utilisation conseillée d'un GPU ou MPS pour des inférences plus rapides.
Dépannage
- Erreur "No module named 'qwen_tts'" : installez le package avec
pip install qwen-tts. - Erreur FFmpeg : installez FFmpeg via votre gestionnaire de paquets.
- Mémoire insuffisante : fermez d'autres applications ou utilisez
--cpusi vous êtes sur GPU.