Parakeet TDT — Android

Parakeet TDT v3はONNX Runtime経由でAndroidとembedded Linux上で動作します。モデルはエンコーダーとdecoder-jointファイルに分割されており、どちらもINT8量子化されています。114言語と8192トークンのBPE語彙をサポートするTDTグリーディデコーダーを備えています。

モデルファイル

ファイルサイズ
parakeet-encoder-int8.onnx840 MB
parakeet-decoder-joint-int8.onnx51 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);

ソースコード: github.com/soniqo/speech-android