Commit ·
d4c0d2e
0
Parent(s):
Duplicate from FunAudioLLM/Fun-ASR-MLT-Nano-2512
Browse filesCo-authored-by: Zhendong Peng <pengzhendong@users.noreply.huggingface.co>
- .gitattributes +49 -0
- Qwen3-0.6B/config.json +3 -0
- Qwen3-0.6B/generation_config.json +3 -0
- Qwen3-0.6B/merges.txt +0 -0
- Qwen3-0.6B/tokenizer.json +3 -0
- Qwen3-0.6B/tokenizer_config.json +3 -0
- Qwen3-0.6B/vocab.json +3 -0
- README.md +273 -0
- README_zh.md +211 -0
- config.yaml +145 -0
- configuration.json +3 -0
- example/en.mp3 +0 -0
- example/ja.mp3 +0 -0
- example/ko.mp3 +0 -0
- example/yue.mp3 +0 -0
- example/zh.mp3 +0 -0
- images/compare_en.png +3 -0
- images/compare_zh.png +3 -0
- images/funasr-v2.png +3 -0
- model.pt +3 -0
- multilingual.tiktoken +0 -0
.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
|
images/compare_zh.png
ADDED
|
Git LFS Details
|
images/funasr-v2.png
ADDED
|
Git LFS Details
|
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
|
|
|