Parakeet TDT — Android
Parakeet TDT v3 通过 ONNX Runtime 运行于 Android 与嵌入式 Linux。模型被拆分为编码器和 decoder-joint 两个文件,均经过 INT8 量化,搭配 TDT 贪心解码器,支持 114 种语言以及 8192 token 的 BPE 词表。
模型文件
| 文件 | 大小 |
|---|---|
parakeet-encoder-int8.onnx | 840 MB |
parakeet-decoder-joint-int8.onnx | 51 MB |
vocab.json | <1 MB |
HuggingFace:aufklarer/Parakeet-TDT-v3-ONNX
性能
| 指标 | 数值 |
|---|---|
| 语言数 | 114 |
| 量化 | INT8 |
| 解码器 | TDT 贪心 |
| 实时倍率 | RTF 0.12(1.5 秒音频约 150 ms) |
| 硬件加速 | 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);