跳转至

语音识别

在部署语音识别的时候,使用小米开源的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。

参考:

  1. https://k2-fsa.github.io/sherpa/intro.html