Parakeet TDT — Android

Parakeet TDT v3 se ejecuta en Android y Linux embebido mediante ONNX Runtime. El modelo se divide en archivos de codificador y decoder-joint, ambos cuantizados en INT8, con un decodificador greedy TDT que soporta 114 idiomas y un vocabulario BPE de 8192 tokens.

Archivos del modelo

ArchivoTamaño
parakeet-encoder-int8.onnx840 MB
parakeet-decoder-joint-int8.onnx51 MB
vocab.json<1 MB

HuggingFace: aufklarer/Parakeet-TDT-v3-ONNX

Rendimiento

MétricaValor
Idiomas114
CuantizaciónINT8
DecodificadorTDT greedy
Factor tiempo realRTF 0.12 (~150 ms para 1.5 s de audio)
Aceleración por 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);

Código fuente: github.com/soniqo/speech-android