Fun-ASR-Nano
Compact bilingual speech recognition — Mandarin and English in an ~0.8B SAN-M + Qwen3 pack
Opens the desktop app and downloads this model for you.
Don't have the app yet? Download OpenASR Desktop
let's line up this week's release plan,
the beta build can ship on Friday,
then loop in design and QA,
Why it fits
Fun-ASR-Nano is an ~0.8B-parameter speech-recognition model from FunAudioLLM
(Fun-ASR-Nano-2512). Its architecture pairs a FunASR SAN-M/DFSMN audio encoder
with a 2-layer transformer adaptor feeding a stock Qwen3-0.6B decoder. Language
coverage is a fixed Mandarin + English set. OpenASR distributes this model in
three quantization tiers -- fp16, q8_0, and q4_k -- packaged in the native
.oasr runtime format for local inference.
What you can do with it
- 📊 Verified accuracy: 3.03% CER (Chinese), 2.57% WER (English) — benchmarked by OpenASR on frozen evaluation datasets, not upstream-reported numbers
- 🌐 Fixed bilingual Mandarin + English — stock Qwen3 BPE vocab, no language-selection prompt needed
- 📦 Three quantization tiers: fp16 / q8_0 / q4_k — delivered in OpenASR's native .oasr format; encoder floored at Q8_0 on the q4_k tier
- 🦀 Native in OpenASR — .oasr packs run with no Python at inference, engineered for peak performance on CPU & GPU
Other models
Developer details CLI commands, file hashes, and per-quant downloads — for scripting and verification.
Model facts
Usage
These are CLI / local-server examples. The desktop app runs this model without typing a command — use Install above.
$ openasr pull funasr-nano:q8 ↓ funasr-nano.oasr 1,007 MB ✓ verified sha256 $ openasr transcribe meeting.wav --backend native --model-pack ~/.openasr/models/funasr-nano/q8_0/funasr-nano-q8_0.oasr ✓ local transcript · 0 bytes sent
$ openasr serve --backend native --model-pack ~/.openasr/models/funasr-nano/q8_0/funasr-nano-q8_0.oasr --addr 127.0.0.1:8080 ▶ http://127.0.0.1:8080 · model=funasr-nano · 0 bytes will leave this host
from openai import OpenAI client = OpenAI(base_url="http://127.0.0.1:8080/v1", api_key="local") audio = open("meeting.wav", "rb") text = client.audio.transcriptions.create(model="funasr-nano", file=audio)