feat(voice): support April Pocket model bundles - #3303
Draft
johnmatthewtennant wants to merge 1 commit into
Draft
Conversation
johnmatthewtennant
force-pushed
the
jt/buzz-voice-refactor
branch
from
July 28, 2026 13:48
91eaee8 to
a3c16e7
Compare
johnmatthewtennant
force-pushed
the
jtennant/pocket-tts-april-runtime
branch
from
July 28, 2026 13:52
2e67663 to
394b4b4
Compare
This was referenced Jul 28, 2026
johnmatthewtennant
force-pushed
the
jt/buzz-voice-refactor
branch
from
July 28, 2026 14:30
a3c16e7 to
0f97b7e
Compare
Signed-off-by: John Tennant <[email protected]>
johnmatthewtennant
force-pushed
the
jtennant/pocket-tts-april-runtime
branch
from
July 28, 2026 14:34
394b4b4 to
d9193ad
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
Pocket's April 2026 ONNX release changes the tokenizer and native inference loop. Buzz Voice needs a reusable, caller-provided model-bundle layer before Desktop and Mobile can adopt the release independently.
This PR is stacked directly on #2467 and intentionally excludes model acquisition, cache migration, platform packaging, UI, and playback policy.
Summary
Adds a platform-neutral April Pocket runtime with pinned FP32 and INT8 bundle metadata, deterministic validation, tokenizer-aware 50-token chunking, and callback-compatible synthesis.
Changes
PocketPrecision,PocketModelSelection, andPocketLoadOptionsAPIs while preserving the existing loader and synthesis APIs.Related issue
N/A
Testing
just cicargo test --locked -p buzz-voiceScreenshots
N/A — runtime-only Rust change with no UI.
Reviewer-reproducible examples
Canonical base:
Upstream bundle contract:
Exact artifact names, byte sizes, and SHA-256 checksums are defined in
crates/buzz-voice/src/pocket_models.rs.Run the unit suite:
cargo test --locked -p buzz-voiceRun the model-backed gates:
Generate the raw, untrimmed onset-stress clip:
Locally generated FP32 evidence:
Listening checklist: