SenseVoice 项目介绍
SenseVoice 是一个多功能语音理解基础模型,集成了多项语音理解能力,包括自动语音识别(ASR)、口语语言识别(LID)、语音情感识别(SER)和音频事件检测(AED)。该项目旨在提供高精度的多语言语音识别、语音情感识别和音频事件检测能力。
主要特点
多语言语音识别
SenseVoice 经过超过 40 万小时的数据训练,支持 50 多种语言的识别。其识别性能超过了 Whisper 模型,尤其是在中文和粤语识别方面表现出色。
丰富的转录功能
-
出色的情感识别能力: SenseVoice 在多个测试集上达到或超越了当前最佳情感识别模型的效果。
-
音频事件检测: 支持检测背景音乐、掌声、笑声、哭声、咳嗽和打喷嚏等常见人机交互事件。
高效推理
SenseVoice-Small 模型采用非自回归端到端框架,推理延迟非常低。处理 10 秒音频仅需 70 毫秒,比 Whisper-Large 快 15 倍。
便捷微调
提供简便的微调脚本和策略,用户可以根据自己的业务场景轻松解决长尾样本问题。
服务部署
提供服务部署流程,支持多并发请求,客户端语言包括 Python、C++、HTML、Java 和 C# 等。
性能评测
在多语言语音识别、语音情感识别和音频事件检测等任务上,SenseVoice 都展现出了优秀的性能:
-
在 AISHELL-1、AISHELL-2、Wenetspeech、LibriSpeech 和 Common Voice 等开源基准数据集上,SenseVoice-Small 模型在中文和粤语识别方面具有优势。
-
在多个语音情感识别测试集上,SenseVoice 达到并超越了当前最佳模型的表现。
-
在环境声音分类 ESC-50 数据集上,SenseVoice 虽然仅用语音数据训练,也取得了不错的结果。
使用方法
SenseVoice 的使用非常灵活,支持多种场景:
- 可以直接进行推理,支持任意格式和任意时长的音频输入。
- 提供 FastAPI 部署服务的方法。
- 支持模型微调,可根据特定需求进行定制训练。
- 提供 WebUI 界面,方便直观地使用和测试模型功能。
开源贡献
SenseVoice 项目得到了社区的广泛关注和贡献,包括:
- 基于 Triton + TensorRT 的 GPU 部署最佳实践
- 支持在 10 种编程语言中使用 SenseVoice 的 Sherpa-onnx 部署方案
- 基于 GGML 的纯 C/C++ 推理实现 SenseVoice.cpp
- 支持分块推理的 streaming-sensevoice
- 针对快速推理和批处理优化的 OmniSenseVoice
这些第三方工作大大拓展了 SenseVoice 的应用场景和部署方式。
总的来说,SenseVoice 是一个功能强大、性能优秀、使用便捷的语音理解基础模型,为语音识别、情感分析和事件检测等任务提供了一站式解决方案。无论是学术研究还是工业应用,SenseVoice 都是一个值得关注和使用的开源项目。