Mum's Ears — ONNX Model Repository
Central model store for Mum's Ears, an Android speech-to-text app built with Flutter and
sherpa-onnx.
All models are downloaded at runtime with SHA-256 checksum verification.
Folder Structure
mums-ears-models/ ├── en/ # English streaming ASR + punctuation ├── de/ # German streaming ASR ├── es/ # Spanish streaming ASR ├── fr/ # French streaming ASR ├── zh/ # Chinese streaming ASR ├── qwen3-asr/ # Qwen3-ASR (offline, 938 MB) ├── audio_tagging/ # CED Tiny audio event classification ├── denoiser/ # DPDFNet8 speech enhancement ├── speaker_embedder/ # CAM++ speaker embedding └── pyannote_model.onnx # Speaker diarization segmentation
Model Inventory
Streaming ASR (per-language)
Each language folder contains a streaming Zipformer transducer model fine-tuned for real-time captioning.
| File | Size | Purpose |
|---|
encoder.onnx | 70 MB (154 MB zh) | Acoustic encoder |
decoder.onnx | 1 MB (5 MB zh) | Prediction decoder |
joiner.onnx | 1 MB | Joint network |
tokens.txt | < 1 MB | Token vocabulary |
Languages: en, de, es, fr, zh
Punctuation (English)
| File | Size | Purpose |
|---|
en/model_punct.int8.onnx | 7 MB | Online punctuation model (int8 quantized) |
en/bpe_punct.vocab | < 1 MB | BPE vocabulary |
Speaker Diarization
Audio Tagging
Speech Enhancement (Denoiser)
| File | Size | Purpose | Original Source |
|---|
denoiser/dpdfnet8.onnx | 14 MB | DPDFNet8 speech denoiser | k2-fsa/sherpa-onnx |
Qwen3-ASR (Offline)
Large offline ASR model (int4 quantized, ~938 MB total). Optional — requires ≥ 4 GB free RAM.
| File | Size | Purpose |
|---|
qwen3-asr/encoder.int8.onnx | ~400 MB | Audio encoder |
qwen3-asr/decoder.int8.onnx | ~400 MB | Language model decoder |
qwen3-asr/conv_frontend.onnx | ~100 MB | Convolutional frontend |
qwen3-asr/tokenizer/vocab.json | < 1 MB | Tokenizer vocabulary |
qwen3-asr/tokenizer/merges.txt | < 1 MB | BPE merge rules |
qwen3-asr/tokenizer/tokenizer_config.json | < 1 MB | Tokenizer config |
Attribution
Models in this repository are sourced from the following open-source projects:
- k2-fsa/sherpa-onnx — Streaming ASR, speaker embedding, diarization, punctuation, denoiser, audio tagging (Apache-2.0)
- pyannote/segmentation-3.0 — Speaker diarization segmentation (MIT)
- Qwen/Qwen3-ASR — Offline ASR model (Apache-2.0)
- frankyoujian/Edge-Punct-Casing — Punctuation model (paper)
The "kroko" streaming ASR models (en/de/es/fr) are custom fine-tuned variants. The Chinese streaming model is int8-quantized.
Download & Verification
Models are downloaded by the app's built-in download manager with:
- Resumable downloads via HTTP Range headers (
.part files)
- SHA-256 checksum verification before accepting any file
- Mirror fallback — if the primary URL fails, the original source URL is tried automatically
- WiFi-only mode (default, toggleable)
All checksums are defined in lib/services/model_checksums.dart.