LoadingâŠ
LoadingâŠ
hexgrad/Kokoro-82MUne voix française compacte, utilisable sur CPU et hors ligne. 8,08 millions de paramÚtres · ONNX FP32 / INT8 · audio mono 24 kHz · post-traitement activé par défaut.
« Ă ma connaissance, l'un des plus petits modĂšles open source de synthĂšse vocale en français avec une voix naturelle. » â Ivann
Créé en solo par Ivann, avec 0 ⏠de budget d'entraßnement, et entraßné principalement en local sur un laptop RTX 3060. Budget hors matériel et électricité.
GitHub · Package Python v0.1.4 · Documentation
Les exemples ci-dessous sont de vrais WAV générés avec les poids FP32 de cette release et le profil de post-traitement par défaut.
« Bonjour, voici la voix française de Paradis. »
« Sophie sÚche ses chaussettes sur sa chaise. »
« Le TGV part Ă 18 h 30 et le billet coĂ»te 12,50 âŹ. »
Exemples EMA FP32 · Exemples EMA INT8
Python 3.10â3.12 ; pas de GPU, PyTorch ou teacher Ă installer.
python -m pip install paradis-tts
from paradis_tts import ParadisTTS
tts = ParadisTTS() # post_traitement=True par défaut
audio = tts("Bonjour tout le monde.")
tts.save(audio, "bonjour.wav")
Au premier lancement, le modÚle FP32 est téléchargé depuis Hugging Face, à une révision
figée et son SHA256 est vérifié. Les appels suivants peuvent fonctionner hors
ligne. Pour utiliser les fichiers de ce dépÎt sans téléchargement automatique :
décompresser une archive puis passer model_folder="chemin/vers/fp32".
tts = ParadisTTS(variant="int8")
tts = ParadisTTS(weight_kind="raw") # poids bruts finaux, sans moyenne EMA
tts = ParadisTTS(post_traitement=False)
Le package est disponible sur PyPI.
Les distributions wheel/sources restent également disponibles sur GitHub.
La progression du téléchargement et les étapes de chargement s'affichent par
défaut ; ParadisTTS(verbose=False) les désactive. La v0.1.4 réutilise
les modĂšles v0.1.3 et leur cache.
| Variante | Archive | Graphes ONNX | Usage |
|---|---|---|---|
| EMA FP32 | 30.21 Mo | 32,82 Mo | Version par défaut |
| EMA INT8 | 8.21 Mo | 9,19 Mo | Téléchargement plus compact |
Les poids bruts finaux sont aussi proposés : FP32 · INT8.
Les deux variantes ont 8 082 881 paramÚtres : 4 231 828 pour le texte et 3 851 053 pour le décodeur. Trois graphes (texte, prosodie, décodeur) s'exécutent avec ONNX Runtime CPU. L'excitation, la phonémisation et les filtres utilisent NumPy/Python et eSpeak. L'INT8 concerne le stockage des poids ; ils sont déquantifiés pour le calcul flottant. Aucun gain de vitesse INT8 n'est garanti.
Filtre de phase 97, restauration de présence plafonnée à 2,5 dB et adoucissement
du haut du spectre à 1,5 dB. L'adoucissement dynamique est désactivé depuis
la 0.1.3 aprÚs comparaison d'écoute. Les réglages
d'attaques, de syllabes fortes et de lissage restent à zéro. Le fichier
postprocessing.json permet de les personnaliser. Le traitement est appliqué
automatiquement une seule fois par synthĂšse.
40 phrases françaises à 4 passages par moteur, CPU Ryzen 7 5800H, Windows, 2 threads. Poids EMA finaux à 10 000 étapes ; filtres optimisés de la 0.1.3.
| ModĂšle | Calcul pour 10 s de voix â | Vitesse |
|---|---|---|
Piper français siwis-medium |
0.570 s | 17.5Ă |
| Paradis FP32* | 0.695 s | 14.4Ă |
| Paradis INT8* | 0.695 s | 14.4Ă |
Kokoro français ff_siwis |
5.924 s | 1.7Ă |
* Avec un léger post-traitement, inclus dans les temps mesurés.
Appels texte â audio complets, phonĂ©misation et traitements natifs inclus ; chargement et Ă©criture WAV exclus. ONNX Runtime pour Paradis/Piper, PyTorch pour Kokoro. Les durĂ©es audio diffĂšrent entre moteurs ; la vitesse ne classe pas la qualitĂ©. Le candidat mesurĂ© et la release utilisent les mĂȘmes calculs audio et poids. Protocole, mesures par phrase et incertitudes.
Les scores ci-dessous correspondent aux anciens poids bruts à 6 500 étapes, pas aux poids EMA de v0.1.3. Les nouveaux exports passent les contrÎles de parité et de fonctionnement ; l'évaluation complÚte sur 300 phrases n'a pas été relancée.
300 phrases inédites, articles séparés du corpus de distillation. CPU AMD Ryzen 7 5800H, Windows, deux threads configurés dans ONNX Runtime/PyTorch.
| Moteur | WER â | DNSMOS global â | RTF mĂ©dian â | Pic RSS |
|---|---|---|---|---|
| Paradis FP32 | 12.51 % | 3.36 | 0.175 | 374 Mio |
| Paradis INT8 | 12.70 % | 3.35 | 0.183 | 355 Mio |
| Kokoro ff_siwis | 12.33 % | 3.42 | 0.719 | 4405 Mio |
| Piper siwis medium | 16.47 % | 3.25 | 0.119 | 497 Mio |
WER : taux dâerreurs de mots mesurĂ© par Whisper Small en français. DNSMOS P.835 est un proxy parole/bruit, pas une note dâĂ©coute humaine ni une mesure suffisante de naturalitĂ©. RTF < 1 signifie une gĂ©nĂ©ration plus rapide que la lecture. Les mesures ont eu lieu sur un portable partagĂ© avec un entraĂźnement GPU et dâautres tĂąches CPU ; elles ne constituent pas un classement en conditions isolĂ©es. Protocole, scores par phrase et limites.
Adaptation française de Paradee,
architecture texte s+mlp et décodeur A_full_phase. Distillation de
Kokoro-82M, voix française ff_siwis,
révision f3ff3571791e39611d31c381e3a41a3af07b4987.
Corpus texte : Wikipédia française 20231101.fr, révision
b04c8d1ceb2f5cd4588862100d08de323dccfbaa, phrases courtes, filtrées et
normalisées. Splits : 12 000 train / 500 validation / 500 test. Les cibles sont
des représentations intermédiaires et de l'audio synthétique du teacher.
Les enregistrements originaux SIWIS n'ont pas été utilisés directement.
La v0.1.3 fige le modÚle texte à 8 000 étapes et la moyenne EMA finale du décodeur
à 10 000 étapes de continuation GAN (décroissance 0,999), aprÚs entraßnement
spectral, GAN et affinages précédents. Les poids bruts finaux sont disponibles
en alternative. L'identité et les hashes
du snapshot sont fournis dans provenance.json et les manifests. Le dépÎt public
contient le runtime et les outils d'évaluation ; les expériences d'entraßnement
restent dans le dépÎt de développement privé. Ce checkpoint n'est pas présenté comme le
meilleur choix perceptuel parmi toutes les variantes.
Une seule voix, français uniquement. Un grain peut rester audible sur certaines consonnes. La normalisation des nombres, heures, unitĂ©s, sigles et liens simples est couverte ; les formats complexes et les langues mixtes peuvent ĂȘtre mal lus. Les erreurs, limites et biais de la voix teacher peuvent se transmettre au modĂšle. La premiĂšre release reste expĂ©rimentale ; aucune Ă©valuation humaine agrĂ©gĂ©e n'est revendiquĂ©e. Ce modĂšle ne permet pas le clonage de voix.
Code et poids : Apache-2.0. Paradee : Sahil Mahendrakar, Apache-2.0. Teacher :
hexgrad/Kokoro-82M, Apache-2.0. Origine déclarée de ff_siwis : SIWIS,
CC BY 4.0 â Yamagishi, Junichi ; Honnet, Pierre-Edouard ; Garner, Philip ;
Lazaridis, Alexandros (2017), The SIWIS French Speech Synthesis Database, 2016,
University of Edinburgh, DOI.
Les contributeurs de Wikipédia sont attribués par phrase dans les métadonnées du dépÎt GitHub ; les textes ont leurs propres licences CC BY-SA. Les sorties audio de démonstration sont synthétiques. Le G2P installé séparément inclut des composants GPL ; aucune bibliothÚque eSpeak native n'est embarquée dans ces archives. Licences et inventaire.