Metadata-Version: 2.4
Name: lectura
Version: 4.0.0
Summary: Meta-package Lectura — suite complete de traitement linguistique et vocal du francais
Author-email: Max Carriere <admin@lectura.world>
License: AGPL-3.0-or-later
Project-URL: Homepage, https://www.lectura.world/developpement/modules/
Project-URL: Repository, https://github.com/maxcarriere/lectura-modules
Project-URL: Issues, https://github.com/maxcarriere/lectura-modules/issues
Keywords: nlp,french,g2p,p2g,stt,tts,vc,phonetique,pipeline
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Natural Language :: French
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Text Processing :: Linguistic
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENCE.txt
Provides-Extra: tokeniseur
Requires-Dist: lectura-tokeniseur>=2.2; extra == "tokeniseur"
Provides-Extra: formules
Requires-Dist: lectura-formules>=3.7; extra == "formules"
Provides-Extra: aligneur
Requires-Dist: lectura-aligneur>=4.0; extra == "aligneur"
Provides-Extra: lexique
Requires-Dist: lectura-lexique>=1.4; extra == "lexique"
Provides-Extra: phonemiseur
Requires-Dist: lectura-phonemiseur>=4.0; extra == "phonemiseur"
Provides-Extra: graphemiseur
Requires-Dist: lectura-graphemiseur>=4.3; extra == "graphemiseur"
Provides-Extra: decodeur
Requires-Dist: lectura-decodeur>=3.0; extra == "decodeur"
Provides-Extra: monospeaker
Requires-Dist: lectura-monospeaker>=3.0; extra == "monospeaker"
Provides-Extra: multispeaker
Requires-Dist: lectura-multispeaker>=3.0; extra == "multispeaker"
Provides-Extra: diphone
Requires-Dist: lectura-diphone>=2.0; extra == "diphone"
Provides-Extra: vc-zeroshot
Requires-Dist: lectura-vc-zeroshot>=1.1; extra == "vc-zeroshot"
Provides-Extra: vc-locuteurs
Requires-Dist: lectura-vc-locuteurs>=1.0; extra == "vc-locuteurs"
Provides-Extra: g2p
Requires-Dist: lectura-g2p>=4.1; extra == "g2p"
Provides-Extra: p2g
Requires-Dist: lectura-p2g>=4.6; extra == "p2g"
Provides-Extra: stt
Requires-Dist: lectura-stt>=3.2; extra == "stt"
Provides-Extra: tts-mono
Requires-Dist: lectura-tts-mono>=1.0; extra == "tts-mono"
Provides-Extra: tts-multi
Requires-Dist: lectura-tts-multi>=1.0; extra == "tts-multi"
Provides-Extra: tts-dipho
Requires-Dist: lectura-tts-dipho>=1.0; extra == "tts-dipho"
Provides-Extra: vc
Requires-Dist: lectura-vc-zeroshot>=1.1; extra == "vc"
Requires-Dist: lectura-vc-locuteurs>=1.0; extra == "vc"
Provides-Extra: nlp
Requires-Dist: lectura[aligneur,formules,graphemiseur,lexique,phonemiseur,tokeniseur]; extra == "nlp"
Provides-Extra: tts
Requires-Dist: lectura[tts-dipho,tts-mono,tts-multi]; extra == "tts"
Provides-Extra: onnx
Requires-Dist: lectura-phonemiseur[onnx]; extra == "onnx"
Requires-Dist: lectura-graphemiseur[onnx]; extra == "onnx"
Requires-Dist: lectura-decodeur[onnx]; extra == "onnx"
Requires-Dist: lectura-monospeaker[onnx]; extra == "onnx"
Requires-Dist: lectura-multispeaker[onnx]; extra == "onnx"
Provides-Extra: all
Requires-Dist: lectura[g2p,nlp,onnx,p2g,stt,tts,vc]; extra == "all"
Requires-Dist: lectura-diphone[local]; extra == "all"
Dynamic: license-file

# Lectura NLP — Modules de traitement du langage naturel pour le francais

