Logo Lanfrica

Tongasoa/lutheria

Domaine:

natural language processing

Type de record:

software
Créateur:
Ton
Hôte:
Traduction vocale temps réel malgache -> français (VAD + Whisper mg + NLLB) # Lutheria Traduction vocale en temps réel **malgache → français** : un émetteur parle, plusieurs lecteurs suivent la traduction à l'écrit avec ~1,5–2,5 s de délai. ``` Client micro (navigateur) Lecteurs ×N (navigateurs) PCM 16 kHz ──WSS──▶ ┌──────────────────────────┐ ──WSS──▶ listen.html │ FastAPI │ │ Silero VAD (endpointing │ │ 400 ms, coupe 15 s) │ │ Whisper mg fine-tuné │ │ (faster-whisper/CT2) │ │ NLLB-200 mlg→fra (CT2) │ └──────────────────────────┘ ``` Chaque segment produit deux messages : `partial` (texte malgache affiché immédiatement) puis `final` (traduction française qui complète la ligne, même `id`). Détails des choix : docs/adr/. ## Structure | Répertoire | Contenu | |---|---| | `server/` | API WebSocket (`main.py`), pipeline (`vad.py`, `asr.py`, `mt.py`), config | | `client/` | pages web émetteur + lecteurs (vanilla JS, zéro build) | | `tests/unit/` | logique testée sans modèles (TDD, <2 s) | | `tests/integration/` | vrais modèles (marque `integration`) | | `docs/adr/` | décisions architecturales datées | | `scripts/` | conversion CTranslate2, certificat, client de fumée | | `deploy/` | nginx, systemd, guide EC2 pas à pas | ## Démarrage rapide (dev local, Mac OK) ```bash python3.11 -m venv .venv && .venv/bin/pip install -r requirements.txt # 3.11–3.13 OK (prod 26.04 en 3.13, voir ADR 0007) cp .env.example .env # renseigner LUTHERIA_MIC_TOKEN ./scripts/convert_ct2.sh asr # une fois (~3 Go téléchargés) ./scripts/convert_ct2.sh mt # une fois (~2,5 Go) .venv/bin/uvicorn server.main:create_app --factory --port 8000 # → 127.0.0.1 (mic.html = émettre, listen.html = écouter) ``` Sur Mac sans GPU : tout tourne en CPU int8 — suffisant pour développer ; le temps réel exige la T4 (déploiement, voir `deploy/DEPLOYMENT.md` + ADR 0007). ## Tests ```bash .venv/bin/pytest # unitaires uniquement (<2 s), modèles mockés .venv/bin/pytest -m integ …