kazeia/kazeia-android/app
Kazeia Team 76ffbcb8fd fix(tts): robustesse lecture CosyVoice + pré-chauffage du cache voix
Série de correctifs après diagnostic device (logs) :
- AudioTrack : garde STATE_INITIALIZED + retry à la construction (le HAL rend
  parfois un track non initialisé après interruption + réouverture micro).
- Interruption pendant la synthèse : abandon PROPRE (check identité du track +
  play() gardé) → plus de « play() on uninitialized AudioTrack » / tour avorté.
- Drain DÉTERMINISTE de fin de lecture : on ne se fie plus à onMarkerReached
  (exige un Looper, absent sur Dispatchers.Default → ne se déclenchait jamais →
  ~6-9 s morts après l'audio). On lit playbackHeadPosition et on attend EXACTEMENT
  le reste à jouer avant de libérer → fin au plus près de la dernière syllabe,
  sans queue morte NI troncature (le flush prématuré coupait la fin).
- Pré-chauffage : warmup() synthétise une phrase jetée au démarrage pour remplir
  le cache K/V du prompt voix → 1er vrai tour chaud (~3 s) au lieu de ~10 s
  (mesuré : 1er énoncé à froid 10→8→5 s en chauffant). Idempotent par voix.
- Mutex de synthèse : warmup et vraie synthèse ne tournent jamais en parallèle.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 14:42:14 +02:00
..
src fix(tts): robustesse lecture CosyVoice + pré-chauffage du cache voix 2026-06-21 14:42:14 +02:00
build.gradle.kts release(app): 0.2.3 / versionCode 15 (APK lean sans natifs JNA) 2026-06-18 09:38:51 +02:00
proguard-rules.pro Initial commit: Kazeia TTS pipeline on NPU via ExecuTorch 2026-04-09 08:42:11 +02:00