File size: 4,738 Bytes
3949814
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
---
license: apache-2.0
base_model: FunAudioLLM/Fun-ASR-Nano-2512
pipeline_tag: automatic-speech-recognition
library_name: openasr
tags:
  - automatic-speech-recognition
  - speech-to-text
  - openasr
  - oasr
  - funasr-nano
---

<div align="center">

# Fun-ASR-Nano Β· OpenASR

**Compact bilingual speech recognition β€” Mandarin and English in an ~0.8B SAN-M + Qwen3 pack**

[![License](https://img.shields.io/badge/license-Apache--2.0-2563eb.svg)](https://huggingface.co/FunAudioLLM/Fun-ASR-Nano-2512/blob/main/LICENSE)
[![Format](https://img.shields.io/badge/format-.oasr-7c3aed.svg)](https://github.com/QuintinShaw/openasr)
[![Runtime](https://img.shields.io/badge/runtime-OpenASR-111827.svg)](https://openasr.org)
[![Base model](https://img.shields.io/badge/base-Fun--ASR--Nano--2512-f59e0b.svg)](https://huggingface.co/FunAudioLLM/Fun-ASR-Nano-2512)

Native speech-to-text in the **[OpenASR](https://github.com/QuintinShaw/openasr)** runtime β€”
engineered for peak performance on CPU & GPU, **no Python at inference time**.

</div>

---

## ✨ Highlights

- πŸ“Š **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

## πŸš€ Quickstart

```bash
# 1. Install the OpenASR CLI  Β·  https://openasr.org
# 2. Pull a build (pick a quant β€” see the table below)
openasr pull funasr-nano:q8

# 3. Transcribe
openasr transcribe audio.wav --model funasr-nano
```

All builds for this model:

```bash
openasr pull funasr-nano:fp16
openasr pull funasr-nano:q8
openasr pull funasr-nano:q4
```

## πŸ“¦ Available builds

| Quant | File (`.oasr`) | Size | RAM peak | RTF Β· M1 CPU | RTF Β· M1 GPU | JFK Ξ”WER vs fp16 |
|:------|:---------------|-----:|---------:|-------------:|-------------:|-----------------:|
| fp16 | `funasr-nano-fp16.oasr` | 1.98 GB | 3.55 GB | 0.14Γ— | 0.26Γ— | 0.0% |
| q8_0 | `funasr-nano-q8_0.oasr` | 1.06 GB | 2.37 GB | 0.11Γ— | 0.23Γ— | 0.0% |
| q4_k | `funasr-nano-q4_k.oasr` | 680 MB | 1.85 GB | 0.10Γ— | 0.22Γ— | 0.0% |

<sub>RTF = real-time factor on the fixed 11s JFK clip (**lower is faster**); RAM peak measured per pack
in an isolated subprocess. JFK Ξ”WER compares each quantized build's JFK transcript to this model's
fp16 JFK transcript, so it measures quantization drift rather than absolute recognition accuracy.
**q8_0** is the recommended default β€” near-reference quality at a fraction of the
footprint.</sub>

## 🧠 About Fun-ASR-Nano

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.

## βš™οΈ How these packs were made

Converted from [FunAudioLLM/Fun-ASR-Nano-2512](https://huggingface.co/FunAudioLLM/Fun-ASR-Nano-2512) with the OpenASR importer:

```bash
openasr model-pack import funasr-nano <src> <out>.oasr \
  --package-id funasr-nano --quantization {fp16,q8-0,q4-k}
```

The `.oasr` container is GGUF-backed; packs use zero-copy mmap weight binding and graph
buffer reuse to keep peak memory low.

## βš–οΈ License

These packs **inherit the upstream model's license: Apache-2.0**
([source](https://huggingface.co/FunAudioLLM/Fun-ASR-Nano-2512/blob/main/LICENSE)). OpenASR packaging retains the upstream copyright and
NOTICE; the only modifications are format conversion and quantization.

## πŸ™ Acknowledgements

This pack is a redistribution of **Fun-ASR-Nano-2512**, created and released by
**FunAudioLLM**
([FunAudioLLM/Fun-ASR-Nano-2512](https://huggingface.co/FunAudioLLM/Fun-ASR-Nano-2512))
under the [Apache License 2.0](https://huggingface.co/FunAudioLLM/Fun-ASR-Nano-2512/blob/main/LICENSE).
OpenASR performs format conversion, quantization, runtime validation, and local-inference
adaptation only; all model weights and training are the work of the original authors.

## πŸ”— Links

- πŸ¦€ **OpenASR** β€” <https://github.com/QuintinShaw/openasr>
- 🌐 **Website** β€” <https://openasr.org>
- πŸ€— **Upstream model** β€” [FunAudioLLM/Fun-ASR-Nano-2512](https://huggingface.co/FunAudioLLM/Fun-ASR-Nano-2512)