Parakeet TDT — Android

Parakeet TDT v3 executa no Android e em Linux embarcado via ONNX Runtime. O modelo e dividido em arquivos de codificador e decoder-joint, ambos quantizados em INT8, com um decodificador TDT greedy suportando 114 idiomas e um vocabulario BPE de 8192 tokens.

Arquivos do modelo

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

HuggingFace: aufklarer/Parakeet-TDT-v3-ONNX

Desempenho

MetricaValor
Idiomas114
QuantizacaoINT8
DecodificadorTDT greedy
Fator de tempo realRTF 0.12 (~150 ms para audio de 1.5 s)
Aceleracao de hardwareNNAPI (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

API C (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);

Codigo fonte: github.com/soniqo/speech-android