新一代 Kaldi 语音识别部署框架之 sherpa-onnx

简介

今天我们向大家介绍继sherpa[1]和sherpa-ncnn[2]之后 新一代Kaldi中第三个语音识别部署框架sherpa-onnx[3].

这三个框架的最主要区别在于使用的神经网络推理库不同。具体用到的推理库,如下表所示。

框架名字神经网络推理库
sherpaPyTorch[4]
sherpa-ncnnncnn[5]
sherpa-onnxonnxruntime[6]

下表列出了sherpa-onnx所提供的具体功能:

分类具体内容
操作系统Windows, Linux, macOS,Android, iOS等
CPUx86_64, aarch64等
协议WebSocket
APIC++, C, Python, Swift, Kotlin
移动端iPhone, iPad, Android
嵌入式端树莓派4等

本文的目的,是希望通过几个使用sherpa-onnx进行实时语音识别的视频, 向大家演示sherpa-onnx的功能。sherpa-onnx的详细使用文档,请见如下地址:

https://k2-fsa.github.io/sherpa/onnx/index.html

视频 1/4:使用sherpa-onnx在 iPhone 上进行实时的语音识别

这里我们只提供sherpa-onnx在iPhone上的实时语音识别例子。如果你想在Android或iPad上进行实时的语音识别,请参考sherpa-onnx的文档。

视频戳我

视频 2/4:使用sherpa-onnx在 树莓派4 上进行实时的语音识别

这里我们只提供sherpa-onnx在 树莓派上的实时语音识别例子。如果你想在其他嵌入式板子上进行实时的语音识别,请参考sherpa-onnx的文档。

视频戳我

视频 3/4:使用sherpa-onnx在 macOS 上进行实时的语音识别

这里我们只提供sherpa-onnx在macOS上的实时语音识别例子。如果你想在 Linux 或者 Windows 上进行实时的语音识别,请参考sherpa-onnx的文档。

视频戳我

视频 4/4:使用sherpa-onnxWebSocket服务进行实时的语音识别

这个视频向大家演示sherpa-onnx的 WebSocket server 支持多客户端的例子。

视频戳我

总结

本文通过4个视频,向大家演示了sherpa-onnx的具体功能。https://github.com/k2-fsa/sherpa-onnx/issues 列出了若干个我们还未完成的事项。如果你碰巧也感兴趣,欢迎帮忙提交pull-request。

引用链接

[1]sherpa:https://github.com/k2-fsa/sherpa

[2]sherpa-ncnn:https://github.com/k2-fsa/sherpa-ncnn

[3]sherpa-onnx:https://github.com/k2-fsa/sherpa-onnx

[4]PyTorch:https://github.com/pytorch/pytorch

[5]ncnn:https://github.com/tencent/ncnn

[6]onnxruntime:https://github.com/microsoft/onnxruntime