语音识别
在部署语音识别的时候,使用小米开源的sherpa框架部署不同的客户端,包括安卓和ios的客户端。
sherpa 介绍
Sherpa 是下一代kaldi项目的部署框架 Sherpa 支持在各种平台上部署语音相关的预训练模型。
如果您对如何训练自己的模型或微调预训练的模型感兴趣,请参考 Icefall 这个项目。
目前,sherpa有以下子项目:
- k2-fsa/sherpa
- k2-fsa/sherpa-onnx
- k2-fsa/sherpa-ncnn
上面这些项目之间的差异如下表所示:
k2/sherpa | k2/sherpa-onnx | k2/sherpa-ncnn | |
---|---|---|---|
安装的困难程度 | 困难 | 容易 | 容易 |
神经网络依赖库 | Pytorch | onnxruntime | ncnn |
CPU 支持 | x86 x86_64 | x86、x86_64、 arm32,arm64 | x86, x86_64, arm32, arm64, RISC-V |
GPU 支持 | 是的(适用于 NVIDIA GPU)CUDA | 是的 | 是的(适用于 ARM GPU)Vulkan |
操作系统支持 | Linux的, Windows的, macOS 的 | Linux的, Windows的, macOS、 、iOS Android | Linux的, Windows的, macOS、 、iOS Android |
支持 batch_size > 1 | 是的 | 是的 | No |
提供的 API | C++、Python | C、C++、Python、 C#、Java、Kotlin 和 斯威夫特、Go、 JavaScript、Dart 帕斯卡,Rust | C、C++、Python、 C#、Kotlin、 Swift, Go |
支持的功能 | 流式语音识别 / 非流式语音识别 | 流式语音识别 / 非流式语音识别 / 文本转语音, 说话人分类 / 说话人识别 / 说话人验证 / 口语识别 / 音频标记, VAD / 关键词识别, | 流式语音识别 / VAD |
我们也支持 Triton。请参阅 Triton。
参考:
- https://k2-fsa.github.io/sherpa/intro.html