Briques logicielles autonomes pour le traitement du francais : tokenisation,
phonetique, syllabes, formules, correction orthographique et grammaticale.
Installez tout d'un coup avec `pip install lectura` ou chaque module independamment.

## Modules atomiques (couche 1)

| Module | Description | Version | pip install |
|--------|-------------|---------|-------------|
| **[Tokeniseur](Tokeniseur/)** | Normalisation et tokenisation du francais, detection de formules | 2.3.0 | `pip install lectura-tokeniseur` |
| **[Formules](Formules/)** | Lecture algorithmique des formules (nombres, dates, heures...) | 3.1.0 | `pip install lectura-formules` |
| **[Phonemiseur](Phonemiseur/)** | Phonemiseur neural : G2P + POS + Morpho + Liaison + Groupes de lecture | 4.0.0 | `pip install lectura-phonemiseur` |
| **[Graphemiseur](Graphemiseur/)** | Graphemiseur neural : P2G + POS + Morpho (IPA vers orthographe) | 4.0.0 | `pip install lectura-graphemiseur` |
| **[Aligneur-Syllabeur](Aligneur/)** | Alignement grapheme-phoneme, syllabation | 4.0.0 | `pip install lectura-aligneur` |
| **[Correcteur](Correcteur/)** | Correcteur orthographique et grammatical du francais | 1.0.0 | `pip install lectura-correcteur` |
| **[CTC](CTC/)** | Decodeur phonetique CTC : audio → phones IPA (CNN-BiGRU-CTC) | 1.0.0 | `pip install lectura-ctc` |

## Pipeline (couche 2)

| Module | Description | Version | pip install |
|--------|-------------|---------|-------------|
| **[G2P-Pipeline](G2P-Pipeline/)** | Pipeline complet texte → phonetique (tokeniseur + formules + phonemiseur) | 1.0.0 | `pip install lectura-g2p` |
| **[STT](STT/)** | Pipeline complet audio → texte (CTC + P2G) | 1.0.0 | `pip install lectura-stt` |

## Synthese vocale

| Module | Description | Version | pip install |
|--------|-------------|---------|-------------|
| **[TTS-Monospeaker](TTS-Monospeaker/)** | Synthese vocale neuronale monospeaker francais (FastPitch + HiFi-GAN) | 1.0.0 | `pip install lectura-tts-monospeaker` |
| **[TTS-Diphone](TTS-Diphone/)** | Synthese vocale par concatenation de diphones WORLD (prosodie reglee) | 1.2.0 | `pip install lectura-tts-diphone` |

## Caracteristiques

- **Zero dependance** sur les modules de base (Tokeniseur, Formules, Aligneur)
- **4 backends d'inference** pour G2P/P2G : API, ONNX Runtime, NumPy, Pure Python
- **Type hints complets** (Python 3.10+, PEP-561)
- **Modeles compacts** : G2P = 1.8 Mo, P2G = 2.6 Mo (ONNX INT8)

## Installation rapide

```bash
# Tous les modules d'un coup
pip install lectura

# Avec backends ONNX pour G2P/P2G (recommande)
pip install lectura[onnx]

# Un seul module
pip install lectura-tokeniseur

# Phonemiseur avec backend ONNX
pip install lectura-phonemiseur[onnx]
```

## Exemple

```python
from lectura_tokeniseur import tokenise
from lectura_formules import lire_formule

# Tokeniser du texte francais
tokens = tokenise("Le 1er janvier 2025, j'ai lu 42 pages.")

# Lire une formule
result = lire_formule("NOMBRE", "42")
print(result.display_fr)  # "quarante-deux"
```

## Licence

Les modules Lectura sont distribues sous licence **[AGPL-3.0](LICENCE.txt)** (non commerciale).

Les modeles pre-entraines (.onnx) sont soumis a des conditions specifiques :
voir [MODEL_LICENCE.md](MODEL_LICENCE.md).

Pour un usage commercial, contacter **[admin@lectura.world](mailto:admin@lectura.world)**.

## Auteur

Max Carriere — [lectura.world](https://www.lectura.world)
