Начало работы — Android
speech-android обеспечивает обработку речи на устройстве для Android через ONNX Runtime. Пайплайн запускает VAD + STT + TTS с поддержкой barge-in, полностью офлайн после загрузки моделей.
Требования
- Android 8+ (API 26)
- Архитектура arm64-v8a
Скачайте готовое демо-приложение, чтобы попробовать его сразу:
Gradle-зависимость
Добавьте SDK в ваш build.gradle.kts:
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) // 16 кГц моно float32
Важно
Модели автоматически скачиваются с HuggingFace при первом использовании (~1.2 ГБ всего). После первой загрузки весь инференс работает полностью офлайн.
Модели
Все модели работают через ONNX Runtime с ускорением NNAPI. По умолчанию INT8-квантизация.
| Модель | Задача | Размер |
|---|---|---|
| Parakeet TDT v3 (INT8) | Распознавание речи (114 языков) | 490 МБ |
| Kokoro-82M (INT8) | Синтез речи (7 языков) | 89 МБ |
| Silero VAD v5 | Детекция голосовой активности | 1.2 МБ |
| DeepFilterNet3 (FP16) | Подавление шума | 4.2 МБ |
Исходный код: github.com/soniqo/speech-android
Следующие шаги
- Бенчмарки — производительность Android-инференса
- Linux C API — настройка для встраиваемого Linux