> For the complete documentation index, see [llms.txt](https://docs.clore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clore.ai/guides/guides_v2-fr/audio-et-voix/chatterbox-tts.md).

# Clonage vocal Chatterbox

Exécutez Chatterbox TTS de Resemble AI pour le clonage vocal zero-shot et la synthèse vocale multilingue sur les GPU Clore.ai.

Chatterbox est une famille de modèles de synthèse vocale open source à la pointe de la technologie de [Resemble AI](https://resemble.ai). Il effectue un clonage vocal zero-shot à partir d'un court extrait de référence (\~10 secondes), prend en charge des balises paralinguistiques comme `[laugh]` et `[cough]`, et propose une variante multilingue couvrant plus de 23 langues. Trois variantes de modèle sont disponibles : Turbo (350M, faible latence), Original (500M, contrôles créatifs) et Multilingue (500M, plus de 23 langues).

{% hint style="info" %}
**Multilingual V3 est désormais le point de contrôle multilingue recommandé.** Même taille de 0,5 Md que la version précédente, avec une meilleure similarité du locuteur, moins d'hallucinations et une parole plus naturelle dans toutes les langues prises en charge. Tout ce qui suit s'applique sans changement — récupérez les poids actuels et vous obtenez V3.
{% endhint %}

**GitHub :** [resemble-ai/chatterbox](https://github.com/resemble-ai/chatterbox) **PyPI :** [chatterbox-tts](https://pypi.org/project/chatterbox-tts/) **Licence :** MIT

## Caractéristiques clés

* **Clonage vocal zéro-shot** — clonez n'importe quelle voix à partir d'environ 10 secondes d'audio de référence
* **Balises paralinguistiques** (Turbo) — `[laugh]`, `[cough]`, `[chuckle]`, `[sigh]` pour une parole réaliste
* **23+ langues** (Multilingue) — arabe, chinois, français, allemand, japonais, coréen, russe, espagnol, et plus encore
* **Réglage du CFG et de l'exagération** (Original) — contrôle créatif de l'expressivité
* **Trois tailles de modèle** — Turbo (350M), Original (500M), Multilingue (500M)
* **licence MIT** — entièrement ouvert pour un usage commercial

## Exigences

| Composant | Minimum        | Recommandé          |
| --------- | -------------- | ------------------- |
| GPU       | RTX 3060 12 GB | RTX 3090 / RTX 4090 |
| VRAM      | 6 Go           | 10 GB+              |
| RAM       | 8 Go           | 16 Go               |
| Disque    | 5 Go           | 15 Go               |
| Python    | 3.10+          | 3.11                |
| CUDA      | 12.8+          | 12.8+               |

**Recommandation de Clore.ai :** RTX 3090 ($0.07–0.21/hr) pour une marge confortable en VRAM. La RTX 3060 fonctionne pour le modèle Turbo. Pour le modèle Multilingue avec de longs textes, envisagez une RTX 4090 ($0.14–0.42/hr).

## Installation

```bash
# Installer depuis PyPI
pip install chatterbox-tts

# Ou installer à partir des sources
git clone https://github.com/resemble-ai/chatterbox.git
cd chatterbox
pip install -e .

# Vérifier
python -c "from chatterbox.tts import ChatterboxTTS; print('Chatterbox prêt')"
```

## Démarrage rapide

### Modèle Turbo (latence la plus faible)

```python
import torchaudio as ta
from chatterbox.tts_turbo import ChatterboxTurboTTS

model = ChatterboxTurboTTS.from_pretrained(device="cuda")

# Synthèse vocale de base avec balises paralinguistiques
text = "Salut, bon retour ! [chuckle] J'ai d'excellentes nouvelles pour toi aujourd'hui."

# Clonage vocal — fournissez un extrait de référence de plus de 10 secondes
wav = model.generate(text, audio_prompt_path="reference_voice.wav")

ta.save("output_turbo.wav", wav, model.sr)
print(f"Enregistré à {model.sr} Hz")
```

### Modèle Original (anglais, contrôles créatifs)

```python
import torchaudio as ta
from chatterbox.tts import ChatterboxTTS

model = ChatterboxTTS.from_pretrained(device="cuda")

text = "Le vif renard brun saute par-dessus le chien paresseux. C'était un beau matin."

# Générer sans clonage vocal (utilise la voix par défaut)
wav = model.generate(text)
ta.save("output_default.wav", wav, model.sr)

# Générer avec clonage vocal
wav = model.generate(text, audio_prompt_path="my_voice_sample.wav")
ta.save("output_cloned.wav", wav, model.sr)
```

## Exemples d'utilisation

### Clonage vocal multilingue

```python
import torchaudio as ta
from chatterbox.mtl_tts import ChatterboxMultilingualTTS

model = ChatterboxMultilingualTTS.from_pretrained(device="cuda")

# Français
french_text = "Bonjour, comment allez-vous ? Bienvenue dans notre démonstration."
wav_fr = model.generate(french_text, language_id="fr")
ta.save("output_french.wav", wav_fr, model.sr)

# Japonais
japanese_text = "こんにちは、テキスト読み上げのデモンストレーションです。"
wav_ja = model.generate(japanese_text, language_id="ja")
ta.save("output_japanese.wav", wav_ja, model.sr)

# Russe avec clonage vocal
russian_text = "Привет! Это демонстрация синтеза речи на русском языке."
wav_ru = model.generate(
    russian_text,
    language_id="ru",
    audio_prompt_path="russian_speaker.wav"
)
ta.save("output_russian.wav", wav_ru, model.sr)

print("Génération multilingue terminée")
```

### Balises paralinguistiques (Turbo)

```python
import torchaudio as ta
from chatterbox.tts_turbo import ChatterboxTurboTTS

model = ChatterboxTurboTTS.from_pretrained(device="cuda")

samples = [
    ("greeting", "Salut ! [laugh] Ça fait tellement plaisir de te revoir."),
    ("nervous", "Euh, eh bien [cough] je ne suis pas vraiment sûr de cela."),
    ("excited", "Oh là là ! [chuckle] C'est une nouvelle absolument incroyable !"),
]

for name, text in samples:
    wav = model.generate(text, audio_prompt_path="speaker_ref.wav")
    ta.save(f"para_{name}.wav", wav, model.sr)
    print(f"Generated: {name}")
```

### Script de traitement par lots

```python
import torchaudio as ta
from chatterbox.tts import ChatterboxTTS
import os

model = ChatterboxTTS.from_pretrained(device="cuda")

# Traiter une liste de lignes (par ex. pour des chapitres de livre audio)
lines = [
    "Chapitre un. L'aventure commence.",
    "C'était une nuit sombre et orageuse.",
    "Le héros se tenait au carrefour, incertain du chemin à prendre.",
]

os.makedirs("output_batch", exist_ok=True)

for i, line in enumerate(lines):
    wav = model.generate(line, audio_prompt_path="narrator_voice.wav")
    ta.save(f"output_batch/line_{i:03d}.wav", wav, model.sr)
    print(f"[{i+1}/{len(lines)}] {line[:40]}...")

print("Traitement par lots terminé")
```

## Conseils pour les utilisateurs de Clore.ai

* **Choix du modèle** — utilisez Turbo pour les agents vocaux à faible latence, Original pour le travail créatif en anglais, Multilingue pour le contenu non anglophone
* **Qualité de l'audio de référence** — utilisez un extrait propre, sans bruit, de 10 à 30 secondes pour obtenir les meilleurs résultats de clonage vocal
* **Configuration Docker** — image de base `pytorch/pytorch:2.11.0-cuda12.8-cudnn9-runtime`, exposez le port `7860/http` pour Gradio
* **Gestion de la mémoire** — appelez `torch.cuda.empty_cache()` entre de grands lots pour libérer la VRAM
* **Langues prises en charge** — ar, da, de, el, en, es, fi, fr, he, hi, it, ja, ko, ms, nl, no, pl, pt, ru, sv, sw, tr, zh
* **Espace HuggingFace** — essayez avant de louer sur [huggingface.co/spaces/ResembleAI/Chatterbox](https://huggingface.co/spaces/ResembleAI/Chatterbox)

## Dépannage

| Problème                         | Solution                                                                                                                 |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| `Mémoire CUDA insuffisante`      | Utilisez Turbo (350M) au lieu d'Original/Multilingual (500M), ou louez un GPU plus puissant                              |
| La voix clonée ne correspond pas | Utilisez un extrait de référence plus long (15–30 s), plus propre, avec un bruit de fond minimal                         |
| `numpy` conflit de version       | Exécutez `pip install numpy==1.26.4 --force-reinstall`                                                                   |
| Téléchargement du modèle lent    | Les modèles sont récupérés depuis HuggingFace au premier lancement (\~2 Go) ; pré-téléchargez-les avec `huggingface-cli` |
| L'audio présente des artefacts   | Réduisez la longueur du texte par génération ; les textes très longs peuvent dégrader la qualité                         |
| `ModuleNotFoundError`            | Assurez-vous que `pip install chatterbox-tts` terminé sans erreurs ; vérifiez la compatibilité avec Python 3.11          |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-fr/audio-et-voix/chatterbox-tts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
