Nepali text while you speak.
Try Ratna रत्न
Runs in your browserRatna writes Nepali text on your device while you are still talking.
Ready when you are. Model downloads on first use.
Or try a sample
Samples play aloud as the text grows. All use the same synthetic voice.
Runs entirely in your browser. Audio never leaves your device.
Ratna is Ampixa's small streaming Nepali speech recognizer. It produces text as audio arrives and runs locally on a CPU. Its size and speed suit captions, voice typing and first-pass transcripts that a person can correct.
The tests below cover read speech, natural speech, real Nepali phone audio and exact capture of identifiers.
From your voice to text.
Your browser processes audio in chunks. The streaming Zipformer2 encoder, prediction network and joiner produce text through sherpa-onnx WebAssembly. The model is exported as int8 ONNX. Audio stays on your device.
What does the speed readout measure?
RTF is inference compute time divided by audio time. The readout includes waveform processing, decoding and the silence flush. It excludes model loading, audio decoding, playback waits and screen updates. Short clips vary with device load. These synthetic samples demonstrate streaming; they are not an accuracy benchmark.
What did we build?
A streaming transducer with a causal Zipformer2 encoder, a prediction network and a joiner. Ratna uses greedy decoding with a vocabulary of 2,048 tokens.
The release advances in 320 ms audio chunks. This is the step size, not a measured speech-to-screen delay. Its conversational-memory pathway is empty; each utterance is decoded independently.
Training used public and synthetic speech, including machine-generated labels. Label provenance is incomplete for part of the material, so this is a research release.
Which tests are these?
The frozen benchmark scores every model on the same audio under its legacy normalization. CER counts character edits, including spaces; WER counts word edits. Both are percentages of the reference length.
| Test | Evaluation size |
|---|---|
| PV, read speech | 100 recordings, four speakers |
| Fresh, natural speech | 96 clips, twelve voices; machine-drafted, corrected references |
| FLEURS, Nepali read speech | 726 sentences |
| Exact entities | 132 real Nepali customer-service phone calls |
Intervals use 10,000 bootstrap resamples at 95% confidence: speaker groups for PV and Fresh, sentences for FLEURS. Some test transcripts overlap Ratna's training text; training exposure of comparison models is not established. Whisper uses fixed Nepali, greedy, 30-second windows. Ratna runs int8; comparison models retain their standard float32 setups.
NepTel 0.2 and the public PVSpeech half use NepTel 0.2 normalization and are separate from the legacy-scored benchmark.
What does the smaller file buy?
| Model | File size, MB | Peak RAM, MiB |
|---|---|---|
| Ratna, int8 | 35.10 | 205 |
| AI4Bharat IndicConformer | 523 | 2,720 |
| Whisper-small | 967 | 2,257 |
The 205 MiB peak is observed process memory including the runtime, not memory per stream. CPU timing uses one Apple M2 Ultra thread and batch one. The 27.29 ms figure measures decoding per second of audio, not end-to-end latency or concurrent-stream capacity.
The release files have run on macOS, Linux, Windows and Chrome through WebAssembly. A phone and Raspberry Pi have not been measured.
Where Ratna loses
| Model | PV CER % | Fresh CER % | FLEURS CER % |
|---|---|---|---|
| Ratna | 16.33 | 27.15 | 28.03 |
| AI4Bharat IndicConformer | 9.94 | 15.44 | 7.43 |
| Ampixa earlier streaming model | 12.68 | 17.78 | 23.74 |
| omni-1b v2 | 7.85 | 20.60 | 9.01 |
CER %, lower is better. Frozen legacy scorer.
Ratna trails larger Nepali models across these speech tests. On the degraded-audio controls its CER reaches 69.48% on PV and 68% on Fresh.
The natural-speech result is below Whisper-large-v3 in CER. CER can exceed 100% when a recognizer inserts enough text that was never spoken.
On the separate evaluation of 132 real Nepali customer-service phone calls, Ratna captures 0 of 298 phone numbers, 23 of 152 amounts and 0 of 123 full emails.
keep a human check
What happens on NepTel 0.2?
Real Nepali phone audio: 78 segments and 2,647 reference words. Ratna uses the same streaming int8 greedy setup. Comparators use the same key and scorer.
| Model | NepTel 0.2 WER % |
|---|---|
| Rani | 33.51 |
| AI4Bharat IndicConformer | 47.60 |
| Ratna | 67.32 |
The paired WER gap to Rani is +33.79 percentage points, with a 95% interval of [+30.97, +36.58]. Ratna was not trained on real call audio. NepTel is the hardest setting for it.
What does the public PV half show?
The public PVSpeech half has 50 clips from two speakers. Its result uses NepTel 0.2 normalization.
| Evaluation | CER % | WER % |
|---|---|---|
| Public PVSpeech half, NepTel 0.2 normalization | 18.87 | 43.09 |
| Full PV bench, frozen legacy scorer | 16.33 | 39.26 |
The full 100-sentence PV bench uses the frozen legacy scorer. Different recordings and normalization mean these rows do not measure a change in model quality.
Where can I use it?
use Ratna for
- local captions and voice typing
- editable first-pass transcripts
- applications with a small memory budget
choose a larger model for
- transcripts needing higher accuracy
- critical phone numbers, amounts, codes and emails
- noisy or degraded speech
Read the technical blog for the release, test methods and results, or try Ratna above. The model files are on Hugging Face.
If you use Ratna, distill it, train or evaluate on its outputs, or build on it, name it properly: Ratna (Ampixa Labs), in your model card or documentation. Anyone you pass it to keeps that credit.
- Bundle, parameters, RAM, timing, legacy accuracy and exact entities: frozen benchmark and aggregate JSON. CPU timing converts the median real-time factor to milliseconds per second.
- NepTel 0.2 and public PV half: release numerical receipts, including every displayed score, test size, interval, normalization and comparator name. These supplementary results use NepTel 0.2 normalization.
- Architecture: release description: 2,048 tokens, 320 ms chunks, empty memory pathway.
- Test method: frozen aggregates and release description: 95% intervals, 10,000 resamples, 30-second Whisper windows; CER may exceed 100% through insertions.
- Illustration: approved Ratna art. The 35 MB label rounds the measured bundle. The crossed-out 8 GB server label is symbolic, not a measured hardware requirement.
- Release date: requested for 2026-11-09. Section ordinals identify the datasheet sections.
