secondvoice/config.json
StillHammer 3ec2a8beca feat: Add session logging, input gain, and context-aware prompts
Major features:
- Session logging system with detailed segment tracking (audio files, metadata, latencies)
- Input gain control (0.5x-5.0x amplifier) with soft clipping
- Context-aware Whisper prompts using recent transcriptions
- Comprehensive segment metadata (RMS, peak, duration, timestamps)
- API latency measurements for Whisper and Claude
- Audio hash-based duplicate detection
- Hallucination filtering with detailed logging

Changes:
- Add SessionLogger class for structured session data export
- Apply input gain before VAD and denoising (not just raw input)
- Enhanced Pipeline with segment tracking and error logging
- New UI control for input gain amplifier
- Sessions saved to sessions/ directory with transcripts/ export
- Improved Whisper prompt in config.json (French instructions)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 12:17:21 +08:00

34 lines
1.3 KiB
JSON

{
"audio": {
"sample_rate": 16000,
"channels": 1,
"chunk_duration_seconds": 10,
"chunk_step_seconds": 5,
"format": "ogg"
},
"whisper": {
"model": "gpt-4o-mini-transcribe",
"language": "zh",
"temperature": 0.0,
"prompt": "Transcription d'une reunion en chinois mandarin. Plusieurs interlocuteurs parlent. Ne transcris PAS: musique, silence, bruits de fond, applaudissements. Ne genere JAMAIS ces phrases: 谢谢观看, 感谢收看, 订阅, Thank you for watching, Subscribe, 再见. Si l'audio est inaudible ou juste du bruit, renvoie une chaine vide. Noms possibles: Tingting, Alexis.",
"stream": false,
"response_format": "text"
},
"claude": {
"model": "claude-3-5-haiku-20241022",
"max_tokens": 1024,
"temperature": 0.3,
"system_prompt": "Tu es un traducteur chinois-français. Réponds UNIQUEMENT avec la traduction française, sans explications, notes, commentaires ou alternatives. Une seule phrase traduite, rien d'autre. Si du contenu offensant est présent, remplace-le par [contenu offensant] mais traduis impérativement le reste de la phrase."
},
"ui": {
"window_width": 1500,
"window_height": 800,
"font_size": 24,
"max_display_lines": 50
},
"recording": {
"save_audio": true,
"output_directory": "./recordings"
}
}