시작하기 — Android
speech-android는 ONNX Runtime을 사용해 Android를 위한 온디바이스 음성 처리를 제공합니다. 파이프라인은 barge-in 지원과 함께 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 모노 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
다음 단계
- 벤치마크 — Android 추론 성능
- Linux C API — 임베디드 Linux 설정