lectura-multispeaker
Moteur de synthese vocale neuronale multi-speaker pour le francais — deux modeles au choix : high (Matcha-Conformer) et light (FastPitch) + HiFi-GAN (ONNX).
Supporte 6 voix : siwis, ezwa, nadine, bernard, gilles, zeckou.
Installation
# Version minimale (API distante, zero deps)
pip install lectura-multispeaker
# Version locale (inference ONNX)
pip install lectura-multispeaker[onnx]
Pour le pipeline complet texte → audio, utilisez
pip install lectura-tts-multi(inclut le G2P).
Utilisation
Depuis des phonemes IPA
from lectura_multispeaker import creer_engine
# Modele high (Conformer, meilleure qualite) — par defaut
engine = creer_engine(mode="local", speaker="siwis")
result = engine.synthesize_phonemes("bɔ̃ʒuʁ", phrase_type=0)
# Modele light (FastPitch, plus rapide/leger)
engine_light = creer_engine(mode="local", speaker="siwis", model="light")
result = engine_light.synthesize_phonemes("bɔ̃ʒuʁ")
Raccourci synthetiser()
from lectura_multispeaker import synthetiser
# High (defaut)
audio = synthetiser("Bonjour.", speaker="bernard")
# Light
audio = synthetiser("Bonjour.", speaker="bernard", model="light")
Lister les speakers disponibles
from lectura_multispeaker import liste_speakers
print(liste_speakers()) # ['siwis', 'ezwa', 'nadine', 'bernard', 'gilles', 'zeckou']
Modeles
| Modele | Architecture | Taille (INT8) | Qualite | Vitesse |
|---|---|---|---|---|
| high (defaut) | Matcha-Conformer (d=384) + HiFi-GAN | ~40 Mo | Meilleure | ~30x temps-reel |
| light | FastPitch (d=256) + HiFi-GAN | ~40 Mo | Bonne | ~50x temps-reel |
Controles prosodiques
| Parametre | Defaut | Description |
|---|---|---|
| duration_scale | 1.0 | Vitesse globale |
| pitch_shift | 0.0 | Decalage F0 (demi-tons) |
| pitch_range | 1.0 | Variation F0 |
| energy_scale | 1.0 | Intensite |
| pause_scale | 1.0 | Duree des pauses |
| phrase_type | 0 | 0=decl, 1=inter, 2=excl, 3=susp |
| n_ode_steps | 4 | Pas ODE Matcha (plus = meilleur, high uniquement) |
Architecture
- high : Matcha-Conformer (d_model=384) — phonemes → mel via flow matching ODE (encodeur par speaker)
- light : FastPitch (d_model=256) — phonemes → mel via FFT decoder (encodeur par speaker)
- HiFi-GAN V1 : mel → audio 22050 Hz (partage)
- Runtime : ONNX (pas de dependance PyTorch)
Emplacements des modeles
Recherche dans l'ordre :
- Parametre
models_direxplicite $LECTURA_MODELS_DIR/tts_multispeaker/~/.lectura/models/tts_multispeaker/- Modeles embarques dans le package (version privee)
Chaque emplacement peut contenir des sous-repertoires conformer/ et fastpitch/ (nouveau layout) ou les fichiers directement (ancien layout, retrocompatible).
Licence
Code source sous licence AGPL-3.0 — voir LICENCE.txt. Modeles pre-entraines : voir MODEL_LICENCE.md.
Licence commerciale et modeles locaux disponibles — contacter admin@lectura.world.
Metadata
Release files for lectura-multispeaker 5.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lectura_multispeaker-5.0.0.tar.gz | 17.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lectura_multispeaker-5.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.2 MB
Release files / lectura_multispeaker-5.0.0.tar.gz
| Download URL | lectura_multispeaker-5.0.0.tar.gz |
|---|---|
| Size | 17.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5f2ffe4cf36c08dd02ff242ada954a9e1907872a0b271af0e7df7d1c4e11ee9d
|
|
BLAKE2b-256 checksum How to use checksums |
12739b055eca716fc8cec32c6464985ee9d82d729f360ed888637de01ac1a60a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / lectura_multispeaker-5.0.0-py3-none-any.whl
| Download URL | lectura_multispeaker-5.0.0-py3-none-any.whl |
|---|---|
| Size | 17.6 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1e7c9f803362fe04303afaf85ac481dd15e83fddb9e6fb26475fe42b5178ad30
|
|
BLAKE2b-256 checksum How to use checksums |
621018072ce6f3d1f5f08c61c3697df88ab456c1910d441e7638833650570026
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|