Parakeet TDT — Android
Parakeet TDT v3はONNX Runtime経由でAndroidとembedded Linux上で動作します。モデルはエンコーダーとdecoder-jointファイルに分割されており、どちらもINT8量子化されています。114言語と8192トークンのBPE語彙をサポートするTDTグリーディデコーダーを備えています。
モデルファイル
| ファイル | サイズ |
|---|---|
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);
ソースコード: github.com/soniqo/speech-android