Instructions to use ampixa/rani-asr with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- NeMo
How to use ampixa/rani-asr with NeMo:
import nemo.collections.asr as nemo_asr asr_model = nemo_asr.models.ASRModel.from_pretrained("ampixa/rani-asr") transcriptions = asr_model.transcribe(["file.wav"]) - Notebooks
- Google Colab
- Kaggle
You need to agree to share your Hugging Face information to access this model
This repository is publicly accessible, but you have to accept the conditions to access its files and content.
Rani is released with approval. If you distill it, use it or its outputs to train or evaluate another model, or distribute a derivative, name it properly as Rani (Ampixa Labs) in your model card or documentation. See LICENSE.md.
Log in or Sign Up to review the conditions and access this model content.
Rani (रानी)
Nepali speech-to-text from Ampixa Labs. Rani was previously called NepaliConformer. Every flavour is in this repository.
| folder | model | what it is for |
|---|---|---|
rani/ |
Rani | customer calls and read speech |
rani-indicconformer/ |
Rani-IndicConformer | a full IndicConformer fine-tune for clean speech |
nepali-conformer/ |
NepaliConformer offline | our older offline model |
nepali-conformer-streaming/ |
NepaliConformer streaming | our older streaming model |
Code, results and scorer: https://github.com/Ampixa/rani-asr. Page: https://ampixa.com/rani/. Demo: https://huggingface.co/spaces/voidash/rani-asr.
Results
NepTel 0.2 is real Nepali phone audio at 8 kHz: 78 segments, 2,647 words, 31.5 minutes. A human listened to and corrected every reference, starting from a draft by our LONG1C model. Mistakes per 100 words, no language model:
| system | mistakes per 100 words | gap to Rani (95% CI) |
|---|---|---|
| Rani | 33.5 | |
| IndicConformer Finetune + NepaliConformer Distilled (KritiTelephony) | 37.9 | +4.4 (+1.9, +6.9) |
| NepaliConformer offline | 39.7 | +6.2 (+3.2, +9.0) |
| AI4Bharat IndicConformer | 47.6 | +14.1 (+10.4, +18.0) |
Read speech, mistakes per 100 letters.
| test | Rani (language model) | IndicConformer Finetune + NepaliConformer Distilled (KritiTelephony) | IndicConformer |
|---|---|---|---|
| PVSpeech, 93 sentences (also used to select the checkpoint) | 3.6 | 3.8 | 9.8 |
| FLEURS Nepali, 726 sentences | 10.4 | 9.9 | 7.4 |
The language model is not part of this release. Rani-IndicConformer scores 3.9 on PVSpeech.
Usage
import nemo.collections.asr as nemo_asr
from omegaconf import OmegaConf, open_dict
model = nemo_asr.models.EncDecHybridRNNTCTCBPEModel.restore_from("rani/rani.nemo", map_location="cpu", strict=False).eval()
with open_dict(model.cfg):
model.cfg.validation_ds = OmegaConf.create({"use_start_end_token": False})
model.change_decoding_strategy(model.cfg.decoding, decoder_type="rnnt")
print(model.transcribe(["audio_16k.wav"])[0].text)
For Rani-IndicConformer use nemo_asr.models.ASRModel.restore_from and pass language_id="ne" to transcribe. It loads on the NeMo 1.23.0rc0 build used for IndicConformer and does not load on NeMo 3.0.0.
Licence
Rani and Rani-IndicConformer are under LICENSE.md. If you distill them, use them or their outputs to train or evaluate another model, or distribute a derivative, name it properly as Rani (Ampixa Labs) in that model's card or documentation, and keep that credit when you pass it on. The NepaliConformer files keep the terms of their original repositories, offline and streaming.
- Downloads last month
- 1
