live speech in, speech out — every demo below runs on our own models, on one Mac Studio in Kathmandu.
NepaliConformer: a 121M-parameter Conformer trained on ~1,700 h of conversational Nepali. 33.8 WER on real call-centre audio, where Whisper-large-v3 scores 96. Full-context decoding on CPU.
Model: ampixa/nepali-conformer-offline (CC-BY-NC-4.0) · code and the NepTel benchmark: Ampixa/nepaliconformer. Audio is transcribed and discarded; nothing is stored. Known weak spots: English words, singing, very slow speech.
Sixteen server voices in five languages plus three that run inside your browser. Nepali via Kokoro/StyleTTS2 fine-tunes and the Kala VITS family; Limbu, Gurung, Dhimal and Bantawa via rule-based G2P and small VITS voices.
Kokoro voices: kokoro-nepali-tts · Kala: ampixa/kalaTTS (CC-BY-SA-4.0) · Gurung: gurung-tts-v0 · Limbu: limbu-piper-lifwbt · sanoTTS (browser, GPL-3.0): Ampixa/sanoTTS, weights. Limbu, Gurung, Dhimal and Bantawa input is Devanagari; the Bible-audio voices (Gurung, Bantawa, Limbu) are research prototypes.
NLLB-200 (600M) fine-tuned on a Limbu (Yakthung) parallel corpus, routed per direction to whichever of two checkpoints scores higher. Limbu directions sit around chrF 22 (zero-shot NLLB: 7.5) — a low-resource fine-tune demo, not a finished translator. Nepali ↔ English is the base model's own strength.
Models: ampixa/nllb-limbu-600m and a gold-tuned sibling (CC-BY-NC-4.0, inherits NLLB).
Limbu is written in Devanagari here and rides NLLB's hin_Deva tag. Beam search, 4 beams, on CPU: expect a few seconds.
LimbuOCR: page-to-book OCR for the Sirijonga script (U+1900–U+194F) with a Devanagari route for the wider Nepal language pack. 0.47% codepoint CER on 902 held-out Sirijonga lines; 2.6% page CER end to end. PaddleOCR detection plus fine-tuned PP-OCRv5 recognisers.
Code and paper: Ampixa/limbu-ocr. Sample crops are from Gorkhapatra's Limbu-language e-paper (© Gorkhapatra Sansthan, shown here for demonstration only). A page with 100+ lines takes 15–30 s on CPU; pick the script explicitly, the auto router is tuned for Sirijonga.
Nepa Keyboard is an offline-first keyboard for Nepali, Limbu, Nepal Bhasa, Lohorung, Dhimal, Yakkha, Tamang, Khaling and Dumi, in Devanagari, Sirijonga and Prachalit (Newa) script. These are the phone layouts from the project's layout registry, rendered live: click the keys, or use your physical keyboard (QWERTY positions map to the rows).
Layouts adapted from xkeyboard-config (Nepali basic) and project-authored derivatives under native-speaker review; the Android IME, dictionary packs (33 targets, 74 input methods) and validation evidence live in the Nepa Keyboard repository.
Two live pieces from our NSL research: fingerspelling recognition that runs entirely in your browser, and isolated-sign retrieval against a 3,653-sign dictionary on the server. Plus the numbers, including the ones that are not good yet.
Show one hand to the camera and form NSL alphabet letters. MediaPipe hand landmarks feed a 42×128×128×49 MLP trained on the public nsl-fingerspelling-poses set (CC-BY-4.0). Leave-one-signer-out top-1 78%, top-3 94%; camera frames never leave your browser.
Record one isolated sign (2–4 s). RTMPose keypoints → frozen Uni-Sign pose encoder → nearest dictionary glosses. Honest signer-independent accuracy for this path: top-1 11%, top-5 30% against 3,653 signs (chance 0.03%). Takes 10–30 s on CPU.
| isolated signs | top-5 ≈ 0.30 against a 3,653-entry gallery — works, modestly (that is the demo above) |
| continuous signing | top-5 ≈ 0.05; no trained checkpoint beats the untrained baseline under matched evaluation |
| sign → text | the translator collapses to a language-model prior and ignores the pose input |
| why | broadcast interpreters sign the gist, not the words; caption-derived labels are weak supervision. Next step is human-verified alignment with the deaf community. |
~5,000 (signing, text) pairs from parliamentary broadcasts, a 2,699-sign gloss dictionary, a 219-clip human-confirmed benchmark. Project page: ampixa.github.io/nsl-site.
For each language we keep the linguistics next to the models: a rule-based G2P you can read, a reference grammar, parallel corpora with provenance, and native-speaker review tools.
Translator, reference grammar (phonology, case, pronouns, verb, syntax), Muna Madan in Limbu, and a native-speaker review tool.
limbu-speech-toolkit · nepal-ttf2utf (legacy font → Unicode)
Rule-based Devanagari → IPA G2P with the first characterisation of Gurung's ZWJ half-consonant clusters (म्ह, न्ह, ल्ह); drives the voice above.
G2P, transliteration and a Magar ↔ Nepali parallel corpus with NLLB baselines.
Contrast-preserving G2P (breathy series kept, visarga read as length) and the voice above.
Bantawa G2P with a 2,040-entry gold IPA lexicon that recovers /ɨ/ and /ʔ/ Devanagari cannot write.
The G2P, normaliser and prosody frontend behind every Nepali voice on this page (profile real_nepali_v0.3).
ACE-Step 1.5 with a Nepali LoRA (r=64 on the diffusion renderer) trained on 706 pre-2024 clips: 281 folk songs and 425 isolated madal, sarangi and bansuri recordings. It moved diction and timbre; the tune only follows when a real reference recording is supplied.
Live generation (12 s clips, 20 steps, ~10 s on an idle M2 Ultra) is wired as a worker but switched off while this box is shared with training jobs. muscript, our transcription pilot, ran five MIDI transcription systems and a 108-run stem ablation over dohori recordings; the annotation dashboard stays on the lab network.
Everything here runs on one Mac Studio (M2 Ultra) on CPU, behind a Cloudflare tunnel: six model workers and a gateway, no GPU, no cloud inference. Requests are processed and dropped; nothing you say, type or upload is kept.
| demo | model | runtime | licence |
|---|---|---|---|
| listen | nepali-conformer-offline, 121M Conformer TDT/CTC | NeMo, CPU, RTF ~0.05 | CC-BY-NC-4.0 |
| speak · Nepali | Kokoro-82M fine-tunes (Sama Thapa, male v1) · Kala v0.4 six speakers | PyTorch / ONNX Runtime, CPU, RTF 0.02–0.2 | Apache-2.0 · CC-BY-SA-4.0 |
| speak · other languages | Limbu, Gurung, Dhimal, Bantawa (Piper/VITS) | PyTorch / ONNX Runtime, CPU, RTF < 0.05 | research; Bible-audio voices CC-BY-NC-ND |
| speak · in browser | sanoTTS nepali, hindi, heart-nano (294k params) | WebAssembly in your tab | GPL-3.0 |
| translate | nllb-limbu-600m + gold-tuned sibling | Transformers, CPU, 2–8 s per sentence | CC-BY-NC-4.0 |
| read | LimbuOCR Sirijonga ft-v2, deva-v2, PP-OCRv6 detector | PaddleOCR, CPU | Apache-2.0 |
Source for this page and its workers is in the Ampixa GitHub organisation. Find us at github.com/Ampixa, huggingface.co/ampixa, or ampixa.com.
© ampixa labs · Devanagari wordmark set in "8-bit devanagari" by colonelhathii (CC BY-NC 3.0)