Fix i8 variant: keep encoder float32 (quantized encoder was broken)

#2
LiteRT Community (FKA TFLite) org

The published i8 applied dynamic-range int8 to both signatures; the quantized
encoder degrades transcription badly (encoder-state correlation 0.841 vs f32,
12-clip WER 105.9% vs f32 23.9%, repetition loops), as noted on the card.

This PR replaces moonshine_tiny_5s_i8.tflite with a rebuild quantized
directly from the published f32 file (sha256 16f281f1...) using an
ai-edge-quantizer scoped recipe: dynamic_wi8_afp32 everywhere except the
encoder ops, which are excluded (NO_QUANTIZE via scope regex
'moonshine.MoonshineEncoder/'). Measured on the new file: encoder states
bit-identical to f32; 12-clip WER 23.0% (f32: 23.9%); word-level divergence
from f32 transcripts 2.5%; dense-window greedy tokens identical to f32 on
both M4 Max and iPhone 17 Pro; Raspberry Pi 5 5s window 317.7 ms vs 495.3 ms
f32 (the int8 decoder keeps the ~1.6x win) with Mac<->Pi transcripts
bit-identical on all 12 clips (the previous i8 diverged on 9/12);
Apple-silicon speed unchanged. File size 29 MB -> 52 MB (the encoder stays
float32).

README.md updated to match (i8 rows re-measured, accuracy note rewritten),
and the Android speech_recognition sample link from the PR #1 review is
included - that commit (4e54a3d) never landed on main.

Yoursmiling changed pull request status to merged

Sign up or log in to comment