Parakeet TDT — Android
Parakeet TDT v3 runs on Android and embedded Linux via ONNX Runtime. The model is split into encoder and decoder-joint files, both INT8 quantized, with a TDT greedy decoder supporting 114 languages and an 8192-token BPE vocabulary.
Model Files
| File | Size |
|---|---|
parakeet-encoder-int8.onnx | 840 MB |
parakeet-decoder-joint-int8.onnx | 51 MB |
vocab.json | <1 MB |
HuggingFace: aufklarer/Parakeet-TDT-v3-ONNX
Performance
| Metric | Value |
|---|---|
| Languages | 114 |
| Quantization | INT8 |
| Decoder | TDT greedy |
| Real-time factor | RTF 0.12 (~150 ms for 1.5 s audio) |
| Hardware acceleration | NNAPI (Android), QNN Hexagon DSP (Linux) |
Kotlin (Android)
val modelDir = ModelManager.ensureModels(context)
val pipeline = SpeechPipeline(SpeechConfig(modelDir = modelDir))
pipeline.events.collect { event ->
when (event) {
is SpeechEvent.TranscriptionCompleted -> println(event.text)
else -> {}
}
}
pipeline.start()
pipeline.pushAudio(samples) // 16kHz mono float32
C API (Linux)
speech_config_t cfg = speech_config_default();
cfg.model_dir = "/opt/models";
speech_pipeline_t p = speech_create(cfg, on_event, NULL);
speech_start(p);
speech_push_audio(p, samples, 512);
Source code: github.com/soniqo/speech-android