digibuzz24 pengzhendong commited on
Commit
d4c0d2e
·
0 Parent(s):

Duplicate from FunAudioLLM/Fun-ASR-MLT-Nano-2512

Browse files

Co-authored-by: Zhendong Peng <pengzhendong@users.noreply.huggingface.co>

.gitattributes ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bin.* filter=lfs diff=lfs merge=lfs -text
5
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.json filter=lfs diff=lfs merge=lfs -text
11
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.onnx filter=lfs diff=lfs merge=lfs -text
15
+ *.ot filter=lfs diff=lfs merge=lfs -text
16
+ *.parquet filter=lfs diff=lfs merge=lfs -text
17
+ *.pb filter=lfs diff=lfs merge=lfs -text
18
+ *.pt filter=lfs diff=lfs merge=lfs -text
19
+ *.pth filter=lfs diff=lfs merge=lfs -text
20
+ *.rar filter=lfs diff=lfs merge=lfs -text
21
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
22
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
23
+ *.tflite filter=lfs diff=lfs merge=lfs -text
24
+ *.tgz filter=lfs diff=lfs merge=lfs -text
25
+ *.xz filter=lfs diff=lfs merge=lfs -text
26
+ *.zip filter=lfs diff=lfs merge=lfs -text
27
+ *.zstandard filter=lfs diff=lfs merge=lfs -text
28
+ *.tfevents* filter=lfs diff=lfs merge=lfs -text
29
+ *.db* filter=lfs diff=lfs merge=lfs -text
30
+ *.ark* filter=lfs diff=lfs merge=lfs -text
31
+ **/*ckpt*data* filter=lfs diff=lfs merge=lfs -text
32
+ **/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text
33
+ **/*ckpt*.index filter=lfs diff=lfs merge=lfs -text
34
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
35
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
36
+ *.gguf* filter=lfs diff=lfs merge=lfs -text
37
+ *.ggml filter=lfs diff=lfs merge=lfs -text
38
+ *.llamafile* filter=lfs diff=lfs merge=lfs -text
39
+ *.pt2 filter=lfs diff=lfs merge=lfs -text
40
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
41
+ *.npy filter=lfs diff=lfs merge=lfs -text
42
+ *.npz filter=lfs diff=lfs merge=lfs -text
43
+ *.pickle filter=lfs diff=lfs merge=lfs -text
44
+ *.pkl filter=lfs diff=lfs merge=lfs -text
45
+ *.png filter=lfs diff=lfs merge=lfs -text
46
+ *.tar filter=lfs diff=lfs merge=lfs -text
47
+ *.wasm filter=lfs diff=lfs merge=lfs -text
48
+ *.zst filter=lfs diff=lfs merge=lfs -text
49
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
Qwen3-0.6B/config.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:660db3b73d788119c04535e48cf9be5f55bc3100841a718637ae695b442f27dd
3
+ size 726
Qwen3-0.6B/generation_config.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2325da0f15bb848e018c5ae071b7943332e9f871d6b60e2ed22ca97d4cb993d2
3
+ size 239
Qwen3-0.6B/merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
Qwen3-0.6B/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4
3
+ size 11422654
Qwen3-0.6B/tokenizer_config.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d5d09f07b48c3086c508b30d1c9114bd1189145b74e982a265350c923acd8101
3
+ size 9732
Qwen3-0.6B/vocab.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910
3
+ size 2776833
README.md ADDED
@@ -0,0 +1,273 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - zh
4
+ - en
5
+ - ja
6
+ - ko
7
+ - vi
8
+ - id
9
+ - th
10
+ - ms
11
+ - tl
12
+ - ar
13
+ - hi
14
+ - bg
15
+ - hr
16
+ - cs
17
+ - da
18
+ - nl
19
+ - et
20
+ - fi
21
+ - el
22
+ - hu
23
+ - ga
24
+ - lv
25
+ - lt
26
+ - mt
27
+ - pl
28
+ - pt
29
+ - ro
30
+ - sk
31
+ - sl
32
+ - sv
33
+ - multilingual
34
+ license: apache-2.0
35
+ library_name: funasr
36
+ pipeline_tag: automatic-speech-recognition
37
+ tags:
38
+ - speech-recognition
39
+ - asr
40
+ - multilingual
41
+ - 31-languages
42
+ - end-to-end
43
+ - streaming
44
+ - whisper-alternative
45
+ - real-time
46
+ - vllm
47
+ ---
48
+
49
+ <div align="center">
50
+
51
+ ### ⭐ Powered by [FunASR](https://github.com/modelscope/FunASR) — please give us a GitHub Star!
52
+
53
+ This model is part of the **FunASR** ecosystem — one industrial-grade open-source toolkit for **ASR · VAD · punctuation · speaker diarization · emotion / event · LLM-ASR**. A Star really helps the project (and keeps you updated):
54
+
55
+ [**🌟 FunASR**](https://github.com/modelscope/FunASR) · [**🌟 SenseVoice**](https://github.com/FunAudioLLM/SenseVoice) · [**🌟 Fun-ASR**](https://github.com/FunAudioLLM/Fun-ASR) · [**🌟 FunClip**](https://github.com/modelscope/FunClip)
56
+
57
+ </div>
58
+
59
+
60
+ # Fun-ASR-MLT-Nano-2512
61
+
62
+ 「[简体中文](README_zh.md)」|「English」
63
+
64
+ Fun-ASR-MLT-Nano-2512 is the 800M-parameter multilingual checkpoint in the Fun-ASR family. It is trained on hundreds of thousands of hours of multilingual speech and supports 31 languages, with emphasis on East and Southeast Asian languages. For the Chinese, English, and Japanese checkpoint trained on tens of millions of hours, use [Fun-ASR-Nano-2512](https://huggingface.co/FunAudioLLM/Fun-ASR-Nano-2512).
65
+
66
+ <div align="center">
67
+ <img src="images/funasr-v2.png">
68
+ </div>
69
+
70
+ <div align="center">
71
+ <h4>
72
+ <a href="https://funaudiollm.github.io/funasr"> Homepage </a>
73
+ |<a href="#core-features"> Core Features </a>
74
+ |<a href="#performance-evaluation"> Performance Evaluation </a>
75
+ |<a href="#environment-setup"> Environment Setup </a>
76
+ |<a href="#usage-tutorial"> Usage Tutorial </a>
77
+
78
+ </h4>
79
+
80
+ Model Repository: [modelscope](https://www.modelscope.cn/models/FunAudioLLM/Fun-ASR-MLT-Nano-2512), [huggingface](https://huggingface.co/FunAudioLLM/Fun-ASR-MLT-Nano-2512)
81
+
82
+ </div>
83
+
84
+ | Model Name | Task Details | Training Data | Parameters |
85
+ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------: | :--------: |
86
+ | Fun-ASR-Nano <br> ([⭐](https://www.modelscope.cn/models/FunAudioLLM/Fun-ASR-Nano-2512) [🤗](https://huggingface.co/FunAudioLLM/Fun-ASR-Nano-2512)) | Speech recognition supports Chinese, English, and Japanese. Chinese includes support for 7 dialects (Wu, Cantonese, Min, Hakka, Gan, Xiang, Jin) and 26 regional accents (Henan, Shanxi, Hubei, Sichuan, Chongqing, Yunnan, Guizhou, Guangdong, Guangxi and more than 20 other regions). English and Japanese cover multiple regional accents. Additional features include lyric recognition and rap speech recognition. | Tens of millions of hours | 800M |
87
+ | Fun-ASR-MLT-Nano <br> ([⭐](https://www.modelscope.cn/models/FunAudioLLM/Fun-ASR-MLT-Nano-2512) [🤗](https://huggingface.co/FunAudioLLM/Fun-ASR-MLT-Nano-2512)) | Speech recognition supports Chinese, English, Cantonese, Japanese, Korean, Vietnamese, Indonesian, Thai, Malay, Filipino, Arabic, Hindi, Bulgarian, Croatian, Czech, Danish, Dutch, Estonian, Finnish, Greek, Hungarian, Irish, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian, Slovak, Slovenian, Swedish, and 31 languages in total. | Hundreds of thousands of hours | 800M |
88
+
89
+ <a name="What's News"></a>
90
+
91
+ # What's New 🔥
92
+
93
+ - 2025/12: [Fun-ASR-MLT-Nano-2512](https://modelscope.cn/models/FunAudioLLM/Fun-ASR-MLT-Nano-2512) is the multilingual 800M checkpoint, trained on hundreds of thousands of hours of speech and covering 31 languages.
94
+ - 2024/7: [FunASR](https://github.com/modelscope/FunASR) is a fundamental speech recognition toolkit that offers a variety of features, including speech recognition (ASR), Voice Activity Detection (VAD), Punctuation Restoration, Language Models, Speaker Verification, Speaker Diarization and multi-talker ASR.
95
+
96
+ # Core Features 🎯
97
+
98
+ **This repository hosts the MLT checkpoint.** Its supported-language scope differs from the standard Fun-ASR-Nano checkpoint.
99
+
100
+ - **31 languages:** Covers the languages listed in the model table above, with focused optimization on East and Southeast Asian languages.
101
+ - **Compact multilingual model:** Uses approximately 800M parameters.
102
+ - **Language control:** Accepts the language names shown in the inference example and supports multilingual recognition.
103
+ - **Context controls:** The FunASR inference API exposes hotwords and inverse text normalization (ITN).
104
+
105
+ # Environment Setup 🐍
106
+
107
+ ```shell
108
+ python -m pip install -U "funasr>=1.4.1"
109
+
110
+ # Optional: clone the example repo if you want to run the local demo scripts.
111
+ git clone https://github.com/FunAudioLLM/Fun-ASR.git
112
+ cd Fun-ASR
113
+ python -m pip install -r requirements.txt
114
+ ```
115
+
116
+ <a name="usage-tutorial"></a>
117
+
118
+ # TODO
119
+
120
+ - [ ] Support returning timestamps
121
+ - [ ] Support speaker diarization
122
+ - [ ] Support model training
123
+
124
+ # Usage 🛠️
125
+
126
+ ## Inference
127
+
128
+ ### Using funasr for inference
129
+
130
+ ```python
131
+ from funasr import AutoModel
132
+
133
+
134
+ def main():
135
+ model_dir = "FunAudioLLM/Fun-ASR-MLT-Nano-2512"
136
+ model = AutoModel(
137
+ model=model_dir,
138
+ hub="hf",
139
+ trust_remote_code=True,
140
+ remote_code="./model.py",
141
+ device="cuda:0",
142
+ )
143
+
144
+ wav_path = f"{model.model_path}/example/zh.mp3"
145
+ res = model.generate(
146
+ input=[wav_path],
147
+ cache={},
148
+ batch_size=1,
149
+ hotwords=["开放时间"],
150
+ # 中文、英文、粤语、日文、韩文、越南语、印尼语、泰语、马来语、菲律宾语、阿拉伯语、
151
+ # 印地语、保加利亚语、克罗地亚语、捷克语、丹麦语、荷兰语、爱沙尼亚语、芬兰语、希腊语、
152
+ # 匈牙利语、爱尔兰语、拉脱维亚语、立陶宛语、马耳他语、波兰语、葡萄牙语、罗马尼亚语、
153
+ # 斯洛伐克语、斯洛文尼亚语、瑞典语 for Fun-ASR-MLT-Nano-2512
154
+ language="中文",
155
+ itn=True, # or False
156
+ llm_kwargs={"do_sample": False},
157
+ )
158
+ text = res[0]["text"]
159
+ print(text)
160
+
161
+ model = AutoModel(
162
+ model=model_dir,
163
+ hub="hf",
164
+ trust_remote_code=True,
165
+ vad_model="fsmn-vad",
166
+ vad_kwargs={"max_single_segment_time": 30000},
167
+ remote_code="./model.py",
168
+ device="cuda:0",
169
+ )
170
+ res = model.generate(
171
+ input=[wav_path],
172
+ cache={},
173
+ batch_size=1,
174
+ language="中文",
175
+ llm_kwargs={"do_sample": False},
176
+ )
177
+ text = res[0]["text"]
178
+ print(text)
179
+
180
+
181
+ if __name__ == "__main__":
182
+ main()
183
+ ```
184
+
185
+ ### Direct Inference
186
+
187
+ ```python
188
+ from model import FunASRNano
189
+
190
+
191
+ def main():
192
+ model_dir = "FunAudioLLM/Fun-ASR-MLT-Nano-2512"
193
+ m, kwargs = FunASRNano.from_pretrained(
194
+ model=model_dir,
195
+ hub="hf",
196
+ device="cuda:0",
197
+ )
198
+ m.eval()
199
+
200
+ wav_path = f"{kwargs['model_path']}/example/zh.mp3"
201
+ kwargs["llm_kwargs"] = {"do_sample": False}
202
+ res = m.inference(data_in=[wav_path], **kwargs)
203
+ text = res[0][0]["text"]
204
+ print(text)
205
+
206
+
207
+ if __name__ == "__main__":
208
+ main()
209
+ ```
210
+
211
+ <details><summary> Parameter Description (click to expand) </summary>
212
+
213
+ - `model_dir`: Model name or local disk model path.
214
+ - `trust_remote_code`: Whether to trust remote code for loading custom model implementations.
215
+ - `remote_code`: Specify the location of specific model code (e.g., `model.py` in the current directory), supporting both absolute and relative paths.
216
+ - `device`: Specify the device to use, such as "cuda:0" or "cpu".
217
+
218
+ </details>
219
+
220
+ # Performance 📝
221
+
222
+ > **Benchmark scope:** The tables below are Fun-ASR family results reproduced from the project report. They do not contain a column identified as `Fun-ASR-MLT-Nano-2512`, so they must not be interpreted as checkpoint-specific results for this MLT model. MLT per-language results will be added when a reproducible evaluation is published.
223
+
224
+ The family-level comparison covers open-source benchmarks, Chinese dialect datasets, and industry-specific test sets.
225
+
226
+ ### 1. Open-Source Dataset Performance (WER %)
227
+
228
+ | Test set | GLM-ASR-nano | GLM-ASR-nano\* | Whisper-large-v3 | Seed-ASR | Seed-ASR\* | Kimi-Audio | Step-Audio2 | FireRed-ASR | Fun-ASR-nano | Fun-ASR |
229
+ | :------------------ | :----------: | :------------: | :--------------: | :------: | :--------: | :--------: | :---------: | :---------: | :----------: | :-----: |
230
+ | **Model Size** | 1.5B | 1.5B | 1.6B | - | - | - | - | 1.1B | 0.8B | 7.7B |
231
+ | **OpenSource** | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
232
+ | AIShell1 | 1.81 | 2.17 | 4.72 | 0.68 | 1.63 | 0.71 | 0.63 | 0.54 | 1.80 | 1.22 |
233
+ | AIShell2 | - | 3.47 | 4.68 | 2.27 | 2.76 | 2.86 | 2.10 | 2.58 | 2.75 | 2.39 |
234
+ | Fleurs-zh | - | 3.65 | 5.18 | 3.43 | 3.23 | 3.11 | 2.68 | 4.81 | 2.56 | 2.53 |
235
+ | Fleurs-en | 5.78 | 6.95 | 6.23 | 9.39 | 9.39 | 6.99 | 3.03 | 10.79 | 5.96 | 4.74 |
236
+ | Librispeech-clean | 2.00 | 2.17 | 1.86 | 1.58 | 2.8 | 1.32 | 1.17 | 1.84 | 1.76 | 1.51 |
237
+ | Librispeech-other | 4.19 | 4.43 | 3.43 | 2.84 | 5.69 | 2.63 | 2.42 | 4.52 | 4.33 | 3.03 |
238
+ | WenetSpeech Meeting | 6.73 | 8.21 | 18.39 | 5.69 | 7.07 | 6.24 | 4.75 | 4.95 | 6.60 | 6.17 |
239
+ | WenetSpeech Net | - | 6.33 | 11.89 | 4.66 | 4.84 | 6.45 | 4.67 | 4.94 | 6.01 | 5.46 |
240
+
241
+ > _Note: Seed-ASR\* results are evaluated using the official API on volcengine; GLM-ASR-nano\* results are evaluated using the open-source checkpoint._
242
+
243
+ ### 2. Industry Dataset Performance (WER %)
244
+
245
+ | Test set | GLM-ASR-Nano | Whisper-large-v3 | Seed-ASR | FireRed-ASR | Kimi-Audio | Paraformer v2 | Fun-ASR-nano | Fun-ASR |
246
+ | :----------------- | :----------: | :--------------: | :-------: | :---------: | :--------: | :-----------: | :----------: | :-------: |
247
+ | **Model Size** | 1.5B | 1.6B | - | 1.1B | 8B | 0.2B | 0.8B | 7.7B |
248
+ | **OpenSource** | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
249
+ | Nearfield | 16.95 | 16.58 | 7.20 | 10.10 | 9.02 | 8.11 | 7.79 | 6.31 |
250
+ | Farfield | 9.44 | 22.21 | 4.59 | 7.49 | 10.95 | 9.55 | 5.79 | 4.34 |
251
+ | Complex Background | 23.79 | 32.57 | 12.90 | 15.56 | 15.56 | 15.19 | 14.59 | 11.45 |
252
+ | English General | 16.47 | 18.56 | 15.65 | 21.62 | 18.12 | 19.48 | 15.28 | 13.73 |
253
+ | Opensource | 4.67 | 7.05 | 3.83 | 5.31 | 3.79 | 6.23 | 4.22 | 3.38 |
254
+ | Dialect | 54.21 | 66.14 | 29.45 | 52.82 | 71.94 | 41.16 | 28.18 | 15.21 |
255
+ | Accent | 19.78 | 36.03 | 10.23 | 14.05 | 27.20 | 17.80 | 12.90 | 10.31 |
256
+ | Lyrics | 46.56 | 54.82 | 30.26 | 42.87 | 65.18 | 50.14 | 30.85 | 21.00 |
257
+ | Hiphop | 43.32 | 46.56 | 29.46 | 33.88 | 57.25 | 43.79 | 30.87 | 28.58 |
258
+ | **Average** | **26.13** | **33.39** | **15.95** | **22.63** | **31.00** | **23.49** | **16.72** | **12.70** |
259
+
260
+ <div align="center">
261
+ <img src="images/compare_en.png" width="800" />
262
+ </div>
263
+
264
+ ## Citations
265
+
266
+ ```bibtex
267
+ @article{an2025fun,
268
+ title={Fun-ASR Technical Report},
269
+ author={An, Keyu and Chen, Yanni and Deng, Chong and Gao, Changfeng and Gao, Zhifu and Gong, Bo and Li, Xiangang and Li, Yabin and Lv, Xiang and Ji, Yunjie and others},
270
+ journal={arXiv preprint arXiv:2509.12508},
271
+ year={2025}
272
+ }
273
+ ```
README_zh.md ADDED
@@ -0,0 +1,211 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Fun-ASR-MLT-Nano-2512
2
+
3
+ 「简体中文」|「[English](README.md)」
4
+
5
+ Fun-ASR-MLT-Nano-2512 是 Fun-ASR 系列中约 8 亿参数的多语言模型,基于数十万小时多语言语音训练,支持 31 种语言,并重点优化东亚与东南亚语种。基于数千万小时数据训练、面向中文、英文和日文的版本请使用 [Fun-ASR-Nano-2512](https://huggingface.co/FunAudioLLM/Fun-ASR-Nano-2512)。
6
+
7
+ <div align="center">
8
+ <img src="images/funasr-v2.png">
9
+ </div>
10
+
11
+ <div align="center">
12
+ <h4>
13
+ <a href="https://funaudiollm.github.io/funasr"> Homepage </a>
14
+ |<a href="#核心特性"> 核心特性 </a>
15
+ |<a href="#性能评测"> 性能评测 </a>
16
+ |<a href="#环境安装"> 环境安装 </a>
17
+ |<a href="#用法教程"> 用法教程 </a>
18
+
19
+ </h4>
20
+
21
+ 模型仓库:[modelscope](https://www.modelscope.cn/models/FunAudioLLM/Fun-ASR-MLT-Nano-2512),[huggingface](https://huggingface.co/FunAudioLLM/Fun-ASR-MLT-Nano-2512)
22
+
23
+ </div>
24
+
25
+ | 模型 | 介绍 | 训练数据 | 参数 |
26
+ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------: | :--: |
27
+ | Fun-ASR-Nano <br> ([⭐](https://www.modelscope.cn/models/FunAudioLLM/Fun-ASR-Nano-2512) [🤗](https://huggingface.co/FunAudioLLM/Fun-ASR-Nano-2512)) | 支持中文、英文、日文。中文包含 7 种方言(吴语、粤语、闽语、客家话、赣语、湘语、晋语)及 26 种地域口音支持(河南、陕西、湖北、四川、重庆、云南、贵州、广东、广西、河北、天津、山东、安徽、南京、江苏、杭州、甘肃、宁夏)。英文、日文涵盖多种地域口音。额外功能包括歌词识别与说唱语音识别。 | 数千万小时 | 8 亿 |
28
+ | Fun-ASR-MLT-Nano <br> ([⭐](https://www.modelscope.cn/models/FunAudioLLM/Fun-ASR-MLT-Nano-2512) [🤗](https://huggingface.co/FunAudioLLM/Fun-ASR-MLT-Nano-2512)) | 支持中文、英文、粤语、日文、韩文、越南语、印尼语、泰语、马来语、菲律宾语、阿拉伯语、印地语、保加利亚语、克罗地亚语、捷克语、丹麦语、荷兰语、爱沙尼亚语、芬兰语、希腊语、匈牙利语、爱尔兰语、拉脱维亚语、立陶宛语、马耳他语、波兰语、葡萄牙语、罗马尼亚语、斯洛伐克语、斯洛文尼亚语、瑞典语,共 31 种语言。 | 数十万小时 | 8 亿 |
29
+
30
+ <a name="最新动态"></a>
31
+
32
+ # 最新动态 🔥
33
+
34
+ - 2025/12: [Fun-ASR-MLT-Nano-2512](https://modelscope.cn/models/FunAudioLLM/Fun-ASR-MLT-Nano-2512) 是约 8 亿参数的多语言模型,基于数十万小时语音训练,覆盖 31 种语言。
35
+ - 2024/7: [FunASR](https://github.com/modelscope/FunASR) 是一款功能全面的语音识别基础工具包,集成了多项核心功能,包括自动语音识别(ASR)、语音活动检测(VAD)、标点恢复、语言模型、说话人验证、说话人日志记录以及多说话人语音识别。
36
+
37
+ # 核心特性 🎯
38
+
39
+ **本仓库提供 MLT 多语言模型。** 它与标准版 Fun-ASR-Nano 的支持范围不同。
40
+
41
+ - **31 种语言:** 覆盖上方模型表列出的语言,并重点优化东亚与东南亚语种。
42
+ - **紧凑多语言模型:** 参数量约 8 亿。
43
+ - **语种控制:** 接受推理示例中列出的语种名称,并支持多语言识别。
44
+ - **上下文控制:** FunASR 推理接口支持热词和逆文本标准化(ITN)。
45
+
46
+ # 环境安装 🐍
47
+
48
+ ```shell
49
+ git clone https://github.com/FunAudioLLM/Fun-ASR.git
50
+ cd Fun-ASR
51
+ pip install -r requirements.txt
52
+ ```
53
+
54
+ <a name="用法教程"></a>
55
+
56
+ # TODO
57
+
58
+ - [ ] 支持返回时间戳
59
+ - [ ] 支持区分说话人识别
60
+ - [ ] 支持模型训练
61
+
62
+ # 用法 🛠️
63
+
64
+ ## 推理
65
+
66
+ ### 使用 funasr 推理
67
+
68
+ ```python
69
+ from funasr import AutoModel
70
+
71
+
72
+ def main():
73
+ model_dir = "FunAudioLLM/Fun-ASR-MLT-Nano-2512"
74
+ model = AutoModel(
75
+ model=model_dir,
76
+ hub="hf",
77
+ trust_remote_code=True,
78
+ remote_code="./model.py",
79
+ device="cuda:0",
80
+ )
81
+
82
+ wav_path = f"{model.model_path}/example/zh.mp3"
83
+ res = model.generate(
84
+ input=[wav_path],
85
+ cache={},
86
+ batch_size=1,
87
+ hotwords=["开放时间"],
88
+ # 中文、英文、粤语、���文、韩文、越南语、印尼语、泰语、马来语、菲律宾语、阿拉伯语、
89
+ # 印地语、保加利亚语、克罗地亚语、捷克语、丹麦语、荷兰语、爱沙尼亚语、芬兰语、希腊语、
90
+ # 匈牙利语、爱尔兰语、拉脱维亚语、立陶宛语、马耳他语、波兰语、葡萄牙语、罗马尼亚语、
91
+ # 斯洛伐克语、斯洛文尼亚语、瑞典语 for Fun-ASR-MLT-Nano-2512
92
+ language="中文",
93
+ itn=True, # or False
94
+ llm_kwargs={"do_sample": False},
95
+ )
96
+ text = res[0]["text"]
97
+ print(text)
98
+
99
+ model = AutoModel(
100
+ model=model_dir,
101
+ hub="hf",
102
+ trust_remote_code=True,
103
+ vad_model="fsmn-vad",
104
+ vad_kwargs={"max_single_segment_time": 30000},
105
+ remote_code="./model.py",
106
+ device="cuda:0",
107
+ )
108
+ res = model.generate(
109
+ input=[wav_path],
110
+ cache={},
111
+ batch_size=1,
112
+ language="中文",
113
+ llm_kwargs={"do_sample": False},
114
+ )
115
+ text = res[0]["text"]
116
+ print(text)
117
+
118
+
119
+ if __name__ == "__main__":
120
+ main()
121
+ ```
122
+
123
+ ### 直接推理
124
+
125
+ ```python
126
+ from model import FunASRNano
127
+
128
+
129
+ def main():
130
+ model_dir = "FunAudioLLM/Fun-ASR-MLT-Nano-2512"
131
+ m, kwargs = FunASRNano.from_pretrained(
132
+ model=model_dir,
133
+ hub="hf",
134
+ device="cuda:0",
135
+ )
136
+ m.eval()
137
+
138
+ wav_path = f"{kwargs['model_path']}/example/zh.mp3"
139
+ kwargs["llm_kwargs"] = {"do_sample": False}
140
+ res = m.inference(data_in=[wav_path], **kwargs)
141
+ text = res[0][0]["text"]
142
+ print(text)
143
+
144
+
145
+ if __name__ == "__main__":
146
+ main()
147
+ ```
148
+
149
+ <details><summary> 参数说明(点击展开)</summary>
150
+
151
+ - `model_dir`:模型名称,或本地磁盘中的模型路径。
152
+ - `trust_remote_code`:是否信任远程代码,用于加载自定义模型实现。
153
+ - `remote_code`:指定模型具体代码的位置(例如,当前目录下的 `model.py`),支持绝对路径与相对路径。
154
+ - `device`:指定使用的设备,如 "cuda:0" 或 "cpu"。
155
+
156
+ </details>
157
+
158
+ # 性能评测 📝
159
+
160
+ > **评测范围说明:** 下表复用了项目报告中的 Fun-ASR 系列结果,其中没有名为 `Fun-ASR-MLT-Nano-2512` 的独立列,因此不能视为本 MLT checkpoint 的专属评测结果。待发布可复现的 MLT 分语言评测后再补充对应数据。
161
+
162
+ 以下系列级对比覆盖开源基准、中文方言数据集和工业测试集。
163
+
164
+ ### 1. 开源数据集性能 (WER %)
165
+
166
+ | Test set | GLM-ASR-nano | GLM-ASR-nano\* | Whisper-large-v3 | Seed-ASR | Seed-ASR\* | Kimi-Audio | Step-Audio2 | FireRed-ASR | Fun-ASR-nano | Fun-ASR |
167
+ | :------------------ | :----------: | :------------: | :--------------: | :------: | :--------: | :--------: | :---------: | :---------: | :----------: | :-----: |
168
+ | **Model Size** | 1.5B | 1.5B | 1.6B | - | - | - | - | 1.1B | 0.8B | 7.7B |
169
+ | **OpenSource** | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
170
+ | AIShell1 | 1.81 | 2.17 | 4.72 | 0.68 | 1.63 | 0.71 | 0.63 | 0.54 | 1.80 | 1.22 |
171
+ | AIShell2 | - | 3.47 | 4.68 | 2.27 | 2.76 | 2.86 | 2.10 | 2.58 | 2.75 | 2.39 |
172
+ | Fleurs-zh | - | 3.65 | 5.18 | 3.43 | 3.23 | 3.11 | 2.68 | 4.81 | 2.56 | 2.53 |
173
+ | Fleurs-en | 5.78 | 6.95 | 6.23 | 9.39 | 9.39 | 6.99 | 3.03 | 10.79 | 5.96 | 4.74 |
174
+ | Librispeech-clean | 2.00 | 2.17 | 1.86 | 1.58 | 2.8 | 1.32 | 1.17 | 1.84 | 1.76 | 1.51 |
175
+ | Librispeech-other | 4.19 | 4.43 | 3.43 | 2.84 | 5.69 | 2.63 | 2.42 | 4.52 | 4.33 | 3.03 |
176
+ | WenetSpeech Meeting | 6.73 | 8.21 | 18.39 | 5.69 | 7.07 | 6.24 | 4.75 | 4.95 | 6.60 | 6.17 |
177
+ | WenetSpeech Net | - | 6.33 | 11.89 | 4.66 | 4.84 | 6.45 | 4.67 | 4.94 | 6.01 | 5.46 |
178
+
179
+ > _注:Seed-ASR\* 结果使用 volcengine 上的官方 API 评估;GLM-ASR-nano\* 结果使用开源 checkpoint 评估。_
180
+
181
+ ### 2. 工业数据集性能 (WER %)
182
+
183
+ | Test set | GLM-ASR-Nano | Whisper-large-v3 | Seed-ASR | FireRed-ASR | Kimi-Audio | Paraformer v2 | Fun-ASR-nano | Fun-ASR |
184
+ | :----------------- | :----------: | :--------------: | :-------: | :---------: | :--------: | :-----------: | :----------: | :-------: |
185
+ | **Model Size** | 1.5B | 1.6B | - | 1.1B | 8B | 0.2B | 0.8B | 7.7B |
186
+ | **OpenSource** | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
187
+ | Nearfield | 16.95 | 16.58 | 7.20 | 10.10 | 9.02 | 8.11 | 7.79 | 6.31 |
188
+ | Farfield | 9.44 | 22.21 | 4.59 | 7.49 | 10.95 | 9.55 | 5.79 | 4.34 |
189
+ | Complex Background | 23.79 | 32.57 | 12.90 | 15.56 | 15.56 | 15.19 | 14.59 | 11.45 |
190
+ | English General | 16.47 | 18.56 | 15.65 | 21.62 | 18.12 | 19.48 | 15.28 | 13.73 |
191
+ | Opensource | 4.67 | 7.05 | 3.83 | 5.31 | 3.79 | 6.23 | 4.22 | 3.38 |
192
+ | Dialect | 54.21 | 66.14 | 29.45 | 52.82 | 71.94 | 41.16 | 28.18 | 15.21 |
193
+ | Accent | 19.78 | 36.03 | 10.23 | 14.05 | 27.20 | 17.80 | 12.90 | 10.31 |
194
+ | Lyrics | 46.56 | 54.82 | 30.26 | 42.87 | 65.18 | 50.14 | 30.85 | 21.00 |
195
+ | Hiphop | 43.32 | 46.56 | 29.46 | 33.88 | 57.25 | 43.79 | 30.87 | 28.58 |
196
+ | **Average** | **26.13** | **33.39** | **15.95** | **22.63** | **31.00** | **23.49** | **16.72** | **12.70** |
197
+
198
+ <div align="center">
199
+ <img src="images/compare_zh.png" width="800" />
200
+ </div>
201
+
202
+ ## Citations
203
+
204
+ ```bibtex
205
+ @article{an2025fun,
206
+ title={Fun-ASR Technical Report},
207
+ author={An, Keyu and Chen, Yanni and Deng, Chong and Gao, Changfeng and Gao, Zhifu and Gong, Bo and Li, Xiangang and Li, Yabin and Lv, Xiang and Ji, Yunjie and others},
208
+ journal={arXiv preprint arXiv:2509.12508},
209
+ year={2025}
210
+ }
211
+ ```
config.yaml ADDED
@@ -0,0 +1,145 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ model: FunASRNano
2
+ model_conf:
3
+ lsm_weight: 0.1
4
+ length_normalized_loss: true
5
+ audio_encoder: SenseVoiceEncoderSmall
6
+ audio_encoder_conf:
7
+ output_size: 512
8
+ attention_heads: 4
9
+ linear_units: 2048
10
+ num_blocks: 50
11
+ tp_blocks: 20
12
+ dropout_rate: 0.1
13
+ positional_dropout_rate: 0.1
14
+ attention_dropout_rate: 0.1
15
+ input_layer: pe
16
+ pos_enc_class: SinusoidalPositionEncoder
17
+ normalize_before: true
18
+ kernel_size: 11
19
+ sanm_shfit: 0
20
+ selfattention_layer_type: sanm
21
+ freeze: true
22
+ freeze_layer_num: -1
23
+ feat_permute: true
24
+ llm: Qwen3-0.6b
25
+ llm_conf:
26
+ hub: hf
27
+ freeze: true
28
+ llm_dtype: bf16
29
+ init_param_path: Qwen3-0.6B
30
+ use_lora: false
31
+ lora_conf:
32
+ freeze_lora: true
33
+ task_type: CAUSAL_LM
34
+ r: 16
35
+ lora_alpha: 32
36
+ lora_dropout: 0.05
37
+ bias: none
38
+ target_modules:
39
+ - q_proj
40
+ - v_proj
41
+ init_param_path: ""
42
+ audio_adaptor: Transformer
43
+ audio_adaptor_conf:
44
+ downsample_rate: 1
45
+ ffn_dim: 2048
46
+ llm_dim: 1024
47
+ encoder_dim: 512
48
+ n_layer: 2
49
+ freeze: true
50
+ ctc_decoder: Transformer
51
+ detach_ctc_decoder: true
52
+ ctc_decoder_conf:
53
+ downsample_rate: 1
54
+ ffn_dim: 2048
55
+ llm_dim: 512
56
+ encoder_dim: 512
57
+ n_layer: 5
58
+ freeze: false
59
+ ctc_weight: 1.0
60
+ ctc_conf:
61
+ dropout_rate: 0.0
62
+ ctc_type: builtin
63
+ reduce: true
64
+ ignore_nan_grad: true
65
+ frontend: WavFrontend
66
+ frontend_conf:
67
+ fs: 16000
68
+ window: hamming
69
+ n_mels: 80
70
+ frame_length: 25
71
+ frame_shift: 10
72
+ lfr_m: 7
73
+ lfr_n: 6
74
+ cmvn_file: null
75
+ train_conf:
76
+ use_lora: ${llm_conf.use_lora}
77
+ accum_grad: 1
78
+ grad_clip: 5
79
+ max_epoch: 2
80
+ keep_nbest_models: 200
81
+ log_interval: 100
82
+ effective_save_name_excludes:
83
+ - llm.
84
+ resume: true
85
+ validate_interval: 2000
86
+ save_checkpoint_interval: 2000
87
+ avg_nbest_model: 100
88
+ use_bf16: false
89
+ use_deepspeed: true
90
+ deepspeed_config: null
91
+ save_init_model: false
92
+ optim: adamw
93
+ optim_conf:
94
+ lr: 5.0e-06
95
+ weight_decay: 0.0
96
+ scheduler: warmuplr
97
+ scheduler_conf:
98
+ warmup_steps: 2500
99
+ dataset: FunASR
100
+ dataset_conf:
101
+ index_ds: FunASR
102
+ batch_sampler: BatchSampler
103
+ batch_type: token
104
+ batch_size: 6000
105
+ max_token_length: 3500
106
+ shuffle: true
107
+ sort_size: 1024
108
+ batch_size_scale_ratio_max: 2
109
+ num_workers: 4
110
+ audio_adaptor_downsample_rate: ${audio_adaptor_conf.downsample_rate}
111
+ audio_encoder_downsample_rate: 6
112
+ data_split_num: 256
113
+ batch_size_sample_max: 10
114
+ retry: 2000
115
+ batch_size_token_max: 6000
116
+ max_source_length: 12000
117
+ max_target_length: 2048
118
+ prompt_classes: MultiContextPrompt
119
+ prompt_conf:
120
+ max_neg_hotwords_num: 0
121
+ min_neg_hotwords_num: 0
122
+ use_hist: false
123
+ use_one_pass_result: true
124
+ use_hotwords: true
125
+ use_asr_hotwords: true
126
+ chinese_hotwords_list: null
127
+ english_hotwords_list: null
128
+ ctc_tokenizer: SenseVoiceTokenizer
129
+ ctc_target_normalize: true
130
+ ctc_tokenizer_conf:
131
+ vocab_path: null
132
+ is_multilingual: true
133
+ num_languages: 8749
134
+ min_source_length: 10
135
+ batch_size_scale_threshold: 3000
136
+ use_dynamic_output_ratio: 0.0
137
+ tokenizer: HuggingfaceTokenizer
138
+ tokenizer_conf:
139
+ init_param_path: ${llm_conf.init_param_path}
140
+ enable_tf32: true
141
+ debug: false
142
+ train_data_set_list: null
143
+ valid_data_set_list: null
144
+ init_param: null
145
+ output_dir: null
configuration.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b64a3a55d35bcbe2cf4d31f2d3ef25a423d3ba2ebff203298c27fa055f3c7612
3
+ size 398
example/en.mp3 ADDED
Binary file (57.4 kB). View file
 
example/ja.mp3 ADDED
Binary file (57.8 kB). View file
 
example/ko.mp3 ADDED
Binary file (27.9 kB). View file
 
example/yue.mp3 ADDED
Binary file (31.2 kB). View file
 
example/zh.mp3 ADDED
Binary file (45 kB). View file
 
images/compare_en.png ADDED

Git LFS Details

  • SHA256: 9c30014920ba46df9dca1030acdc4ca15311e75b3b26e5a00ea6ae80a019c451
  • Pointer size: 131 Bytes
  • Size of remote file: 214 kB
images/compare_zh.png ADDED

Git LFS Details

  • SHA256: 8c56704ba4aed9756884251e3a499e44784b4dac2bb5252afe118e37498ea728
  • Pointer size: 131 Bytes
  • Size of remote file: 162 kB
images/funasr-v2.png ADDED

Git LFS Details

  • SHA256: c73a21e7b32e1bea400ac88ae354d2415493aa45b72c8d5bf4ee67143facd97b
  • Pointer size: 131 Bytes
  • Size of remote file: 611 kB
model.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:36e34a56990559c948af0624b59b1d27fcc091c2df43412ab7fd648f3951d6ba
3
+ size 1971090564
multilingual.tiktoken ADDED
The diff for this file is too large to render. See raw diff