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.
Écouter la voix · Télécharger v0.1.2 · 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.
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 deux adoucissements du spectre à 1 et 1,5 dB. 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.
Mesures de référence — v0
Ces mesures concernent les anciens poids bruts à 6 500 étapes. Elles n'ont pas été recalculées pour l'EMA de v0.1.2 ; 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.2 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.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| paradis_tts-0.1.2.tar.gz | 30.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| paradis_tts-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 59.0 kB
Release files / paradis_tts-0.1.2.tar.gz
| Download URL | paradis_tts-0.1.2.tar.gz |
|---|---|
| Size | 30.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2e879a89e30524ba04eeff64c5ebbd3c15d6a303920070069c15dd54967fd6a9
|
|
BLAKE2b-256 checksum How to use checksums |
f7562263311d5be1d4304cd4423ad7379911821fe9b14234300cc1556be6e2b4
|
| 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 logRelease files / paradis_tts-0.1.2-py3-none-any.whl
| Download URL | paradis_tts-0.1.2-py3-none-any.whl |
|---|---|
| Size | 28.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6646319b00f2d0d530d50713ac43e9010dc5941b986fa7ad09b250e7dc190dfb
|
|
BLAKE2b-256 checksum How to use checksums |
eafee81a864f011c71fb1e85decc0f91c744a5c459ec20861dc1d99dc590b0a2
|
| 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