はじめに — Android
speech-androidはONNX Runtimeを使用してAndroid上でオンデバイス音声処理を提供します。パイプラインはVAD + STT + TTSをバージインサポートで実行し、モデルダウンロード後は完全にオフラインで動作します。
動作要件
- Android 8+ (API 26)
- arm64-v8a アーキテクチャ
すぐに試すためにプリビルドデモアプリをダウンロード:
Gradle依存関係
build.gradle.ktsにSDKを追加します:
implementation("audio.soniqo:speech:0.0.5")
クイックスタート
val modelDir = ModelManager.ensureModels(context)
val pipeline = SpeechPipeline(SpeechConfig(modelDir = modelDir))
pipeline.events.collect { event ->
when (event) {
is SpeechEvent.TranscriptionCompleted -> println(event.text)
is SpeechEvent.ResponseDone -> pipeline.resumeListening()
else -> {}
}
}
pipeline.start()
pipeline.pushAudio(samples) // 16kHz mono float32
重要
モデルは初回使用時にHuggingFaceから自動ダウンロードされます(合計約1.2 GB)。初回ダウンロード後、すべての推論は完全にオフラインで実行されます。
モデル
すべてのモデルはNNAPIアクセラレーションを備えたONNX Runtime経由で実行されます。デフォルトでINT8量子化されます。
| モデル | タスク | サイズ |
|---|---|---|
| Parakeet TDT v3 (INT8) | 音声認識 (114言語) | 490 MB |
| Kokoro-82M (INT8) | 音声合成 (7言語) | 89 MB |
| Silero VAD v5 | 音声区間検出 | 1.2 MB |
| DeepFilterNet3 (FP16) | ノイズキャンセリング | 4.2 MB |
ソースコード: github.com/soniqo/speech-android
次のステップ
- Benchmarks — Android 推論パフォーマンス
- Linux C API — embedded Linux セットアップ