kazeia/kazeia-android/app
Kazeia Team ca530f6d85 fix(pipeline): régressions UI/STT post-bascule CosyVoice (orbe, texte, 1ère phrase)
Trois bugs introduits/exposés par la bascule CosyVoice (66e81f0) :

#3 orbe figé "réflexion" même fini — KazeiaService.finally : le reset du
   visualizer était conditionné à !_isListening → en écoute continue l'orbe ne
   quittait jamais Thinking. Reset VisualizerSignal.Idle désormais inconditionnel.

#2 texte non affiché pendant le TTS + #3 orbe non animé — cause commune : le
   callback onSegmentPlaying était accepté puis JETÉ par KazeiaPipeline.speakText
   (la branche streaming Qwen3 qui le câblait avait été retirée). Rebranché :
   - core.TtsEngine.synthesizeAndPlay(..., onSegment) ;
   - CosyVoiceTtsEngine émet onSegment(phrase, durée, enveloppe, spectro) par
     phrase au démarrage de sa lecture ;
   - nouvel util tts/AudioFeatures (enveloppe RMS + spectrogramme 12 bandes via
     FFT radix-2 maison, sans dépendance) remplaçant le calcul perdu du chemin
     Qwen3 ; le reveal mot-par-mot et l'orbe Speaking refonctionnent.

#1 1ère phrase ratée — boucle de capture KazeiaService :
   - pré-roll (~300 ms d'anneau sous-seuil préfixé au buffer) → l'attaque
     consonantique n'est plus clippée ;
   - tail buffer anti-écho 800→300 ms : 800 ms visait la queue MediaPlayer
     (disparue) ; CosyVoice draine via marker AudioTrack → 300 ms suffit et ne
     mange plus le début de la réponse après que Kazeia a parlé.

Build release vert + installé OPD2415 (vc15, données préservées). À valider à
l'usage : synchro texte, orbe, capture début de phrase, absence de larsen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 22:51:35 +02:00
..
src fix(pipeline): régressions UI/STT post-bascule CosyVoice (orbe, texte, 1ère phrase) 2026-06-18 22:51:35 +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