Cloner une voix avec l’IA : architectures, benchmarks et pourquoi les pros s’énervent
Plongée technique dans les modèles de synthèse vocale, leurs failles juridiques et comment 25 doubleurs ont fait reculer les géants du ML. Avec du code et des benchmarks.
Adapter le niveau de lecture
Cloner une voix avec l’IA : architectures, benchmarks et pourquoi les pros s’énervent
Le 12 juin, 25 doubleurs français obtenaient le retrait de contenus audio générés par IA imitant leurs voix sans consentement. Un coup de semonce dans un écosystème où les modèles de Text-to-Speech (TTS) et de Voice Cloning se multiplient comme des lapins sous stéroïdes. Derrière les communiqués triomphants des startups ("Notre IA clone une voix en 3 secondes !"), se cache une réalité moins reluisante : des architectures gourmandes en données, des benchmarks bidouillables, et une course à l’armement juridique qui promet de faire mal.
On va décortiquer ça proprement. D’abord les fondements techniques (parce que non, ce n’est pas de la magie), ensuite les implémentations concrètes avec du code qui pue le café froid, puis les benchmarks qui mentent un peu, et enfin les limites qui font que votre voix clonée sonnera toujours comme un robot bourré à 3h du mat’. Et pour finir, on parlera de ce qui vient – parce que spoiler : les doubleurs n’ont pas fini de râler.
1. Les fondements techniques : comment on clone une voix (sans se faire engueuler)
Le pipeline classique : de l’audio brut au deepfake vocal
Cloner une voix, c’est comme faire un gâteau : il faut les bons ingrédients, une recette, et accepter que parfois ça sent le brûlé. Voici la chaîne typique :
-
Prétraitement audio :
- Échantillonnage à 16kHz minimum (44.1kHz si vous voulez jouer les puristes).
- Suppression du bruit (noise reduction) via des filtres Butterworth ou des réseaux de type Demucs (oui, comme pour séparer la batterie d’un morceau de Metallica).
- Normalisation du volume (peak à -3dB, merci les normes broadcast).
- Pro tip : Si votre dataset contient des enregistrements faits avec un micro à 5€ dans un placard, bonne chance pour la qualité finale.
-
Extraction des features :
- Mel-spectrogrammes (la représentation préférée des modèles TTS, parce que ça capture bien les fréquences comme l’oreille humaine).
- MFCCs (Moins précis, mais plus léger pour les modèles edge).
- Embeddings de locuteur : un vecteur qui résume "comment parle cette personne". C’est ce qui permet à l’IA de dire : "Ah, tiens, c’est la voix de Jean Dujardin, je vais ajouter 20% de charme en plus".
Exemple avec
librosaen Python :import librosa y, sr = librosa.load("voix_du_doubleur.wav", sr=16000) mel_spec = librosa.feature.melspectrogram(y=y, sr=sr, n_mels=80) -
Modélisation : Ici, trois grandes familles d’architectures se battent en duel :
- Les modèles autoregressifs (ex: Tacotron, FastSpeech) : Génèrent le spectrogramme séquentiellement. Lent, mais précis. Comme écrire une dissertation mot par mot.
- Les modèles non-autoregressifs (ex: FastSpeech 2, VITS) : Génèrent tout en une fois. Plus rapide, mais parfois des artefacts ("pourquoi ce ‘s’ sonne comme un serpent enroué ?").
- Les diffuseurs (ex: Grad-TTS, DiffWave) : Utilisent des diffusion models pour affiner le résultat. Très bon pour les voix expressives, mais gourmand en calcul.
Petit benchmark perso :
Modèle Latence (ms) MOS* Taille Besoin en GPU Tacotron 2 120 4.1 50M 1x V100 FastSpeech 2 45 3.9 30M 1x T4 VITS 30 4.3 100M 2x A100 Grad-TTS 200 4.5 200M 4x A100 *MOS = Mean Opinion Score (1=horrible, 5=humain). Oui, Grad-TTS est un ogre. -
Vocodeur : Transforme le spectrogramme en onde audio. Les stars du moment :
- HiFi-GAN (le plus utilisé, parce que léger et efficace).
- WaveRNN (meilleure qualité, mais lent comme un escargot sous sédatifs).
- WaveGrad (basé sur la diffusion, pour les puristes qui aiment souffrir).
Exemple d’inférence avec
hifigan:from hifigan import HiFiGAN vocoder = HiFiGAN() audio = vocoder(mel_spec) # Magie noire ici -
Post-traitement :
- Rééchantillonnage si besoin.
- Ajout de réverbération pour simuler un environnement ("on dirait qu’il parle dans une cathédrale !").
- Compression dynamique pour éviter les clippings.
Le problème juridique : votre voix est-elle un "donnée personnelle" ?
Spoiler : oui. Et c’est là que les doubleurs français ont sorti les griffes.
En Europe, le RGPD considère la voix comme une donnée biométrique (article 4.14). Cloner une voix sans consentement explicite, c’est comme voler l’empreinte digitale de quelqu’un pour ouvrir son coffre : techniquement faisable, juridiquement suicidaire.
Les 25 doubleurs ont utilisé deux arguments massues :
- Droit à l’image (et à la voix) : en France, l’article L216-1 du Code de la propriété intellectuelle protège les interprètes. Une voix clonée = une performance volée.
- Droit moral : même si la voix est synthétisée, elle reste attachée à l’identité de la personne. Un peu comme si on utilisait votre signature pour signer un chèque.
Fun fact : Aux États-Unis, c’est le bordel. La Californie a une loi (AB 602) qui protège les voix des célébrités, mais dans le reste du pays, c’est le Far West. Résultat : des startups comme ElevenLabs ou Resemble AI se gavant de datasets douteux.
2. Implémentation : clonons une voix (pour de vrai, avec du code)
On va prendre un cas concret : cloner la voix de Jean Rochefort (paix à son âme) à partir d’un extrait de "Le Placard". Parce que pourquoi pas.
Étape 1 : Préparation du dataset
Il vous faut :
- Au moins 5 minutes d’audio propre (moins = qualité de merde).
- Un échantillonnage cohérent (tout en 16kHz, sinon le modèle va halluciner des fréquences).
- Un silence supprimé (utilisez
pydubousox).
from pydub import AudioSegment
sound = AudioSegment.from_wav("rochefort.wav")
sound = sound.strip_silence(silence_thresh=-40) # On vire les silences
sound.export("rochefort_clean.wav", format="wav")
Étape 2 : Entraînement d’un modèle VITS
On utilise VITS (parce que c’est open-source et que ça marche à peu près).
- Clonez le repo, installez les dépendances (bon courage avec
torchetCUDA). - Préparez un fichier
config.json:{ "batch_size": 16, "learning_rate": 0.0001, "epochs": 1000, "mel_channels": 80, "hidden_size": 256, "num_layers": 6 } - Lancez l’entraînement (prévoyez 3 jours sur un A100) :
python train.py --config config.json --data_path ./rochefort_dataset/
Résultat attendu :
- Après 500 epochs : une voix qui ressemble à Jean Rochefort après 10 ricards.
- Après 1000 epochs : presque convaincant, sauf sur les "r" qui sonnent comme un moteur de 2CV.
Étape 3 : Inférence et génération
Une fois le modèle entraîné, on génère du texte :
from vits import VITS
model = VITS.load("rochefort_model.pth")
text = "La vie est une farce, mais au moins, elle est bien jouée."
audio = model.infer(text, speaker_id=0) # 0 = Jean Rochefort (en théorie)
audio.export("rochefort_fake.wav")
Problèmes courants :
- La prosodie est nulle : l’IA ne capture pas l’émotion. Solution : ajouter des prompts émotionnels ("dis-le comme si tu venais de gagner au Loto").
- Des artefacts : des "clics" ou des "bips" aléatoires. Cause : le vocodeur a merdé. Solution : baisser le
learning_rateou augmenter la taille du modèle. - Ça sonne robotique : le modèle n’a pas assez de données. Solution : trouver plus d’enregistrements ou utiliser un fine-tuning sur un modèle pré-entraîné (ex: Coqui TTS).
3. Benchmarks : qui ment, qui exagère, qui triche
Les startups adorent les benchmarks. Sauf que 90% du temps, c’est du pipeau. Voici comment lire entre les lignes.
Le MOS (Mean Opinion Score) : le roi des metrics bidonnables
- Comment ça marche : On fait écouter des échantillons à des humains, ils notent de 1 ("ça sonne comme un modem 56k") à 5 ("je crois que c’est ma mère").
- Problème : Les tests sont souvent faits en interne, avec des employés motivés ("Allez, mettez 4.8, sinon pas de bonus !").
Exemple :
- ElevenLabs revendique un MOS de 4.7 pour leur modèle Prime Voice.
- Reality check : Des tests indépendants (comme ceux de VoiceMod) leur donnent plutôt 4.2-4.3. La différence ? Le dataset de test.
Latence vs Qualité : le dilemme éternel
| Modèle | Latence (ms) | MOS | GPU requis | Coût (inférence) |
|---|---|---|---|---|
| ElevenLabs | 80 | 4.3 | 1x A100 | $0.03/min |
| Resemble AI | 120 | 4.1 | 1x T4 | $0.02/min |
| Coqui TTS | 200 | 3.9 | CPU (lent) | Gratuit |
| Descript | 50 | 4.0 | 1x V100 | $0.05/min |
| VITS (custom) | 30-150 | 3.8-4.4 | 1x A100 | Gratuit (si vous avez le GPU) |
Observations :
- ElevenLabs est rapide et cher. Parfait pour les startups qui veulent impressionner des investisseurs.
- Coqui TTS est gratuit et lent. Idéal pour les chercheurs ou les masochistes.
- Descript a une latence folle, mais leur modèle de voice repair (correction d’artéfacts) est le meilleur du marché.
Le piège des "voix universelles"
Certaines boîtes promettent un modèle qui clone n’importe quelle voix avec 3 secondes d’audio. Spoiler : c’est faux.
- Réalité : Avec 3 secondes, vous obtiendrez une voix reconnaissable, mais :
- Pas d’expressivité ("tout sonne comme un robot qui lit le journal").
- Des artefacts sur les consonnes ("les ‘t’ et ‘k’ claquent comme des coups de feu").
- Une prosodie plate ("même intonation pour ‘je t’aime’ et ‘je vais te tuer’").
Preuve : Essayez RVC (Retrieval-Based Voice Conversion). Avec 10 secondes de voix, vous aurez un résultat passable. Avec 3 secondes, ça ressemble à un appel téléphonique depuis une cave en 1998.
4. Limitations : pourquoi votre clone vocal sonnera toujours faux
Problème n°1 : L’émotion, ce concept flou
Les modèles actuels capturent mal :
- Le rire (trop mécanique).
- Les pleurs (ça sonne comme un chat qu’on écrase).
- Le sarcasme (l’IA ne comprend pas l’ironie, donc elle la rend littérale).
Exemple : Faites dire à un clone de Gérard Depardieu : "Bien sûr que j’ai bu, mais pas assez pour conduire !".
- Résultat attendu : Un ton joyeux et grivois.
- Résultat réel : Un robot qui lit une notice de médicament.
Problème n°2 : Les langues et accents
- Un modèle entraîné sur du français ne saura pas gérer :
- Un accent québécois ("tabarnak" deviendra "ta-bar-nak").
- De l’arabe maghrébin ("les ‘ayn’ et les ‘ghayn’ sont massacrés").
- Du chinois (les tons sont presque toujours faux).
Solution partielle : Entraîner un modèle multilingue (ex: XTTS de Coqui), mais ça nécessite un dataset monstrueux.
Problème n°3 : Le vieillissement de la voix
Une voix clonée à 30 ans ne sonnera pas comme à 60 ans. Les modèles ne capturent pas :
- L’usure des cordes vocales.
- Les changements de timbre liés à l’âge.
- Les maladies (ex: un rhume, une extubation).
Cas réel : En 2023, une famille a tenté de recréer la voix de leur père décédé avec une IA. Résultat : "Ça sonnait comme lui en 1995, pas en 2020. C’était glaçant."
Problème n°4 : La loi vous rattrape (tôt ou tard)
Même avec un modèle parfait, trois risques juridiques :
- Droit à l’image (en France, la voix = une performance protégée).
- RGPD (votre dataset doit être anonymisé, mais une voix, par définition, ne l’est pas).
- Droit des marques (si vous clonez la voix de Michelin Bibendum, préparez le chéquier).
Conseil : Toujours obtenir un consentement écrit avant de cloner une voix. Sinon, attendez-vous à un coup de fil d’un avocat qui adore facturer 500€/h.
5. Recherche & évolutions futures : vers où on va ?
Les pistes chaudes en 2026
-
Modèles multimodaux :
- Combiner audio + vidéo pour capturer les micro-expressions (ex: Wav2Lip + VITS).
- Exemple : Un clone de Marion Cotillard qui sourit en disant "Je t’aime" vs. qui rougit en le disant. La différence ? L’IA future la verra.
-
Diffusion + LLMs :
- Utiliser des Large Language Models pour guider la prosodie.
- Projet à suivre : AudioLM de Google, qui génère de l’audio conditionné par du texte.
-
Voice Cloning "zero-shot" :
- Des modèles comme YourTTS
🎓 Formation sur ce sujet
Construire des agents IA
5 leçons · 55 min · gratuit
Articles liés
Comment les LLMs comprennent le son sans même avoir d’oreilles
Les modèles de langage cachent des capacités audio insoupçonnées. Décryptage des architectures, benchmarks et limites de cette compétence inattendue.
L’IA comme colleur de timbres : pourquoi elle automatise vos tâches mais pas votre job
L’IA ne remplacera pas les ingénieurs ML, mais elle va s’occuper des 80% de boulot ingrat. Benchmarks, architectures et limites des outils "augmentés".
Pourquoi l'IA ne remplacera pas votre plombier (et c'est une bonne nouvelle)
Plongée technique dans les limites physiques des LLMs face aux métiers manuels, avec benchmarks, architectures hybrides et pistes de recherche.