Application web Streamlit pour la transcription vocale française en temps réel avec correction automatique du texte.
┌─────────────────────────────────────────────────────────────┐
│ Streamlit Frontend │
│ ┌─────────────┐ ┌──────────────┐ ┌────────────────────┐ │
│ │ Audio Input │ │ Transcription│ │ Text Correction │ │
│ │ (WebRTC) │──│ Display │──│ (LanguageTool) │ │
│ └─────────────┘ └──────────────┘ └────────────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Kyutai STT (Streaming, CPU) ││
│ │ ~1-2s latency on CPU, FR optimized ││
│ └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘
# Dépendances de base
uv add streamlit streamlit-webrtc scipy pydantic
# Transformers et Torch pour Kyutai STT
uv add transformers torch
# Pour la correction de texte (optionnel)
uv add language-tool-python
# Cloner le projet
git clone <repository-url>
cd kyutai-stt
# Installer toutes les dépendances
make install
# Ou manuellement
uv sync --group dev
make run
# ou
uv run streamlit run src/kyutai_stt/app.py
kyutai-stt/
├── pyproject.toml
├── Makefile
├── README.md
├── documentation/
│ ├── plans/
│ └── TASKS.md
├── src/
│ └── kyutai_stt/
│ ├── __init__.py
│ ├── app.py # Application Streamlit principale
│ ├── audio/
│ │ ├── __init__.py
│ │ └── capture.py # Capture audio WebRTC
│ ├── transcription/
│ │ ├── __init__.py
│ │ └── kyutai_client.py # Client Kyutai STT
│ └── correction/
│ ├── __init__.py
│ └── text_corrector.py # Correction de texte FR
└── tests/
└── __init__.py
audio/capture.py)transcription/kyutai_client.py)kyutai/stt-1b-en_fr (FR+EN, 1B params) ou kyutai/stt-2.6b-en_fr-trfs (FR+EN, 2.6B params)correction/text_corrector.py)| Commande | Description |
|---|---|
make install | Installer les dépendances |
make run | Lancer l'application Streamlit |
make lint | Vérifier le code avec ruff |
make format | Formater le code avec ruff |
make test | Lancer les tests |
make clean | Nettoyer les fichiers cache |
| Variable | Description | Défaut |
|---|---|---|
KYUTAI_MODEL | Référence du modèle HuggingFace | kyutai/stt-1b-en_fr |
KYUTAI_DEVICE | Device d'inférence (cpu/cuda) | cpu |
| Paramètre | Valeur |
|---|---|
| Taux d'échantillonnage | 24000 Hz |
| Canaux | 1 (mono) |
| Durée chunk | 500 ms |
# Vérifier que transformers est installé
python -c "from transformers import KyutaiSpeechToTextProcessor; print('OK')"
# Le modèle se télécharge automatiquement depuis Hugging Face au premier lancement
# Modèle utilisé: kyutai/stt-1b-en_fr (1B paramètres, français + anglais)
# Installer Java
sudo apt install default-jre # Ubuntu/Debian
# Vérifier LanguageTool
python -c "import language_tool_python; print('OK')"
MIT
Python
98.3%
Makefile
1.7%
Application web Streamlit pour la transcription vocale française en temps réel avec correction automatique du texte.
┌─────────────────────────────────────────────────────────────┐
│ Streamlit Frontend │
│ ┌─────────────┐ ┌──────────────┐ ┌────────────────────┐ │
│ │ Audio Input │ │ Transcription│ │ Text Correction │ │
│ │ (WebRTC) │──│ Display │──│ (LanguageTool) │ │
│ └─────────────┘ └──────────────┘ └────────────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Kyutai STT (Streaming, CPU) ││
│ │ ~1-2s latency on CPU, FR optimized ││
│ └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘
# Dépendances de base
uv add streamlit streamlit-webrtc scipy pydantic
# Transformers et Torch pour Kyutai STT
uv add transformers torch
# Pour la correction de texte (optionnel)
uv add language-tool-python
# Cloner le projet
git clone <repository-url>
cd kyutai-stt
# Installer toutes les dépendances
make install
# Ou manuellement
uv sync --group dev
make run
# ou
uv run streamlit run src/kyutai_stt/app.py
kyutai-stt/
├── pyproject.toml
├── Makefile
├── README.md
├── documentation/
│ ├── plans/
│ └── TASKS.md
├── src/
│ └── kyutai_stt/
│ ├── __init__.py
│ ├── app.py # Application Streamlit principale
│ ├── audio/
│ │ ├── __init__.py
│ │ └── capture.py # Capture audio WebRTC
│ ├── transcription/
│ │ ├── __init__.py
│ │ └── kyutai_client.py # Client Kyutai STT
│ └── correction/
│ ├── __init__.py
│ └── text_corrector.py # Correction de texte FR
└── tests/
└── __init__.py
audio/capture.py)transcription/kyutai_client.py)kyutai/stt-1b-en_fr (FR+EN, 1B params) ou kyutai/stt-2.6b-en_fr-trfs (FR+EN, 2.6B params)correction/text_corrector.py)| Commande | Description |
|---|---|
make install | Installer les dépendances |
make run | Lancer l'application Streamlit |
make lint | Vérifier le code avec ruff |
make format | Formater le code avec ruff |
make test | Lancer les tests |
make clean | Nettoyer les fichiers cache |
| Variable | Description | Défaut |
|---|---|---|
KYUTAI_MODEL | Référence du modèle HuggingFace | kyutai/stt-1b-en_fr |
KYUTAI_DEVICE | Device d'inférence (cpu/cuda) | cpu |
| Paramètre | Valeur |
|---|---|
| Taux d'échantillonnage | 24000 Hz |
| Canaux | 1 (mono) |
| Durée chunk | 500 ms |
# Vérifier que transformers est installé
python -c "from transformers import KyutaiSpeechToTextProcessor; print('OK')"
# Le modèle se télécharge automatiquement depuis Hugging Face au premier lancement
# Modèle utilisé: kyutai/stt-1b-en_fr (1B paramètres, français + anglais)
# Installer Java
sudo apt install default-jre # Ubuntu/Debian
# Vérifier LanguageTool
python -c "import language_tool_python; print('OK')"
MIT
Python
98.3%
Makefile
1.7%