Fun-ASR-Nano 使用指南:800M 端到端语音识别大模型,支持 31 语言与 7 大方言

Fun-ASR-Nano 是 FunAudioLLM 团队推出的端到端语音识别大模型,基于「Audio Encoder + Adaptor + LLM(Qwen)」架构,参数量约 800M,在数千万小时真实语音上训练而成。它是我们当前重点推荐的旗舰 ASR 模型。

核心亮点:

1. 安装

pip install -U funasr torch torchaudio

2. 基础推理(含热词)

下面是已实测可运行的最小示例(自动下载模型):

from funasr import AutoModel

model = AutoModel(
    model="FunAudioLLM/Fun-ASR-Nano-2512",
    trust_remote_code=True,
    remote_code="./model.py",
    device="cuda:0",
    hub="hf",          # 国内可用 hub="ms" 走 ModelScope
)
wav = f"{model.model_path}/example/zh.mp3"   # 模型自带示例音频
res = model.generate(
    input=[wav], cache={}, batch_size=1,
    hotwords=["开放时间"],   # 热词,提升专有名词召回
    language="中文",
    itn=True,               # 逆文本归一化(数字/日期规整)
)
print(res[0]["text"])

实测输出:开放时间早上九点至下午五点。——热词「开放时间」被准确识别。

3. 长音频:加 VAD 分段

model = AutoModel(
    model="FunAudioLLM/Fun-ASR-Nano-2512",
    trust_remote_code=True, remote_code="./model.py",
    vad_model="fsmn-vad",
    vad_kwargs={"max_single_segment_time": 30000},
    device="cuda:0", hub="hf",
)
res = model.generate(input=[wav], cache={}, batch_size=1, language="中文")

4. 说话人分离(谁在什么时候说了什么)

组合 VAD + 声纹(cam++)+ 标点,得到带说话人标签的逐句结果:

model = AutoModel(
    model="FunAudioLLM/Fun-ASR-Nano-2512",
    trust_remote_code=True, remote_code="./model.py",
    vad_model="fsmn-vad", vad_kwargs={"max_single_segment_time": 30000},
    spk_model="cam++", punc_model="ct-punc",
    device="cuda:0", hub="hf",
)
res = model.generate(input=[wav], cache={}, batch_size=1, language="中文")
for sent in res[0]["sentence_info"]:
    print(sent["spk"], sent["text"])

说话人分离需要从源码安装 FunASR:pip install git+https://github.com/modelscope/FunASR.git

5. 高吞吐 / 流式部署

场景推荐方式
大规模离线批量转写AutoModelVLLM(vLLM 后端,高吞吐)
实时低延迟流式FunASRNanoStreamingVLLM(chunk 流式)
单机 / 快速试用上面的 AutoModel 即可

vLLM 路径对版本较敏感,建议 vLLM 0.12.0 + torch 2.9.0;完整示例见 Fun-ASR 仓库

开始使用 Fun-ASR-Nano

主力旗舰模型,31 语言 + 7 方言。觉得有用就到 GitHub 点个 Star ⭐

Fun-ASR GitHub ★

延伸阅读:SenseVoice 部署指南 · 对比 Whisper · 快速上手

相关文章