Hima-ASR

Hima-ASR is a compact open speech recognition model for 11 Indian languages and English: Assamese, Bengali, Gujarati, Hindi, Kannada, Malayalam, Marathi, Odia, Punjabi, Tamil, Telugu and English.

Task speech to text
Size 0.6B parameters (1.2 GB in bf16)
Input 16 kHz mono audio, 1 to 30 seconds per clip
Output text in the language's own script (native), or with English words in Latin letters (mixed)
Runs on one GPU, or CPU for short clips

Quick start

pip install "transformers>=5.13" torch torchaudio soundfile
import torch
from transformers import AutoModel

model = AutoModel.from_pretrained("Prahaladha/hima-asr", trust_remote_code=True, dtype=torch.float32)
model = model.to("cuda").eval()                       # or leave on CPU

print(model.transcribe("clip.wav", language="hi"))                 # one file -> one string
print(model.transcribe(["a.wav", "b.wav"], language="ta"))          # list -> list
print(model.transcribe("clip.wav"))                                 # the model detects the language
print(model.transcribe("clip.wav", language="hi", style="mixed"))   # English words in Latin letters

transcribe also takes 16 kHz float arrays (sampling_rate= for other rates). On a GPU it runs in bfloat16 automatically.

Argument Values Default
language as bn en gu hi kn ml mr or pa ta te, or None None (detected)
style native (own script), mixed (English words in Latin letters) native
batch_size clips decoded together 16

Giving the language gives the best accuracy.

Architecture

Hima-ASR is an encoder-decoder model in three parts:

  1. Audio encoder: turns 16 kHz speech into acoustic frames (12.5 per second). Initialised from the audio encoder of Qwen3-ASR-1.7B.
  2. Projector: maps the audio encoder's frames into the text decoder's input space.
  3. Text decoder: writes the transcript piece by piece (greedy). Initialised from Gemma 3 270M.

The text decoder can be told the language and writing style, or it can name the language itself before writing.

Benchmarks

Word error rate (WER, %, lower is better). All models are scored on the same clips with the same scorer, the language is given to each model (Sarvam through its API), and text is compared after standard normalisation (punctuation removed, Unicode NFC). Best result per row in bold.

Model Parameters
Hima-ASR 0.6B
Indic-Transcribe-Flex 1.2B
Indic-Transcribe-Core 1.2B
Sarvam Saaras v3 (API) not published

By language

Language Hima-ASR Flex Core Sarvam Saaras v3
English 7.5 6.4 6.9 4.0
Gujarati 10.2 10.5 10.1 10.6
Kannada 11.1 13.5 13.0 11.7
Punjabi 10.9 9.4 9.1 9.7
Bengali 12.3 10.9 10.0 10.5
Odia 12.5 12.9 12.3 11.1
Telugu 13.4 15.0 14.6 15.5
Marathi 13.9 13.4 13.4 12.0
Hindi 14.2 13.2 13.1 16.6
Malayalam 15.0 16.8 16.5 16.7
Assamese 17.0 15.8 15.2 14.7
Tamil 17.4 20.9 19.8 20.5
Average (12 languages) 12.95 13.23 12.84 12.79

Hima-ASR has the lowest error of the four in Tamil, Telugu, Malayalam and Kannada, and beats Sarvam in Hindi (14.2 vs 16.6). On the 12-language average it beats Flex and is within 0.2 points of Core (12.84) and Sarvam (12.79); Sarvam is best on English.

By test set

