File size: 2,686 Bytes
3ea27f9
 
 
775eb32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3ea27f9
 
775eb32
 
3ea27f9
 
775eb32
 
 
 
 
 
 
 
 
 
 
 
dd7acc3
775eb32
 
 
 
 
 
 
3ea27f9
775eb32
 
 
 
 
3ea27f9
775eb32
3ea27f9
 
 
 
 
 
 
775eb32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
---
language: [ne]
license: cc-by-nc-4.0
library_name: nemo
pipeline_tag: automatic-speech-recognition
tags: [automatic-speech-recognition, speech, nemo, conformer, streaming, telephony, nepali, nepal]
model-index:
- name: nepali-conformer-streaming
  results:
  - task:
      type: automatic-speech-recognition
    dataset:
      name: NepTel v0.1 (real Nepali call-center audio, human-reviewed)
      type: neptel
    metrics:
    - type: wer
      value: 59.87
      name: Real-call WER
    - type: cer
      value: 41.08
      name: Real-call CER
  - task:
      type: automatic-speech-recognition
    dataset:
      name: Held-out gold read Nepali (W1 read slice, OpenSLR-54 utterances absent from training)
      type: w1-read
    metrics:
    - type: wer
      value: 31.5
      name: Read-speech WER
---

<p align="center"><img src="https://raw.githubusercontent.com/Ampixa/nepaliconformer/master/assets/logo.svg" width="140"></p>

# nepali-conformer-streaming

Cache-aware **streaming** Nepali ASR (520 ms lookahead). Carries a large, honestly-reported streaming-lineage penalty on real calls — read RESULTS.md before choosing this over the offline model; it exists because a phone agent needs incremental output.

**Try it:** [demo Space](https://huggingface.co/spaces/voidash/nepaliconformer) ·
**Everything else:** [github.com/Ampixa/nepaliconformer](https://github.com/Ampixa/nepaliconformer)
(NepTel benchmark, per-system outputs, full honest results)

## Numbers (measured, not marketed)

| benchmark | WER |
|---|---|
| NepTel — real Nepali call audio, human-reviewed refs | **59.87** |
| Held-out gold read Nepali (W1 slice) | 31.5 |
| Whisper-large-v3 zero-shot on the same NepTel audio | 96.3 |

## Architecture

121.3M-parameter 17-layer Conformer (d=512, striding ×4, 40 ms frames), hybrid TDT/CTC decoder,
1,024-piece Devanagari SentencePiece. Chunked-limited attention [[70,13],[70,6],[70,1],[70,0]], fully causal convolutions, cache-aware incremental decoding.

## Training data

~1,655 h of mostly conversational Nepali (YouTube podcasts/interviews) with Google Chirp 2
pseudo-labels + 105 h human-labeled read speech; telephony codec, noise, reverb and tempo
augmentation. Label-noise ceiling and every measured limitation (English, sung speech, slow
speech, end-of-turn) are documented in the
[repo's RESULTS.md](https://github.com/Ampixa/nepaliconformer/blob/master/RESULTS.md).

## Usage

```python
from nemo.collections.asr.models import EncDecHybridRNNTCTCBPEModel
m = EncDecHybridRNNTCTCBPEModel.restore_from("nepali_conformer_streaming.nemo")
print(m.transcribe(["audio.wav"])[0].text)
```

License: CC-BY-NC-4.0 (weights). Code in the repo: MIT.