luigi000/fun-asr-mlt-nano-onnx-int8
Fun-ASR-MLT-Nano-2512 — sherpa-onnx (int8)
int8 ONNX export of [FunAudioLLM/Fun-ASR-MLT-Nano-2512](https://huggingface.co/FunAudioLLM/Fun-ASR-MLT-Nano-2512) (≈0.8B, SenseVoice encoder + Qwen3-0.6B LLM decoder), packaged for [sherpa-onnx](https://github.com/k2-fsa/sherpa-onnx)'s OfflineRecognizer.from_funasr_nano. Runs on CPU with no PyTorch/transformers at inference. Covers the 31 languages of the multilingual Fun-ASR-Nano, including Chinese, English, Vietnamese, Indonesian, Thai, Malay, Korean, and more.
Files
Total ≈ 994 MB.
Usage (Python)
import sherpa_onnx # pip install sherpa-onnx>=1.13.3
rec = sherpa_onnx.OfflineRecognizer.from_funasr_nano(
encoder_adaptor="encoder_adaptor.int8.onnx",
llm="llm.int8.onnx",
embedding="embedding.int8.onnx",
tokenizer="tokenizer",
num_threads=4,
sample_rate=16000,
provider="cpu",
language="", # "" = auto language id; or a Chinese language name, e.g. 英文 / 印尼语 / 越南语
max_new_tokens=512,
)
s = rec.create_stream()
s.accept_waveform(16000, audio_float32_mono_16k) # numpy float32 in [-1, 1]
rec.decode_stream(s)
print(s.result.text)language="" runs the model's built-in language identification (recommended for mixed / auto-detect audio). To force a language, pass the Chinese language name the model was trained on (e.g. 英文 English, 印尼语 Indonesian, 越南语 Vietnamese) — the string is interpolated into a Chinese instruction prompt, so English names do not work.
Provenance & modifications
- Base model: FunAudioLLM/Fun-ASR-MLT-Nano-2512 (Apache-2.0).
- Export tooling: Wasser1462/FunASR-nano-onnx (the pipeline cited by the official sherp-onnx Fun-ASR-Nano model card).
- Modification: the PyTorch
model.ptwas exported to ONNX (encoder-adaptor / embedding / LLM) and dynamic int8-quantized; the tokenizer is copied unchanged from the base checkpoint. No fine-tuning or weight changes beyond quantization.
License
Apache-2.0, inherited from the base model. See the LICENSE and NOTICE files in this repo. This is a redistributed derivative work — attribution above.
