Repository navigation
feat(catalog): Kokoro-82M on the ANE, and pin SDK 0.20.34 - #19
Conversation
The app's first ANE text-to-speech row, and the last of NeuRT's eight served
primitives to reach a catalog. Kokoro-82M runs across three Core ML graphs
(duration -> decode -> gen) plus two host seams that are not expressible as ANE
ops -- the duration->alignment expansion and the harmonic source -- and ships
its own G2P lexicon, so no runtime phonemizer is needed.
0.20.34, not 0.20.33, and the distinction matters. The tts_ops slot shipped in
.33, but the engine emitted int16 PCM where every other engine emits float32
under the same AUDIO_FORMAT_PCM enum -- which names a CONTAINER and carries no
bit depth at all. Consumers reading the documented float32 got half the samples
and a saturated waveform, with no error at any layer. Fixed in the 0.20.34
engine, so a row pinned to .33 would have downloaded 146 MB and played garbage.
`.tts` sets allowedFrameworks nil, so this row is reachable with no picker
change -- unlike the RAG contexts, which had to gain `.coreml` explicitly.
swift package resolve runanywhere-swift 0.20.34 (8bd75a29)
xcodebuild test ** TEST SUCCEEDED ** 23 passed, 0 failed
Verified end to end on the same engine through RCLI, which shares this SDK:
79200 samples, 3.30s @ 24 kHz, 0.00% clipped.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe package and Xcode project now require runanywhere-swift 0.20.34. The model catalog adds a Kokoro 82M Core ML speech synthesis archive for Apple Neural Engine use. ChangesKokoro ANE speech model
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: 🟡 Moderate · up to This PR adds a downloadable speech model hosted at a mutable external URL without a repository-visible immutable revision or trusted digest/signature. If the hosted artifact changes, clients could receive and load an unintended model, so the change should wait for integrity binding or explicit security-owner acceptance. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 2 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The app's first ANE text-to-speech row — and the last of NeuRT's eight served primitives to
reach a catalog. Published at
runanywhere/Kokoro-82M_ANE (public).
Kokoro-82M runs across three Core ML graphs (duration → decode → gen) plus two host seams that
are not expressible as ANE ops — the duration→alignment expansion and the harmonic source — and
ships its own G2P lexicon, so no runtime phonemizer is needed.
0.20.34, not 0.20.33, and the distinction matters
The
tts_opsslot shipped in .33. But the engine emitted int16 PCM where every other engineemits float32, under the same
AUDIO_FORMAT_PCMenum — which names a container and carriesno bit depth at all. Consumers reading the documented float32 got half the samples and a
saturated waveform, with no error at any layer. Fixed in the 0.20.34 engine, so a row pinned
to .33 would have downloaded 146 MB and played garbage.
.ttssetsallowedFrameworksnil, so this row is reachable with no picker change — unlike theRAG contexts, which had to gain
.coremlexplicitly.Verified
End to end on the same engine through RCLI, which shares this SDK:
🤖 Generated with Claude Code
https://claude.ai/code/session_01R6p1R4pwTg5pvVjiEjq9ZA
Summary by CodeRabbit
New Features
Updates