Which FunASR Model? Nano vs MLT-Nano vs SenseVoice vs Paraformer (2026 Guide)
FunASR ships three main model families, plus a separate multilingual MLT-Nano checkpoint. In one line: with a GPU, use flagship Fun-ASR-Nano for Chinese, English, Japanese, and Chinese dialects/accents; use Fun-ASR-MLT-Nano when you need 31 languages; on CPU use SenseVoice, or Paraformer for Chinese timestamps/hotwords.
Pick at a glance
| Your situation | Pick | Why |
|---|---|---|
| GPU / zh, en, ja, or Chinese dialects and accents / want the best | ⭐ Fun-ASR-Nano | LLM-ASR flagship, strongest on context and hard cases, Chinese CER 8.06% |
| Need broad multilingual coverage | Fun-ASR-MLT-Nano | Separate checkpoint covering 31 languages |
| CPU / edge / want fastest | SenseVoice | non-autoregressive & very fast, real-time on CPU, multilingual + emotion, CER 7.81% |
| CPU + Chinese-only + timestamps/hotwords | Paraformer | lightest, character timestamps, hotwords, CER 10.18% |
The Chinese CER figures compare Nano, SenseVoice, and Paraformer; all three beat Whisper on Chinese (~20%) by a wide margin. SenseVoice has a slightly lower CER, but Fun-ASR-Nano is the LLM-based flagship — more robust on real-world audio, context, and proper nouns. MLT-Nano is the choice for 31-language coverage; do not apply its language claim to Nano.
Fun-ASR-Nano — LLM-ASR flagship, the default (GPU)
SenseVoice encoder + a Qwen3-0.6B decoder, supporting Chinese, English, Japanese, 7 Chinese dialect groups, and 26 regional accents, with LLM-grade context understanding for hard cases and long-tail vocabulary.
pip install funasr
from funasr import AutoModel
model = AutoModel(model="FunAudioLLM/Fun-ASR-Nano-2512", disable_update=True, device="cuda")
res = model.generate(input="audio.wav")
print(res[0]["text"])
# 欢迎大家来体验达摩院推出的语音识别模型。 ("Welcome everyone to try the speech model from DAMO Academy")
Models: Hugging Face · ModelScope. For scale/throughput, use vLLM acceleration (~340× real-time measured). See the Fun-ASR-Nano guide.
Fun-ASR-MLT-Nano — separate 31-language checkpoint (GPU)
Choose MLT-Nano for recognition across 31 languages. It is a separate checkpoint from flagship Nano, with a different model ID and language scope.
Models: Hugging Face · ModelScope.
SenseVoice — the CPU/edge choice
Non-autoregressive, lightweight and very fast — real-time even on CPU — emitting language + emotion + audio events in one pass; q8 quantization is ~250MB. Pick it for CPU deployment or lowest latency.
from funasr import AutoModel from funasr.utils.postprocess_utils import rich_transcription_postprocess model = AutoModel(model="iic/SenseVoiceSmall", disable_update=True) # CPU by default res = model.generate(input="audio.wav", language="auto", use_itn=True) print(rich_transcription_postprocess(res[0]["text"])) # 欢迎大家来体验达摩院推出的语音识别模型。
Paraformer — CPU + Chinese-only (timestamps/hotwords)
The lightest Chinese recognizer, with character-level timestamps and hotword customization — use it for subtitles or word-level alignment.
from funasr import AutoModel model = AutoModel(model="paraformer-zh", vad_model="fsmn-vad", punc_model="ct-punc") res = model.generate(input="audio.wav", batch_size_s=300) print(res[0]["text"]) # 欢迎大家来体验达摩院推出的语音识别模型。 # res[0]["timestamp"] -> [[880, 1120], [1120, 1360], ...] per-character start/end ms
Quick decision
- Need 31-language coverage? → Fun-ASR-MLT-Nano.
- Have a GPU and mainly need zh/en/ja or Chinese dialects/accents? → Fun-ASR-Nano (the default flagship).
- CPU only? Chinese-only with timestamps/hotwords → Paraformer; otherwise (incl. multilingual/emotion) → SenseVoice.
- Need Cantonese? SenseVoice supports it natively — see Cantonese speech recognition.
More: Chinese speech recognition · FunASR vs Whisper benchmark · Fun-ASR-Nano guide.
The whole FunASR stack is open-source (MIT) — Fun-ASR-Nano / MLT-Nano + SenseVoice + Paraformer + VAD/punctuation/speaker. If it helps, a GitHub Star supports the project 👇
Also star:FunASR · SenseVoice · FunClip
Related posts
- FunASR vs Whisper Benchmark
- SenseVoice Deployment Guide
- Fun-ASR-Nano Guide
- Speaker Diarization: Who Spoke When
- Emotion & Language Detection
- Real-Time Streaming Speech-to-Text
- Transcribe Long Audio (Hours in One Call)
- Transcribe from the Command Line
- Self-Hosted OpenAI Whisper API Alternative
- Auto-Generate Subtitles (SRT / VTT)
- Speech to Text in Python
- FunASR on llama.cpp (whisper.cpp Alternative)
- FunASR vs faster-whisper (Chinese/Cantonese)
- Lightweight Speech Recognition on CPU
- Self-Hosted Deepgram/AssemblyAI Alternative
- Cantonese Speech Recognition (SenseVoice)
- Japanese Speech Recognition (SenseVoice)
- Voice Activity Detection in Python
- Self-Hosted Google/AWS/Azure STT Alternative
- Chinese Speech Recognition in Python
- Punctuation Restoration in Python
- Speech-to-Text with Timestamps in Python