modelscope/FunASRView GitHub Homepage for Latest Official Releases
基于ModelScope的端到端语音识别工具包,支持语音识别、语音活动检测、标点恢复等多种功能
MITPythonFunASRmodelscope 12.6k Last Updated: September 09, 2025
FunASR - 基础端到端语音识别工具包
项目概述
FunASR 是一个基础的语音识别工具包,提供多种功能,包括语音识别 (ASR)、语音活动检测 (VAD)、标点恢复、语言模型、说话人验证、说话人分离和多说话人 ASR。该项目由阿里巴巴达摩院开发,旨在构建学术研究与工业应用之间的桥梁。
项目地址: https://github.com/modelscope/FunASR
核心特性
1. 多功能语音处理
- 语音识别 (ASR): 支持流式和非流式识别
- 语音活动检测 (VAD): 检测语音活动段落
- 标点恢复: 自动添加标点符号
- 说话人识别: 支持说话人验证和分离
- 情感识别: 语音情感分析
- 关键词检测: 支持关键词唤醒
2. 预训练模型库
FunASR 在 ModelScope 和 Hugging Face 上发布了大量的学术和工业级预训练模型,主要包括:
模型名称 | 功能描述 | 训练数据 | 参数量 |
---|---|---|---|
SenseVoiceSmall | 多语音理解能力,包括 ASR、ITN、LID、SER 和 AED | 30万小时 | 234M |
paraformer-zh | 中文语音识别,带时间戳,非流式 | 6万小时,中文 | 220M |
paraformer-zh-streaming | 中文语音识别,流式 | 6万小时,中文 | 220M |
paraformer-en | 英文语音识别,非流式 | 5万小时,英文 | 220M |
ct-punc | 标点恢复 | 1亿条,中英文 | 290M |
fsmn-vad | 语音活动检测 | 5000小时,中英文 | 0.4M |
Whisper-large-v3 | 多语言语音识别 | 多语言 | 1550M |
3. 核心模型介绍
Paraformer
Paraformer-large 是一个非自回归的端到端语音识别模型,具有高准确性、高效率和便捷部署的优势,支持快速构建语音识别服务。
SenseVoice
SenseVoice 是一个具有多种语音理解能力的语音基础模型,包括 ASR、LID、SER 和 AED,支持中文、粤语、英语、日语、韩语等多种语言。
安装和使用
安装方式
通过 pip 安装
pip3 install -U funasr
从源码安装
git clone https://github.com/alibaba/FunASR.git && cd FunASR
pip3 install -e ./
安装模型库支持(可选)
pip3 install -U modelscope huggingface_hub
快速开始
1. 命令行使用
funasr ++model=paraformer-zh ++vad_model="fsmn-vad" ++punc_model="ct-punc" ++input=asr_example_zh.wav
2. Python API - SenseVoice 模型
from funasr import AutoModel
from funasr.utils.postprocess_utils import rich_transcription_postprocess
model_dir = "iic/SenseVoiceSmall"
model = AutoModel(
model=model_dir,
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", # "zn", "en", "yue", "ja", "ko", "nospeech"
use_itn=True,
batch_size_s=60,
merge_vad=True,
merge_length_s=15,
)
text = rich_transcription_postprocess(res[0]["text"])
print(text)
3. Python API - Paraformer 模型
from funasr import AutoModel
# paraformer-zh 是多功能 ASR 模型
model = AutoModel(
model="paraformer-zh",
vad_model="fsmn-vad",
punc_model="ct-punc",
# spk_model="cam++", # 可选说话人识别
)
res = model.generate(
input=f"{model.model_path}/example/asr_example.wav",
batch_size_s=300,
hotword='魔搭' # 热词
)
print(res)
4. 流式识别
from funasr import AutoModel
import soundfile
import os
chunk_size = [0, 10, 5] # [0, 10, 5] 600ms延迟配置
encoder_chunk_look_back = 4
decoder_chunk_look_back = 1
model = AutoModel(model="paraformer-zh-streaming")
wav_file = os.path.join(model.model_path, "example/asr_example.wav")
speech, sample_rate = soundfile.read(wav_file)
chunk_stride = chunk_size[1] * 960 # 600ms
cache = {}
total_chunk_num = int(len((speech)-1)/chunk_stride+1)
for i in range(total_chunk_num):
speech_chunk = speech[i*chunk_stride:(i+1)*chunk_stride]
is_final = i == total_chunk_num - 1
res = model.generate(
input=speech_chunk,
cache=cache,
is_final=is_final,
chunk_size=chunk_size,
encoder_chunk_look_back=encoder_chunk_look_back,
decoder_chunk_look_back=decoder_chunk_look_back
)
print(res)
服务部署
FunASR 支持部署预训练或进一步微调的模型进行服务,目前支持以下类型的服务部署:
支持的服务类型
- 离线文件转录服务 (中文, CPU版本)
- 实时转录服务 (中文, CPU版本)
- 离线文件转录服务 (英文, CPU版本)
- 离线文件转录服务 (中文, GPU版本)
部署配置建议
推荐配置:
- 配置1:(X86计算型) 4核vCPU,8GB内存,单机支持约32个请求
- 配置2:(X86计算型) 16核vCPU,32GB内存,单机支持约64个请求
技术特点
1. 模型创新
- 非自回归架构: Paraformer 采用非自回归设计,提高推理效率
- 2Pass 模式: 结合流式和非流式的优势
- 热词支持: 支持自定义热词提升特定词汇识别准确率
2. 工程优化
- ONNX 导出: 支持模型 ONNX 格式导出,便于部署
- 多平台支持: 支持 CPU、GPU、ARM64 等多种平台
- 容器化部署: 提供 Docker 镜像支持
3. 开发友好
- 统一接口: AutoModel 统一了 ModelScope、Hugging Face 和 FunASR 的推理接口
- 插件化设计: 支持 VAD、标点、说话人等组件的灵活组合
- 丰富文档: 提供详细的教程和示例
应用场景
1. 实时语音转录
- 会议记录
- 直播字幕
- 语音助手
2. 离线音频处理
- 音频文件转录
- 语音数据分析
- 内容审核
3. 多语言支持
- 跨语言语音识别
- 语音翻译
- 多语言客服
最新更新
2024年主要更新
- 2024/10/29: 实时转录服务 1.12 发布,2pass-offline 模式支持 SenseVoice 模型
- 2024/10/10: 新增 Whisper-large-v3-turbo 模型支持
- 2024/09/26: 修复内存泄漏问题,支持 SenseVoice ONNX 模型
- 2024/07/04: 发布 SenseVoice 语音基础模型
- 2024/06/27: 离线文件转录服务 GPU 1.0 发布
社区和支持
开源协议
- 项目采用 MIT License
- 预训练模型使用特定的模型许可协议
社区参与
- GitHub Issues: 技术问题和 bug 反馈
- 钉钉群: 日常交流和讨论
- ModelScope: 模型下载和分享
引用
如果您在研究中使用了 FunASR,请引用以下论文:
@inproceedings{gao2023funasr,
author={Zhifu Gao and Zerui Li and Jiaming Wang and Haoneng Luo and Xian Shi and Mengzhe Chen and Yabin Li and Lingyun Zuo and Zhihao Du and Zhangyu Xiao and Shiliang Zhang},
title={FunASR: A Fundamental End-to-End Speech Recognition Toolkit},
year={2023},
booktitle={INTERSPEECH},
}
总结
FunASR 是一个功能完整、性能优异的语音识别工具包,它成功地将学术研究的前沿技术与工业应用的实际需求相结合。无论是研究人员进行算法验证,还是开发者构建语音应用,FunASR 都提供了强大的技术支持和便捷的开发体验。通过其丰富的预训练模型、灵活的部署方案和活跃的开源社区,FunASR 正在成为语音识别领域的重要基础设施。