secondvoice/PLAN_DEBUG.md
StillHammer a3b38cf32a docs: Add objective section to debug plan
Define the real-world use case: making SecondVoice work in degraded conditions (meetings with multiple voices, variable distances, poor mic quality).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 20:04:08 +08:00

83 lines
2.4 KiB
Markdown

# Plan de Debug SecondVoice
## Objectif
**Faire fonctionner SecondVoice en conditions dégradées :**
- Voix multiples simultanées
- Distances variables du micro
- Volumes variables
- Discussions rapides
- Micro de mauvaise qualité
C'est le cas d'usage réel (réunions, meetings). Le système doit être robuste, pas juste fonctionner en labo.
## Problème observé
Transcript du 2025-11-23 (5:31 min, 75 segments) montre :
- Phrases fragmentées ("我很。" → "Je suis.")
- Erreurs de transcription ("两个老鼠求我" - deux souris me supplient)
- Segments d'un ou deux mots sans contexte
- Hallucinations Whisper ("汪汪汪汪")
## Contexte du test
**Conditions très dégradées :**
- Voix multiples
- Distances variables du micro
- Volumes variables
- Discussion rapide
- Mauvais micro
Ces conditions expliquent potentiellement une partie des résultats. Les hypothèses doivent être validées dans des conditions plus contrôlées également.
## Hypothèses (à valider)
1. **VAD coupe trop tôt** - Le Voice Activity Detection déclenche la fin de segment trop rapidement, coupant les phrases en plein milieu
2. **Segments trop courts** - Whisper n'a pas assez de contexte audio pour transcrire correctement le chinois
3. **Bruit ambiant** - Du bruit est interprété comme de la parole (segment 22 mentionne "太多声音了")
4. **Perte de contexte inter-segments** - Chaque segment est traité isolément, Whisper ne peut pas utiliser le contexte des phrases précédentes
## Plan : Système de logging par session
### Objectif
Collecter des données exploitables pour identifier la source des problèmes.
### Structure
```
sessions/
└── YYYY-MM-DD_HHMMSS/
├── session.json # Métadonnées globales
├── segments/
│ ├── 001.json
│ ├── 002.json
│ └── ...
└── transcript.txt # Export final (existant)
```
### Format segment JSON
```json
{
"id": 1,
"chinese": "两个老鼠求我",
"french": "Deux souris me supplient"
}
```
### À définir
- [ ] Quelles métadonnées audio ajouter ? (durée, RMS, timestamps)
- [ ] Sauvegarder les fichiers audio .opus par segment ?
- [ ] Infos Whisper ? (latence, modèle, filtered)
- [ ] Infos Claude ? (latence, modèle)
## Prochaines étapes
1. Implémenter le système de logging basique (JSON chinois/français)
2. Analyser les patterns dans les données
3. Enrichir avec plus de métadonnées si nécessaire