Metadata-Version: 2.4
Name: indic-asr-onnx
Version: 0.2.0
Summary: Quantized IndicConformer ASR models for multiple Indian languages
Keywords: asr,speech-recognition,indic-languages,multilingual,conformer,ctc,rnnt,onnx,quantized
Author: Atharva Verma
Author-email: Atharva Verma <atharva.verma18@gmail.com>
License-Expression: MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Dist: torch>=2.0.0
Requires-Dist: torchaudio>=2.0.0
Requires-Dist: onnxruntime>=1.15.0
Requires-Dist: huggingface-hub>=0.17.0
Requires-Dist: numpy>=1.21.0
Requires-Dist: torchcodec
Requires-Python: >=3.8
Description-Content-Type: text/markdown

# Indic ASR Quantized

A helper package to use Quantized Indic ASR (Automatic Speech Recognition) for multiple Indic languages.

The original model was developed by AI4Bharat and can be found [here](https://huggingface.co/ai4bharat/indic-conformer-600m-multilingual)

## Installation

### CPU-only Installation (Recommended for limited resources)
```bash
pip install uv
uv pip install indic-asr-onnx --extra-index-url https://download.pytorch.org/whl/cpu
```

### GPU Installation
```bash
pip install uv
uv pip install indic-asr-onnx --extra-index-url https://download.pytorch.org/whl/cu113
```

## Quick Start

```python
from indic_asr_onnx import IndicTranscriber

# Initialize (downloads model automatically)
transcriber = IndicTranscriber()

# Transcribe audio using CTC head
text = transcriber.transcribe_ctc("audio.wav", "hi")  # Hindi
print(text)

# Transcribe audio using RNN-T head
text = transcriber.transcribe_rnnt("audio.wav", "hi")  # Hindi
print(text)
```

## Supported Languages

- Assamese (as)
- Bengali (bn)
- Bodo (brx)
- Dogri (doi)
- Gujarati (gu)
- Hindi (hi)
- Kannada (kn)
- Kashmiri (ks)
- Konkani (kok)
- Maithili (mai)
- Malayalam (ml)
- Manipuri (mni)
- Marathi (mr)
- Nepali (ne)
- Odia (or)
- Punjabi (pa)
- Sanskrit (sa)
- Santali (sat)
- Sindhi (sd)
- Tamil (ta)
- Telugu (te)
- Urdu (ur)

## Features

- **Quantized Models**: INT8 quantization for efficient CPU inference
- **Multiple Languages**: Support for 22 Indic languages
- **Two Modes**: CTC and RNN-T decoding
- **Auto Download**: Models download automatically on first use
- **ONNX Runtime**: Optimized inference with ONNX

## Audio Requirements

- Format: WAV, MP3, FLAC, etc.
- Sample Rate: Auto-resampled to 16kHz
- Channels: Mono (auto-converted)