如何使用 ManySpeech 调用 SenseVoiceSmall 模型

一、模型与组件简介

  1. SenseVoice 模型
    多语言音频理解开源模型,支持语音识别、语种识别、情感识别等功能,适用于中、粤、英、日、韩等语言。
  2. ManySpeech.AliParaformerAsr
    C# 语音识别推理库,支持 paraformer-largeparaformer-seaco-large、sensevoice-small 等 ONNX 格式模型,包括流式(online)和非流式(offline)模型。

二、调用 SenseVoice-small 模型的三种方法

方法一:通过命令行参数(推荐新手)

  1. 运行 ManySpeech.AliParaformerAsr.Examples 示例程序
  2. 当控制台显示 “Enter parameters (press Enter to skip)” 时,输入:
-type offline -method one -model sensevoice-small-int8-onnx

3.按提示完成后续操作即可

方法二:修改示例代码默认值

1.打开示例项目中的 Program.cs 文件

2.找到 _defaultOfflineModelName 变量,修改为:

private static Dictionary<string, string> _defaultOfflineModelName = new Dictionary<string, string>{ 
   { "aliparaformerasr", "sensevoice-small-int8-onnx" } 
};

3.重新编译运行程序,将默认使用 SenseVoice-small 模型

方法三:在自定义项目中集成

1.参考示例代码,将封装的核心方法(选中的文件)复制到你的项目中,如下图:

image

示例中封装的核心方法

2.调用识别方法之前,设置回调函数:

SetOfflineRecognizerCallbackForResult(recognizerType: "offline");

3.调用识别方法:

var methodType="one"; //"batch"
var modelAccuracy="int8"; //"fp32" 
var threads=2;
var files=new string[]{"to/path/file1.wav"};//默认支持wav类型
var modelBasePath="to/path/folder_name";//AppDomain.CurrentDomain.BaseDirectory
OfflineAliParaformerAsrRecognizer.OfflineRecognizer(    
     methodType,     
     "sensevoice-small-int8-onnx",  // 指定模型名称    
     modelAccuracy,     
     threads,     
     files,    
     modelBasePath 
 );

在windows10+环境,如需支持更多音频格式,可将OfflineAliParaformerAsrRecognizer.cs 文件中 AudioHelper.GetFileSample方法修改为AudioHelper.GetMediaSample,将 OnlineAliParaformerAsrRecognizer.cs 文件中 AudioHelper.GetFileChunkSamples方法修改为 AudioHelper.GetMediaChunkSamples。

三、使用其他相关模型

  1. 访问魔搭模型库:
  2. 查找所需模型:
    搜索关键词,如:paraformer-largeparaformer-seaco-largesensevoice-small,找到相关的 ONNX 模型。
    示例:使用 wenetspeech-yue 数据集微调的 SenseVoice 模型
    模型地址:
    模型名称:sensevoice-small-wenetspeech-yue-onnx
  3. 替换上述方法中的模型名称参数即可

四、注意事项

1.区分模型类型:

  • 明确模型是流式(online)还是非流式(offline)
  • 示例:SenseVoice-small 为非流式(offline)模型,需指定 -type offline

2.模型格式要求:确保使用的模型文件是通过 FunAsr 导出的 ONNX 格式

3.参数配置:不同模型可能需要不同的参数配置,建议参考具体模型文档

posted @ 2025-10-08 22:35  从孑开始  阅读(58)  评论(0)    收藏  举报