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

FileSize
parakeet-encoder-int8.onnx840 MB
parakeet-decoder-joint-int8.onnx51 MB
vocab.json<1 MB

HuggingFace: aufklarer/Parakeet-TDT-v3-ONNX

Performance

MetricValue
Languages114
QuantizationINT8
DecoderTDT greedy
Real-time factorRTF 0.12 (~150 ms for 1.5 s audio)
Hardware accelerationNNAPI (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