您的位置:首页 > 科技 > 能源 > 广州网络建站_网站首页图片制作_做做网站_百度投流运营

广州网络建站_网站首页图片制作_做做网站_百度投流运营

2025/4/23 16:32:04 来源:https://blog.csdn.net/ZLGSPACE/article/details/147285126  浏览:    关键词:广州网络建站_网站首页图片制作_做做网站_百度投流运营
广州网络建站_网站首页图片制作_做做网站_百度投流运营

sherpa-onnx简介

Sherpa:是一个由 K2-FSA 团队 开发的 开源语音处理框架,旨在解决传统语音识别工具(如 Kaldi)在模型部署和跨平台适配中的复杂性问题。它通过整合现代深度学习技术和高效推理引擎,提供了从语音识别、合成到说话人识别的一站式解决方案,尤其在实时性、低资源消耗和跨平台兼容性方面表现突出。

ONNX(Open Neural Network Exchange):即开放神经网络交换格式,是一种用于表示深度学习模型的开放标准文件格式。它由微软、Facebook 和亚马逊等科技公司联合推出,旨在打破不同深度学习框架之间的壁垒,让模型能够在不同的工具和硬件平台之间更便捷地迁移和部署。

所以Sherpa-onnx是一款基于开放神经网络交换格式的实时语音识别引擎。

sherpa-onnx尝鲜

由于笔者主要从事Android开发,所以本次尝鲜也就仅带大家将官方Demo跑起来并看到效果。

1.下载sharpa-onnx源码

下载地址:https://github.com/k2-fsa/sherpa-onnx

或者执行:

git clone https://github.com/k2-fsa/sherpa-onnx

2.导入Demo工程到Android Studio

完成上一步下载源码之后,解压源码,然后进入源码中的:sherpa-onnx-master\sherpa-onnx-master\android目录

内容如下:
在这里插入图片描述

这个里面这些目录基本上都是sharpa-onnx在Android上面的示例,我们本次指导示例使用的是SherpaOnnx,SherpaOnnx的功能是语音转文字(ASR),其余的在成功跑起SherpaOnnx后,可自行了解,配置方式基本上都差不多。 SherpaOnnx导入Android Studio之。

3.更换工程中的类文件

因为SherpaOnnx中默认除MainActivity.kt外其他都是伪类,因此需要找到真的类文件进行替换,好的一点是官方在每个类中标明了使用的类文件的具体位置,有些同学可能看不明白,没关系,跟我操作即可。

sherpa-onnx-master\sherpa-onnx\kotlin-api目录内拷贝下图中红框标记的文件:

在这里插入图片描述

复制到Android Studio中替换demo中当前同名的类文件。

4.下载并导入依赖

官方只提供了macOS和linux下的依赖编译,windows下的没提供,而笔者和大部分小伙伴应该都是windows吧,所以我们也就不费那劲了,直接下载官方已经编译好的依赖文件导入即可,如果有小伙伴对于依赖编译有想法的可以参看官方文档,或者留言我后续再出一遍依赖编译的指导文档。

下载路径:https://github.com/k2-fsa/sherpa-onnx/releases

在这里插入图片描述

我们这里下载sherpa-onnx-v1.11.3-android.tar.bz2,下载完成后可以看到里面有一个jniLibs目录,将这个目录拷贝,复制并替换工程中已经存在的JniLibs目录,当然如果觉得依赖比较大的话,可以自行根据调试平台删除掉不需要的库,如果搞不明白,就直接全部拷到工程即可。

自此,工程的配置就算全部完成了,下面我们看下如何下载模型并导入到工程。

5.下载模型并导入

可能是考虑到sherpa-onnx源码大小,所以demo中既没有上传依赖,也没有上传模型,所以这些都得我们自己下载自行导入,好的一点是官方又很贴心,提供了很多预训练模型供大家下载。

在下载之前我们需要知道要下载那个模型,所以我们的先从demo中查找它加载的是那个模型,因此让我们打开MainActivity。

在这里插入图片描述

在205行也就是我红框标记的这里,通过名称不难看出是获取模型配置,在获取配置时传入一个type参数,这个参数的值为0,大家要记住这个值,待会有用,我们继续看下getModelConfig函数是怎么加载模型配置的。

在这里插入图片描述

这里跳转到了OnlineRecognizer类中,在这里可以看到传入的type就是为了区分加载那个模型,模型名称可以认为就是 “modelDir”, 因为截图有限,大家如果打开的话应该能看到,支持加载的模型很多,我们这里就还是以默认加载模型来进行调试吧。

在MainActivity中的截图中应该有小伙伴也看到了,官方亲切的将模型下载链接已经给出,不过那个链接是总的模型下载地址,当然根据大家需要可选择我下面提供的链接或者demo中的链接下载都可以。

模型下载地址:https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models

因为模型很多,所以我们这里直接搜索

在这里插入图片描述

找到我们要下载的模型后,直接下载,根据个人网速,如果过慢的话,可能还需要科学上网,大家自行选择。

待下载完成后,解压,将整个模型目录拷贝到工程的assets根目录,结构如下:

在这里插入图片描述

这一步完成之后,那么我们整个demo的导入就算完成了,接下来就是运行看效果了。

效果截图如下:

在这里插入图片描述

简单试了下,识别速度和准确率还可以,效果还是杠杠的,至此我们sherpa-onnx安卓语音识别尝鲜就圆满结束了,感谢大家的观看。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com