- Document current prompt limitations - Propose improved prompt with anti-hallucination instructions - Suggest dynamic context and domain vocabulary enhancements 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
3.4 KiB
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)
-
VAD coupe trop tôt - Le Voice Activity Detection déclenche la fin de segment trop rapidement, coupant les phrases en plein milieu
-
Segments trop courts - Whisper n'a pas assez de contexte audio pour transcrire correctement le chinois
-
Bruit ambiant - Du bruit est interprété comme de la parole (segment 22 mentionne "太多声音了")
-
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
{
"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)
Piste : Améliorer le prompt Whisper
Prompt actuel (insuffisant)
The following is a conversation in Mandarin Chinese about business, family, and daily life. Common names: Tingting, Alexis.
Problèmes
- Trop vague, n'aide pas Whisper
- Ne bloque pas les hallucinations connues
- Pas d'instruction sur quoi faire avec le bruit/silence
Prompt proposé
Transcription d'une réunion en chinois mandarin. Plusieurs interlocuteurs.
Ne transcris PAS : musique, silence, bruits de fond, applaudissements.
Ne génère JAMAIS de phrases comme "谢谢观看", "感谢收看", "订阅", "Thank you for watching", "Subscribe".
Si l'audio est inaudible, renvoie une chaîne vide.
Noms possibles: Tingting, Alexis.
Améliorations possibles
- Contexte dynamique - Passer les 2-3 dernières transcriptions dans le prompt
- Vocabulaire métier - Ajouter les termes récurrents spécifiques
- Anti-hallucination explicite - Lister les phrases à ne jamais générer
Prochaines étapes
- Implémenter le système de logging basique (JSON chinois/français)
- Tester le nouveau prompt Whisper
- Analyser les patterns dans les données
- Enrichir avec plus de métadonnées si nécessaire