导读
语音识别(ASR)是人工智能落地最广泛的方向之一,但学术界的前沿模型与工业界的实际部署之间一直存在距离。
阿里达摩院开源的 FunASR,正是为弥合这一差距而生。它提供基于大规模工业语料训练的预训练模型,支持训练、微调和服务部署,覆盖语音识别、语音活动检测、标点恢复、说话人分离、情感识别等任务。项目自 2023 年开源以来持续更新,除自研的 Paraformer 系列外,还集成了通义实验室的 Fun-ASR-Nano(支持中文 7 种方言和 26 种地方口音)、SenseVoice 等外部模型,目前在 GitHub 上已获得 15.2k Star。本文将从项目定位、模型体系、使用方式和服务部署几个方面,对 FunASR 做一个全面的介绍。
图片来源于原论文
FunASR(Fundamental ASR)是一个基于 PyTorch 的端到端语音识别工具包,由阿里达摩院语音实验室开发并开源。项目的核心目标有两个:
FunASR 的核心价值在于工具包能力——统一的 AutoModel 接口、灵活的模型组合、一键服务部署。它不仅提供自研模型(Paraformer 系列),还集成了来自其他团队的模型(如通义实验室的 SenseVoice 和 Fun-ASR-Nano、OpenAI 的 Whisper、阿里云的 Qwen-Audio 等),让开发者用几行代码,就能完成从"一段音频"到"一段带标点、带时间戳、带说话人标签的文字"的全过程。
FunASR 的模型库覆盖了语音处理的多个环节。需要说明的是,FunASR 作为工具包,既包含达摩院自研的模型,也集成了其他团队的模型,以下按来源分类列出:
达摩院自研模型
图片来源于原论文
Paraformer 是 FunASR 的自研核心模型,发表于 INTERSPEECH 2022/2023。它是一个单步非自回归(NAR)模型,相比自回归模型实现了 12 倍推理加速。在 AISHELL test 上 CER 为 1.95%。需要注意的是,随着领域的快速发展,Paraformer 在中文识别精度上已不是最新 SOTA(如 FireRedASR 在 AISHELL-1 上 CER 已达 0.57%),但 FunASR 的优势在于工具包层面的模型组合和部署能力。
集成的外部模型
这些模型由各自团队开发和维护,FunASR 通过统一的 AutoModel 接口将它们集成在一起,用户切换模型只需更改 model 参数。
辅助任务模型
值得注意的是,这些模型可以灵活组合使用。比如将 VAD + Fun-ASR-Nano + 标点恢复串联,就可以实现"长音频 → 分段识别 → 带标点文本"的完整流水线。这种模型组合能力是 FunASR 作为工具包的核心优势。
安装
FunASR 的安装非常简单,要求 Python ≥ 3.8、PyTorch ≥ 1.13:
pip3 install -U funasr
FunASR 提供了统一的 AutoModel 接口,通过切换模型名称和组合不同模块即可完成各类语音任务。
命令行调用
最快捷的方式是直接用命令行,一行命令即可完成 VAD 分段 + 语音识别 + 标点恢复:
GPT plus 代充 只需 145funasr ++model=paraformer-zh ++vad_model="fsmn-vad" ++punc_model="ct-punc" ++input=asr_example_zh.wav
支持单个音频文件或 Kaldi 风格的 wav.scp 文件列表。
Python API(非流式:Fun-ASR-Nano)
以下示例使用 Fun-ASR-Nano 模型,配合 VAD 进行语音识别:
from funasr import AutoModel
model = AutoModel( model="FunAudioLLM/Fun-ASR-Nano-2512", vad_model="fsmn-vad", vad_kwargs={"max_single_segment_time": 30000}, device="cuda:0", ) res = model.generate(input=[wav_path], cache={}, batch_size_s=0) text = res[0]["text"]
Python API(多能力识别:SenseVoiceSmall)
SenseVoiceSmall 的调用方式类似,通过 language="auto" 自动检测语种,use_itn=True 启用标点和反向文本规范化:
GPT plus 代充 只需 145from funasr import AutoModel from funasr.utils.postprocess_utils import rich_transcription_postprocess
model = AutoModel( model="iic/SenseVoiceSmall", vad_model="fsmn-vad", vad_kwargs={"max_single_segment_time": 30000}, device="cuda:0", ) res = model.generate( input=f"{model.model_path}/example/en.mp3", cache={}, language="auto", use_itn=True, batch_size_s=60, merge_vad=True, merge_length_s=15, ) text = rich_transcription_postprocess(res[0]["text"])
两个示例使用的都是 FunASR 统一的 AutoModel 接口,切换模型只需更改 model 参数。主仓库 README 中还提供了流式识别、VAD、标点恢复、时间戳预测、情感识别等完整的代码示例,详见项目仓库。
FunASR 不只是一个研究工具,它提供了面向生产的服务部署方案:
离线文件转录服务
实时流式转录服务
性能表现
多平台与模型导出
funasr-export ++model=paraformer ++quantize=false ++device=cpu
社区生态
围绕 FunASR 的模型,社区贡献了多种部署方案:
FunASR 的定位介于纯学术框架和商业 API 之间,它的价值在于开源、可控、可定制。具体来说:
- 需要私有化部署语音识别的团队:不依赖第三方 API,数据不出本地,适合对数据安全有要求的场景。
- 需要多任务组合的开发者:VAD、ASR、标点、说话人分离、情感识别可以灵活串联,通过统一的
AutoModel接口构建定制化的语音处理流水线。 - 需要实时转录的应用场景:会议记录、直播字幕、客服质检等场景可以直接使用其流式和离线转录服务。
- 需要在特定领域微调的团队:FunASR 支持在预训练模型基础上进行微调,适配垂直行业的专业词汇和口音。
从 2023 年至今,FunASR 保持着稳定的更新节奏,从自研的 Paraformer 到集成通义实验室的 SenseVoice 和 Fun-ASR-Nano,工具包的模型覆盖和部署能力持续扩展。
相关仓库:
论文:Zhifu Gao, Zerui Li, Jiaming Wang, et al. "FunASR: A Fundamental End-to-End Speech Recognition Toolkit." INTERSPEECH 2023.
许可证:代码采用 MIT License;模型使用需遵守 Model License Agreement。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/242020.html