Je clone la voix de Cartman avec Python, PyTorch et TTS

Je clone la voix de Cartman avec Python, PyTorch et TTS
Alexandre P. dans Dev - mis à jour le 17-05-2026

On va apprendre à utiliser Text-To-Speech en Python pour cloner une voix. Ceci est un exemple avec les samples et le résultat pour que vous puissiez voir à quel point les outils IA d'aujourd'hui sont puissants.

Dans ce tuto, nous allons découvrir comment cloner une voix avec Python en utilisant la bibliothèque Text-To-Speech ou encore TTS, basée sur PyTorch.

N'hésitez pas à jeter un oeil au repository

L'objectif est de prendre un fichier audio de la voix de Cartman (de South Park) comme modèle, puis de lui faire dire ce que nous voulons. Le tout, bien sûr, en respectant l'humour et la voix unique de ce personnage emblématique.

Prérequis

Il va falloir utiliser le langage Python. En sachant que Python est le langage pour lequel il y a le plus de librairie IA aujourd'hui.

Assurez-vous que PyTorch et TTS sont installés dans votre environnement Python. Vous pouvez les installer avec les commandes suivantes :

pip install torch
pip install TTS

Préparez un fichier audio

Il vous faut un extrait audio clair de la voix de Cartman, que je vais vous fournir pour l'exemple.

sample voix de cartman - password: dev-freelance

Enregistrez ce fichier dans un répertoire local, par exemple :

./input/cartman.wav

Je vais vous le fournir

Notre code source

Tout ne tiendra qu'en peu de lignes:

import torch
from TTS.api import TTS

device = "cuda" if torch.cuda.is_available() else "cpu"

print(TTS().list_models())

tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2").to(device)

text_sample = "Je tiens à vous dire que je vous emmerde et je rentre à ma maison."

input_wav = "./input/cartman.wav"

wav = tts.tts(text=text_sample, speaker_wav=input_wav, language="fr")

tts.tts_to_file(text=text_sample, speaker_wav=input_wav, language="fr", file_path="cm-maison.wav")

On exécute ça avec:

python3 sample.py

Et voici le résultat:

Enjoy 🥳.

Je trouve que le résultat est vraiment pas mal, en sachant qu'on peut encore faire mieux en réessayant plusieurs fois, ou en améliorant le sample en input.

FAQ

Faut-il obligatoirement une carte graphique pour que ça fonctionne ?

Non, le code détecte automatiquement si un GPU est disponible et bascule sur le CPU sinon. Les performances seront simplement moins rapides sans GPU.

Quelle doit être la durée ou la qualité du fichier audio fourni en entrée ?

Plus le sample est court et clair, plus la synthèse sera propre. Un extrait sans bruit de fond et avec une voix bien distincte donnera de meilleurs résultats, et relancer la génération plusieurs fois peut aussi améliorer le rendu.

Ce modèle fonctionne-t-il uniquement en français ?

Non, le modèle xtts_v2 est multilingue. Il suffit de changer le paramètre language dans l'appel à tts pour générer de la parole dans une autre langue.

Peut-on cloner n'importe quelle voix ou seulement celle de Cartman ?

La technique fonctionne avec n'importe quel fichier WAV contenant une voix claire. Cartman n'est ici qu'un exemple illustratif, tu peux remplacer le fichier d'entrée par l'enregistrement de ton choix.

Le fichier audio généré est-il directement utilisable ou faut-il le retravailler ?

Le fichier WAV produit est utilisable immédiatement. Pour un rendu encore plus convaincant, on peut itérer en changeant le texte ou en améliorant la qualité du sample d'entrée.

#ia#python#tts#pytorch

user picture

Alexandre P.

Développeur passionné depuis plus de 20 ans, j'ai une appétence particulière pour les défis techniques et changer de technologie ne me fait pas froid aux yeux.