Skip to main content

Paradis — Synthèse vocale française sur CPU

Release v0.1.4 Hugging Face PyPI CPU et ONNX Apache 2.0

Une voix française compacte, directement dans votre application. Paradis-TTS transforme du texte en audio sur CPU, avec 8,08 millions de paramètres, des poids ONNX FP32 ou INT8, et un post-traitement intégré. Après le premier téléchargement, la synthèse fonctionne entièrement hors ligne.

« À 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é.

Écouter la voix · Télécharger v0.1.3 · Documentation Python

Essayer

Python 3.10–3.12 :

python -m pip install paradis-tts
from paradis_tts import ParadisTTS

tts = ParadisTTS()
audio = tts("Bonjour tout le monde.")
tts.save(audio, "bonjour.wav")

La construction de ParadisTTS() télécharge les poids FP32 depuis Hugging Face et les garde en cache après vérification SHA256. Aucun GPU, PyTorch ni Kokoro n'est nécessaire. audio est un tableau NumPy mono, float32, à 24 kHz. Le package est disponible sur PyPI.

La progression du téléchargement et les étapes de chargement s'affichent par défaut. Pour un chargement silencieux : ParadisTTS(verbose=False). Le package v0.1.4 réutilise les modèles v0.1.3 et leur cache.

Choisir sa version

FP32 INT8
Archive à télécharger 30.21 Mo 8.21 Mo
Trois graphes ONNX 32,82 Mo 9,19 Mo
Paramètres 8 082 881 8 082 881
Poids Flottants Entiers 8 bits, déquantifiés au calcul
tts = ParadisTTS(variant="int8")
tts = ParadisTTS(weight_kind="raw")  # poids bruts finaux, au lieu de la moyenne EMA
tts = ParadisTTS(post_traitement=False)  # sortie brute
tts = ParadisTTS(model_folder="chemin/vers/fp32")  # archive locale décompressée

Le profil audio par défaut associe le filtre de phase 97, une restauration de présence jusqu'à 2,5 dB et un adoucissement des aigus à 1,5 dB. L'adoucissement dynamique est désactivé depuis la 0.1.3. Réglages et usage hors ligne. L'INT8 réduit le téléchargement ; il ne garantit pas une exécution plus rapide et peut modifier la voix. Le FP32 est le choix par défaut.

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.

Qualité : mesures historiques — v0

Ces mesures concernent les anciens poids bruts à 6 500 étapes. Elles n'ont pas été recalculées pour l'EMA de v0.1.3 ; elles ne mesurent pas son gain de qualité.

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.

D'où vient la voix ?

Paradis adapte la méthode de Paradee au français et distille Kokoro-82M, voix ff_siwis. La v0.1.3 assemble le modèle texte à 8 000 étapes et le décodeur A affiné, avec sa moyenne EMA finale à 10 000 étapes de continuation GAN (décroissance 0,999). Les poids bruts finaux restent disponibles en alternative. Le corpus de distillation comporte 12 000 phrases françaises d'apprentissage, 500 de validation et 500 de test.

Limites : une seule voix, français uniquement, quelques artefacts résiduels sur les consonnes, normalisation limitée aux formes courantes. La qualité et les prononciations du teacher restent des limites. Les autres langues et le clonage de voix ne sont pas pris en charge. Le modèle reste expérimental.

Pour aller plus loin

Évaluation reproductible · Architecture et exports · Normalisation française · Code du runtime · Licences et attributions

Code et poids : Apache-2.0. Textes Wikipédia : licences CC BY-SA séparées. Le G2P installé par pip comprend des composants GPL ; le runtime complet n'est pas présenté comme entièrement permissif. Voir les notices avant redistribution.

Metadata

Release files for paradis-tts 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for paradis-tts 0.1.4
File Size Uploaded
paradis_tts-0.1.4.tar.gz 35.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for paradis-tts 0.1.4
File Interpreter ABI Platform
paradis_tts-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 66.7 kB

Release files / paradis_tts-0.1.4.tar.gz

Download URL paradis_tts-0.1.4.tar.gz
Size 35.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7dfad565deb47ffc0635cc68f8f09d271455b15ace6e06d0607d910ef5f62d7c
BLAKE2b-256 checksum
How to use checksums
7f19c98d2350a52781f34ccb933f1884188975173694805543507bae491e98c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / paradis_tts-0.1.4-py3-none-any.whl

Download URL paradis_tts-0.1.4-py3-none-any.whl
Size 31.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5bdf6907b45f38c46e8a18a51146fa0b93e6161cff523a9c9b69e19cbc12ae29
BLAKE2b-256 checksum
How to use checksums
f8658831551d453fc7a4a200f99c71b003e595d14d56700e1891acc0a99f7fda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page