Downloads · 30 days
35
8% of all-time downloads
sivasub987/Pocket-TTS-ExecuTorch
Pocket-TTS-ExecuTorch is a machine learning model from sivasub987. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
GPU-accelerated Pocket-TTS models exported to ExecuTorch PTE format for mobile inference.
Downloads · 30 days
35
8% of all-time downloads
All-time downloads
424
Public
Repo size
573 MB
Likes
0
Public
Click a slice to open those files.
.pte479 MB · 61%
From the Hugging Face model README
GPU-accelerated Pocket-TTS models exported to ExecuTorch PTE format for mobile inference.
Text → [Tokenizer] → Tokens
↓
text_conditioner.pte → Text Embeddings (B, T, 1024)
↓
flow_lm_main_bundled.pte → Conditioning (B, 1024) + EOS logit
↓
flow_net.pte (ODE steps) → Audio Codes (B, 32)
↓
mimi_decoder.pte → Audio Samples (Float32, 24kHz)
| File | Size | Description |
|---|---|---|
text_conditioner.pte | 16 MB | Phoneme tokens → text embeddings |
flow_lm_main_bundled.pte | 96 MB | Bundled backbone (forward_0, forward_32, forward_64, forward_128) |
flow_net.pte | 37 MB | Flow matching ODE step |
mimi_encoder.pte | 69 MB | Voice reference encoder |
mimi_decoder.pte | 39 MB | Audio codes → waveform |
from executorch.runtime import Runtime
import torch
runtime = Runtime.get()
# Load models
tc = runtime.load_program("text_conditioner.pte").load_method("forward")
backbone = runtime.load_program("flow_lm_main_bundled.pte")
bb_0 = backbone.load_method("forward_0")
bb_32 = backbone.load_method("forward_32")
flow = runtime.load_program("flow_net.pte").load_method("forward")
decoder = runtime.load_program("mimi_decoder.pte").load_method("forward")
# Inference
tokens = torch.randint(0, 100, (1, 20), dtype=torch.int64)
text_emb = tc.execute([tokens])[0] # (1, 20, 1024)
# Backbone step 0
seq = torch.randn(1, 1, 32) # Initial audio latent
k_cache = torch.zeros(6, 1, 512, 16, 64)
v_cache = torch.zeros(6, 1, 512, 16, 64)
conditioning, eos, k_new, v_new = bb_0.execute([seq, k_cache, v_cache])
# Flow step (ODE)
c = conditioning
s, t, x = torch.tensor([[0.0]]), torch.tensor([[1.0]]), torch.randn(1, 32)
flow_dir = flow.execute([c, s, t, x])[0]
# Decode to audio
audio = decoder.execute([final_codes])[0] # (samples,)
// In PocketTtsVulkanEngine.kt
val module = Module.load(context.filesDir.resolve("pocket/pte/flow_lm_main_bundled.pte"))
val output = module.forward(EValue.from(inputTensor))
org.pytorch:executorch-android:0.6.0Based on Pocket-TTS by Kyutai. Export patterns inspired by Kokoro ExecuTorch.
Apache 2.0