Downloads · 30 days
4
5% of all-time downloads
sumanpaudel1997/nepali-asr-mms-1b
nepali-asr-mms-1b is a automatic speech recognition model from sumanpaudel1997. Use it when you need speech turned into text. It is set up for transformers. The card lists the license as cc-by-nc-4.0.
Fine-tuned multilingual pre-trained ASR for Nepali — part of the controlled six-model Nepali ASR Benchmark released alongside the paper Comparative Analysis of Multilingual Pre-trained Models for Nepali Automatic Spee…
Downloads · 30 days
4
5% of all-time downloads
All-time downloads
79
Public
Parameters
965M
3.9 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors3.9 GB · 100%
From the Hugging Face model README
Fine-tuned multilingual pre-trained ASR for Nepali — part of the controlled six-model Nepali ASR Benchmark released alongside the paper Comparative Analysis of Multilingual Pre-trained Models for Nepali Automatic Speech Recognition.
| Field | Value |
|---|---|
| Base model | facebook/mms-1b-all |
| Architecture family | CTC self-supervised (Wav2Vec 2.0) |
| Parameters | 965M |
| Language | Nepali (ne), Devanagari script |
| Fine-tuning corpus | OpenSLR SLR54 (~165 hr, speaker-disjoint 80/10/10 split) |
| Training duration | 19.2 h on a single NVIDIA L4 (24 GB VRAM) |
| Best epoch | 4 (early-stopped) |
Word and character error rate on the three independent test sets, plus inference Real-Time Factor (RTF) on a single NVIDIA L4 with batch size 1 (lower RTF = faster).
| Test set | WER (%) | CER (%) | RTF |
|---|---|---|---|
| OpenSLR SLR54 (in-domain) | 27.28 | 6.06 | 0.0214 |
| FLEURS (ne_np) | 39.83 | 10.66 | 0.0230 |
| Common Voice (ne-NP) | 58.65 | 15.08 | 0.0197 |
WER and CER are computed with jiwer after
NFC normalisation of both reference and hypothesis. Best in-domain
performance during training was WER 26.99% / CER 6.09%.
Note on Common Voice (Nepali). As of 2025, Mozilla distributes Common Voice via the Mozilla Data Collective (MDC) instead of the Hugging Face Hub. The benchmark numbers below were produced on the ne-NP test split of CV 25.0 downloaded from MDC.
# pip install transformers librosa soundfile torch
import torch
import librosa
import unicodedata
from transformers import Wav2Vec2ForCTC, AutoProcessor
REPO = "sumanpaudel1997/nepali-asr-mms-1b"
device = "cuda" if torch.cuda.is_available() else ("mps" if torch.backends.mps.is_available() else "cpu")
processor = AutoProcessor.from_pretrained(REPO)
model = Wav2Vec2ForCTC.from_pretrained(REPO).to(device).eval()
# Load and resample to 16 kHz mono (the training rate).
audio, _ = librosa.load("your_clip.wav", sr=16000, mono=True)
inputs = processor(audio, sampling_rate=16000, return_tensors="pt", padding=True)
with torch.no_grad():
logits = model(inputs.input_values.to(device)).logits
pred_ids = torch.argmax(logits, dim=-1)
text = processor.batch_decode(pred_ids)[0]
text = unicodedata.normalize("NFC", text).strip()
print(text)
# Example output (depends on clip): 'नेपालको संविधानले सबै नागरिकलाई समान अधिकार प्रदान गर्दछ।'
Full hyperparameters and the controlled comparison across all six models are in the paper (see Citation).
Released under CC-BY-NC-4.0 — research/non-commercial use, attribution required. The licences of the source base model (linked above) and of the fine-tuning datasets (OpenSLR SLR54, FLEURS, Common Voice) apply on top of this restriction. For commercial use, contact the authors.
M.Sc. (Data Science) thesis carried out at the School of Mathematical Sciences, Institute of Science and Technology, Tribhuvan University, Kathmandu, Nepal, under the supervision of Asst. Prof. Sarbin Sayami (Central Department of Computer Science and Information Technology). Thanks to the open-source teams behind Wav2Vec 2.0, Whisper, MMS, IndicWav2Vec, and NVIDIA NeMo for the publicly released base checkpoints, and to OpenSLR, Google FLEURS, and Mozilla Common Voice for the source corpora.