---
license: apache-2.0
language:
- fr
pipeline_tag: text-to-speech
library_name: onnxruntime
tags:
- onnx
- french
- audio
- distillation
- quantized
- cpu
- paradis-tts
base_model:
- hexgrad/Kokoro-82M
datasets:
- wikimedia/wikipedia
---
# Paradis-TTS · modèles v0.1.3
**Une 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](https://github.com/IvannP39/Paradis-TTS-release) ·
[Package Python v0.1.4](https://github.com/IvannP39/Paradis-TTS-release/releases/tag/v0.1.4) ·
[Documentation](https://github.com/IvannP39/Paradis-TTS-release/blob/main/docs/PYTHON_PACKAGE.md)
## Écouter
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](https://huggingface.co/IvannP/Paradis-TTS/tree/v0.1.3/fp32/samples) ·
[Exemples EMA INT8](https://huggingface.co/IvannP/Paradis-TTS/tree/v0.1.3/int8/samples)
## Utilisation Python
Python 3.10–3.12 ; pas de GPU, PyTorch ou teacher à installer.
```bash
python -m pip install paradis-tts
```
```python
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"`.
```python
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](https://pypi.org/project/paradis-tts/).
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.
## Télécharger
| Variante | Archive | Graphes ONNX | Usage |
|---|---:|---:|---|
| [EMA FP32](https://huggingface.co/IvannP/Paradis-TTS/resolve/v0.1.3/paradis_tts_fp32.zip?download=true) | 30.21 Mo | 32,82 Mo | Version par défaut |
| [EMA INT8](https://huggingface.co/IvannP/Paradis-TTS/resolve/v0.1.3/paradis_tts_int8.zip?download=true) | 8.21 Mo | 9,19 Mo | Téléchargement plus compact |
Les poids bruts finaux sont aussi proposés :
[FP32](https://huggingface.co/IvannP/Paradis-TTS/resolve/v0.1.3/paradis_tts_raw_fp32.zip?download=true) ·
[INT8](https://huggingface.co/IvannP/Paradis-TTS/resolve/v0.1.3/paradis_tts_raw_int8.zip?download=true).
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.
## Post-traitement inclus
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.
## Vitesse sur CPU — français
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](https://github.com/IvannP39/Paradis-TTS-release/tree/main/evaluation/speed_20261016).
## Qualité : évaluation historique — v0
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](https://github.com/IvannP39/Paradis-TTS-release/tree/main/evaluation).
## Architecture et entraînement
Adaptation française de [Paradee](https://github.com/sahilmahendrakar/paradee),
architecture texte `s+mlp` et décodeur `A_full_phase`. Distillation de
[Kokoro-82M](https://huggingface.co/hexgrad/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.
## Limites et provenance
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](https://doi.org/10.7488/ds/1705).
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](RELEASE_LICENSES.md).