Download README.md from fiste-ai/shravya: direct link, hf CLI and curl.
- Browser
- Download file 9.47 kB
-
https://huggingface.co/fiste-ai/shravya/resolve/main/README.md
- Command line
-
hf download hf://fiste-ai/shravya/README.md
-
curl -L -H "Authorization: Bearer $HF_TOKEN" -o README.md https://huggingface.co/fiste-ai/shravya/resolve/main/README.md
language:
- ne
license: cc-by-nc-4.0
library_name: onnx
pipeline_tag: automatic-speech-recognition
tags:
- automatic-speech-recognition
- speech-recognition
- speech-to-text
- asr
- nepali
- devanagari
- onnx
- conformer
- transducer
- telephony
- code-switching
- streaming
- shravya
- fiste-ai
datasets:
- ai4bharat/IndicVoices
- google/fleurs
- saileshbro/nepali-cs-asr
- Bijay13/nepali-podcast-code-switch-asr-dataset
metrics:
- wer
- cer
model-index:
- name: Shravya 0.1
results:
- task:
type: automatic-speech-recognition
name: Automatic Speech Recognition
dataset:
name: FLEURS (Nepali, test)
type: google/fleurs
config: ne_np
split: test
metrics:
- type: wer
value: 23.9
name: WER
- type: cer
value: 8.2
name: CER
- task:
type: automatic-speech-recognition
name: Automatic Speech Recognition
dataset:
name: NepTel 0.2 (telephone calls)
type: ampixa/neptel
metrics:
- type: wer
value: 38.2
name: WER
extra_gated_heading: Request access to Shravya
extra_gated_prompt: >-
Shravya is free for research and other non-commercial use. We read every
request and approve by hand, usually within a few days. Tell us briefly who
you are and what you plan to do with the model.
extra_gated_fields:
Name or organisation: text
What you will use Shravya for: text
I will use the model for non-commercial purposes only: checkbox
I will not use it to monitor or identify people without their consent: checkbox
extra_gated_button_content: Request access
Shravya (श्रव्य)
Nepali speech recognition by Fiste AI. Speech in, Devanagari text out.
- Accurate. 23.5% word error rate averaged over five test sets, the lowest of the 20 Nepali systems in our benchmark.
- Made for real speech. Conversations, phone calls, podcasts and Nepali with English mixed in.
- Light. One Python file, no graphics card, 28 times faster than real time on a desktop processor.
- Live. Shravya Live writes the text while someone is still speaking, with the fewest errors of the streaming systems we measured. Preview.
Benchmark
Word error rate in percent, lower is better.
| Model | Size | Mean | FLEURS | IndicVoices | IndicVoices (phone) | Podcast | Code-switch |
|---|---|---|---|---|---|---|---|
| Shravya 0.1 | 120M | 23.5 | 23.9 | 11.8 | 13.8 | 34.1 | 33.7 |
| IndicConformer 600M | 600M | 27.3 | 23.7 | 15.0 | 17.9 | 41.7 | 38.4 |
| Rani-IndicConformer (Ampixa Labs) | 129M | 27.5 | 24.9 | 12.2 | 15.1 | 44.9 | 40.4 |
| IndicConformer Nepali | 129M | 27.7 | 24.8 | 11.3 | 13.6 | 48.8 | 40.1 |
| SraVaani 1.0 | 430M | 29.7 | 25.9 | 13.9 | 19.1 | 45.0 | 44.5 |
| Kriti Telephony v1 | 129M | 31.2 | 31.8 | 25.1 | 27.2 | 28.3 | 43.5 |
| Rani (Ampixa Labs) | 121M | 32.1 | 33.8 | 24.9 | 29.3 | 32.5 | 39.8 |
| IndicConformer Nepali int8 | 120M | 33.3 | 29.2 | 16.3 | 21.3 | 54.5 | 45.1 |
| SraVaani code-mix (AI Lab) | 449M | 38.2 | 34.5 | 34.0 | 39.6 | 39.3 | 43.6 |
| IndicConformer code-mix (AI Lab) | 128M | 38.6 | 34.9 | 34.3 | 38.4 | 42.1 | 43.2 |
Shravya was trained on speech like these five test sets, and most of the other systems were not. All 20 systems, three more test sets and the method are in the full benchmark.
Use it
Request access with the form at the top of this page. We approve by hand. Then:
pip install onnxruntime numpy soundfile soxr huggingface_hub
hf auth login
hf download fiste-ai/shravya --local-dir shravya-model
python shravya-model/shravya.py clip.wav
import sys
sys.path.insert(0, "shravya-model")
import shravya
model = shravya.load()
print(model.transcribe("clip.wav")) # standard spelling
print(model.transcribe("call.wav", style="verbatim")) # the way it was said
Shravya Live (preview)
Shravya Live writes the text while someone is still speaking. When the speaker pauses it reads the phrase once
more as a whole, and that is the text to keep. It is a second model, in the folder live/ of the same download.
model = shravya.load("shravya-model/live")
stream = model.stream() # text every 640 ms; chunk_ms=320 answers sooner
for block in microphone: # 16 kHz mono float samples, blocks of any length
print(stream.feed(block)) # the phrase so far
if stream.pause > 0.8: # the speaker has stopped for a moment
print(stream.cut()) # the phrase read once more: the text to keep
print(stream.finish()) # the same for the last phrase
To try it on a recording: python shravya-model/shravya.py --model shravya-model/live --stream clip.wav
Word error rate in percent on the five test sets above, lower is better.
| Shravya Live | Mean | FLEURS | IndicVoices | IndicVoices (phone) | Podcast | Code-switch |
|---|---|---|---|---|---|---|
| Live text, every 640 ms | 28.4 | 31.4 | 17.1 | 21.4 | 35.3 | 36.8 |
| Live text, every 320 ms | 31.8 | 35.7 | 19.6 | 25.7 | 38.1 | 39.5 |
| Final text of a phrase | 23.5 | 24.5 | 13.6 | 16.1 | 30.9 | 32.5 |
On one thread of a desktop processor it runs 8 times faster than real time (5.7 times at 320 ms). It is a preview: measured on recordings fed to it in small blocks, not yet on live calls.
Beside the other streaming systems we have measured, the text each one writes live:
| Streaming system | Size | Step or look-ahead | Mean | FLEURS | IndicVoices | IndicVoices (phone) | Podcast | Code-switch |
|---|---|---|---|---|---|---|---|---|
| Shravya Live | 120M | 640 ms | 28.4 | 31.4 | 17.1 | 21.4 | 35.3 | 36.8 |
| Shravya Live | 120M | 320 ms | 31.8 | 35.7 | 19.6 | 25.7 | 38.1 | 39.5 |
| NepaliConformer streaming (Ampixa Labs) | 121M | 520 ms look-ahead | 52.3 | 54.7 | 51.4 | 57.4 | 38.6 | 59.3 |
| Ratna (Ampixa Labs) | 32M | 320 ms | 54.2 | 56.9 | 48.3 | 53.9 | 46.0 | 65.6 |
Shravya Live makes the fewest errors of the three, on every test set at 640 ms. It is also the largest: Ratna is about a quarter of its size and takes 2.7 times less processor time. More in the full benchmark.
Details
| Version | 0.1, 11 November 2026 |
| Model | Conformer transducer, 119.6M parameters, 500 MB |
| Input | any sound file; long recordings are cut at quiet points |
| Output | Devanagari without punctuation, in standard or verbatim spelling |
| Speed | 28 times faster than real time on 8 processor threads, 1.2 GB of memory |
| Training | fine-tuned on 174 hours of Nepali speech |
| Shravya Live | 0.1 (preview), 13 November 2026: 512 MB in live/, text every 640 or 320 ms, 1.7 GB of memory |
| Licence | weights CC BY-NC 4.0, code MIT |
Limits. No punctuation, and English words come out in Devanagari. Phone calls are still hard (38.2% word error rate on real calls), so check names and numbers. Shravya Live is a preview, and the text it writes while someone is speaking has more errors than its final text.
Using it at work. These weights are non-commercial. For a product or a paid service, a demo on your own recordings, or a pilot in a call centre or a newsroom, write to us: request a demo or fistelabs@gmail.com.
श्रव्य (shravya) means audible. Website · Code
Acknowledgements and licences
- Shravya is fine-tuned from the Nepali IndicConformer by AI4Bharat (MIT License, see
NOTICE.md). - Training speech: IndicVoices and FLEURS (CC BY 4.0),
saileshbro/nepali-cs-asr(CC BY-NC 4.0),Bijay13/nepali-podcast-code-switch-asr-dataset, and telephone speech that is not distributed. That mix is why the weights are non-commercial and by request. - English words in training transcripts were transliterated with the word map of Ampixa/rani-asr (MIT). Some verbatim spellings follow Kriti Telephony (MIT).
- The benchmark names the systems it measures, among them Ratna (Ampixa Labs) and Rani (Ampixa Labs).
@misc{fisteai2026shravya,
title = {Shravya: Nepali speech recognition},
author = {{Fiste AI}},
year = {2026},
url = {https://huggingface.co/fiste-ai/shravya}
}
