STT_MODELS_FOR_APP / README.md
remiai3's picture
Update Model Card with mobile Sherpa-ONNX specs
667748c verified
|
Raw History Blame Contribute Delete
2.67 kB
---
license: mit
language:
- hi
- bn
- te
- ta
- mr
- gu
- kn
- ml
- pa
- or
- as
- ur
- sa
- ne
- kok
- mai
- brx
- doi
- ks
- mni
- sat
- sd
- en
tags:
- audio
- automatic-speech-recognition
- speech-to-text
- onnx
- int8
- sherpa-onnx
- indicconformer
- ai4bharat
- mobile-edge
pipeline_tag: automatic-speech-recognition
---
# 🎙️ BharatBhasha AI - Speech Recognition (STT) Models
Production-grade, INT8-quantized acoustic models based on **AI4Bharat IndicConformer** for real-time offline speech transcription in 22 Indian scheduled languages + English.
## 📦 Model Artifacts & Architecture
| Language | Model File | Vocabulary File | Size | Format |
|---|---|---|---|---|
| Telugu (`te`) | `indic_conformer_te.onnx` | `tokens.txt` | 188 MB | NeMo CTC INT8 ONNX |
| Hindi (`hi`) | `indic_conformer_hi.onnx` | `tokens.txt` | 188 MB | NeMo CTC INT8 ONNX |
| Tamil (`ta`) | `indic_conformer_ta.onnx` | `tokens.txt` | 188 MB | NeMo CTC INT8 ONNX |
| Kannada (`kn`) | `indic_conformer_kn.onnx` | `tokens.txt` | 188 MB | NeMo CTC INT8 ONNX |
| Bengali (`bn`) | `indic_conformer_bn.onnx` | `tokens.txt` | 188 MB | NeMo CTC INT8 ONNX |
| Marathi (`mr`) | `indic_conformer_mr.onnx` | `tokens.txt` | 188 MB | NeMo CTC INT8 ONNX |
| Gujarati (`gu`) | `indic_conformer_gu.onnx` | `tokens.txt` | 188 MB | NeMo CTC INT8 ONNX |
| Malayalam (`ml`) | `indic_conformer_ml.onnx` | `tokens.txt` | 188 MB | NeMo CTC INT8 ONNX |
| Punjabi (`pa`) | `indic_conformer_pa.onnx` | `tokens.txt` | 188 MB | NeMo CTC INT8 ONNX |
| Odia (`or`) | `indic_conformer_or.onnx` | `tokens.txt` | 188 MB | NeMo CTC INT8 ONNX |
| English (`en`) | `indic_conformer_en.onnx` | `tokens_en.txt` | 188 MB | NeMo CTC INT8 ONNX |
| All other Indian Langs | `indic_conformer_<lang>.onnx` | `tokens.txt` | 188 MB | NeMo CTC INT8 ONNX |
## 📱 Mobile Android Deployment (Sherpa-ONNX)
Add to `build.gradle.kts`:
```kotlin
dependencies {
implementation("com.k2fsa.sherpa.onnx:sherpa-onnx:1.10.30")
}
```
Initialize offline recognizer:
```kotlin
val config = OfflineRecognizerConfig(
featConfig = FeatureConfig(sampleRate = 16000, featureDim = 80),
modelConfig = OfflineModelConfig(
nemoCtc = OfflineNemoEncDecCtcModelConfig(model = modelPath),
tokens = tokensPath,
numThreads = 2,
debug = false
)
)
val recognizer = OfflineRecognizer(config)
```
## ⚡ Performance Highlights
- **100% Offline**: Zero internet connection or Google speech services required.
- **Native Script Output**: Emits authentic Unicode characters (Telugu script, Devanagari, Bengali, Tamil, etc.).
- **Latency**: Real-Time Factor (RTF) < 0.25 on standard Android mobile processors.