kazeia/executorch-custom
Kazeia Team dafbe2a52b FULL NATIVE C++ TTS pipeline — any text, perfect quality
The complete solution for native TTS on NPU:
1. Python: tokenize + text_projection only (30ms, no model generation)
2. File: golden prefill[0:9] + text_proj + eos padding (ratio 3.5×)
3. C++ shared Module: codec_sum(our codes) + trailing text/eos/pad
4. RMS-based auto-trim of trailing noise after speech ends

Key insights:
- Shared Module C++ uses SAME QNN compiled graph as Java → self-consistent
- codec_sum from our NPU codes is coherent (same model instance)
- Text tokens consumed 1:1, then eos padding for remaining steps
- RMS trim detects 15% energy drop from peak → cuts garbage

Validated "impeccable" by user on "Bonjour, je m'appelle Kazeia..."
prepare_tts_native.py works for ANY text.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 23:39:06 +02:00
..
Module.java Shared Module C++ pipeline: RTF 1.6 with perfect quality 2026-04-09 12:05:58 +02:00
cp_et_runner.cpp Native C++ pipeline: RTF 1.4 (was 3.6 in Java) 2026-04-09 10:09:32 +02:00
cp_et_test_client.cpp Native C++ pipeline: RTF 1.4 (was 3.6 in Java) 2026-04-09 10:09:32 +02:00
jni_layer_tts.cpp FULL NATIVE C++ TTS pipeline — any text, perfect quality 2026-04-09 23:39:06 +02:00
tts_pipeline_jni.cpp Disable C++ pipeline (QNN non-deterministic), keep Java RTF 1.8 2026-04-09 11:42:49 +02:00