Bhili ASR

Automatic Speech Recognition (ASR) model for Bhili (ΰ€­ΰ₯€ΰ€²ΰ₯€), an Indo-Aryan language spoken by the Bhil people in western India.

This is a fine-tuned version of ai4bharat/indic-conformer-600m-multilingual, trained on ~100 hours of Bhili Read and Spontaneous Speech data. Try out the model here! The ONNX version of the model can be found here.

Quick Start

1. Download Files

huggingface-cli download <YOUR_USERNAME>/bhili-asr --local-dir bhili-asr
cd bhili-asr

2. Extract Tokenizers

tar -xzvf tokenizers.tar.gz

3. Install NeMo Toolkit

⚠️ Important: This model requires a custom NeMo toolkit with multilingual tokenizer support. Do NOT install NeMo from pip or the official NVIDIA repository. You must use the provided NeMo.zip file.

unzip NeMo.zip
cd NeMo
pip install -e .[asr]
cd ..

Verify correct NeMo is installed:

python -c "import nemo; print(nemo.__file__)"

⚠️ Output should point to your local NeMo folder, not system packages.

4. Update Model Paths

Update the tokenizer paths to match your local directory:

python update_paths.py --root_dir /full/path/to/bhili-asr/tokenizers/tokenizers_v3

This creates bhili_asr_finetune_v1_updated.nemo with correct paths.

5. Verify Setup

Your directory should look like:

bhili-asr/
β”œβ”€β”€ bhili_asr_finetune_v1.nemo
β”œβ”€β”€ bhili_asr_finetune_v1_updated.nemo  (created after step 4)
β”œβ”€β”€ tokenizers/
β”‚   └── tokenizers_v3/
β”‚       β”œβ”€β”€ as_256/
β”‚       β”œβ”€β”€ bn_256/
β”‚       β”œβ”€β”€ hi_256/
β”‚       β”œβ”€β”€ mr_256/
β”‚       └── ...
β”œβ”€β”€ NeMo/
└── update_paths.py

Inference

See the GitHub repository for complete setup instructions.

Requirements

  • Python 3.10
  • NeMo toolkit (from provided NeMo.zip)
  • PyTorch 2.0+
  • CUDA 11.8+ (for GPU inference)

Basic Usage

from nemo.collections.asr.models import EncDecHybridRNNTCTCBPEModel

model = EncDecHybridRNNTCTCBPEModel.restore_from("bhili_asr_finetune_v1_updated.nemo")
model.eval()

result = model.transcribe(["audio.wav"], language_id="mr")
print(result[0][0])

⚠️ Note on Tokenizer Choice

Bhili does not currently have a dedicated tokenizer in the IndicConformer model’s supported language set. We use the Marathi (mr) tokenizer as the closest alternative, since both languages use the Devanagari script.

Troubleshooting

Error Solution
KeyError: 'dir' Run update_paths.py with correct absolute path
MultilingualTokenizer not found Install NeMo from provided NeMo.zip, not pip
huggingface_hub errors pip install huggingface_hub==0.23.5 transformers==4.36.0
pyarrow errors pip install numpy==1.26.4 pyarrow==14.0.1 datasets==2.14.0
Downloads last month
15
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for ai4bharat/bhili-asr

Finetuned
(1)
this model