Test set Language Hima-ASR Flex Core Sarvam Saaras v3
Kathbath (read speech) Hindi 3.4 2.5 2.6 3.4
Kathbath Bengali 8.3 5.4 5.1 7.2
Kathbath Gujarati 7.3 5.4 5.2 6.7
Kathbath Odia 8.3 10.0 8.7 8.6
Kathbath Punjabi 8.1 7.1 6.9 7.7
Kathbath Kannada 9.5 11.7 10.4 11.4
Kathbath Marathi 11.0 8.8 8.7 9.9
Kathbath Telugu 12.9 12.8 11.6 13.7
Kathbath Tamil 15.4 14.1 13.8 15.0
Kathbath Malayalam 19.9 26.8 23.6 25.2
FLEURS Hindi 5.7 4.3 4.2 4.9
FLEURS 12 languages, average 12.7 12.7 12.3 12.0
Lahaja (many accents) Hindi 8.8 8.1 8.0 12.1
Monsoon (conversational) Hindi 11.1 8.0 7.6 9.9
Monsoon (conversational) English 4.2 6.1 6.3 3.5
Svarah (Indian-accented) English 11.4 6.8 7.8 4.7
Gram Vaani (phone-quality, rural) Hindi 17.2 16.5 16.4 20.1

More test sets: conversational and read speech from two more public collections (SPRING-INX and MILE), 18 sets, about 1,100 to 1,500 clips each.

Test set Language Words Hima-ASR Flex Core Sarvam Saaras v3
SPRING-INX round 1 Assamese 21,758 35.6 38.5 37.9 38.9
SPRING-INX round 2 Assamese 25,447 33.4 35.6 34.9 37.2
SPRING-INX round 1 Bengali 25,210 26.2 26.9 26.4 26.8
SPRING-INX round 2 Bengali 23,672 27.3 27.8 27.3 28.1
SPRING-INX round 1 Gujarati 29,707 35.9 37.2 35.9 36.4
SPRING-INX round 2 Gujarati 27,419 39.6 41.1 39.9 39.9
MILE Kannada 19,997 13.8 15.8 15.0 15.5
SPRING-INX round 1 Kannada 16,169 49.0 58.0 57.5 53.8
SPRING-INX round 1 Malayalam 17,966 47.3 49.0 47.9 47.8
SPRING-INX round 2 Malayalam 18,516 50.8 52.9 52.4 51.9
SPRING-INX round 1 Marathi 16,992 38.7 39.6 38.3 37.1
SPRING-INX round 2 Marathi 25,875 34.2 38.6 34.0 33.0
SPRING-INX round 1 Odia 21,014 35.3 40.0 38.8 37.3
SPRING-INX round 1 Punjabi 24,950 30.3 32.8 30.9 30.6
SPRING-INX round 2 Punjabi 27,150 33.1 34.7 33.4 33.3
MILE Tamil 10,966 14.0 18.8 17.3 18.7
SPRING-INX round 1 Tamil 25,941 36.4 46.5 44.7 39.6
SPRING-INX round 2 Tamil 19,107 37.5 50.5 48.1 40.9

Hima-ASR has the lowest error of the four on 15 of these 18 sets; it is ahead of Core on 15, of Sarvam on 16 and of Flex on all 18.

Files

File What it is
model.safetensors weights (bf16)
config.json, configuration_hima_asr.py configuration
modeling_hima_asr.py model code (loaded with trust_remote_code=True)
preprocessor_config.json audio feature settings
tokenizer.json, tokenizer_config.json text decoder tokenizer

Limitations

  • Clips longer than 30 seconds should be split before transcription.
  • Accuracy is lower on phone-quality and noisy audio than on clean speech.
  • Without a language hint, the model can occasionally write a clip in the script of a related language.
  • Proper nouns and rare words are the most common errors.

License

  • Hima-ASR's own parts (projector, training changes, inference code): Apache 2.0, see LICENSE.
  • Audio encoder: initialised from Qwen3-ASR-1.7B, Apache 2.0.
  • Text decoder: initialised from Gemma 3 270M. Gemma is provided under and subject to the Gemma Terms of Use found at ai.google.dev/gemma/terms, including its use restrictions. Hima-ASR is a Model Derivative of Gemma, so any use or redistribution of Hima-ASR must follow those terms. See NOTICE.
Downloads last month
321
Safetensors
Model size
0.6B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for Prahaladha/hima-asr

Finetuned
(143)
this model

Evaluation results