はじめに
sherpa-onnx 是由 Next-gen Kaldi 团队开发的一个开源项目,旨在提供高效的离线语音识别和语音合成解决方案。它支持多种平台,包括 Android、iOS、Raspberry Pi 等,能够在没有网络连接的情况下进行实时语音处理。该项目依赖于 ONNX Runtime 框架,提供从语音到文本(ASR)、文本到语音(TTS)以及语音活动检测(VAD)等功能,适用于各类嵌入式系统和移动设备。该项目不仅支持离线使用,还可以通过WebSocket实现服务器和客户端的通信。
機能一覧
- 离线语音识别(ASR):支持多种语言的实时语音转文字,无需网络连接。
- 离线语音合成(TTS):提供高质量的文本转语音服务,同样无需网络。
- 语音活动检测(VAD):实时检测语音活动,适用于各种语音交互场景。
- マルチプラットフォーム対応:适用于 Linux、macOS、Windows、Android、iOS 等多个操作系统。
- 跨语言模型支持:支持如 Zipformer、Paraformer 等先进的语音模型,提升识别和合成的精度。
- 低资源消耗:优化后的模型可以在资源有限的设备上流畅运行。
ヘルプの使用
設置プロセス
sherpa-onnx 是一个开源项目,你可以从 GitHub 直接下载源码进行编译,或者直接使用预编译的二进制文件:
1.クローン倉庫::
git clone https://github.com/k2-fsa/sherpa-onnx.git
cd sherpa-onnx
- 编译源码::
- 对于 Linux 和 macOS 用户:
mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release .. make -j4
- 对于 Windows 用户,你可能需要使用 Visual Studio 或其他 CMake 支持的编译器。
- 对于 Linux 和 macOS 用户:
- 下载预编译文件::
- 访问 GitHub 发布页面(例如 https://github.com/k2-fsa/sherpa-onnx/releases),选择适合你的操作系统的预编译版本进行下载。
使用方法
语音识别(ASR)示例::
- コマンドラインモード::
下载预训练模型(例如 sherpa-onnx-streaming-zipformer-bilingual-zh-en):wget https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-bilingual-zh-en.tar.bz2 tar xvf sherpa-onnx-streaming-zipformer-bilingual-zh-en.tar.bz2
然后运行:
./build/bin/sherpa-onnx --tokens=sherpa-onnx-streaming-zipformer-bilingual-zh-en/tokens.txt --encoder=sherpa-onnx-streaming-zipformer-bilingual-zh-en/encoder.onnx --decoder=sherpa-onnx-streaming-zipformer-bilingual-zh-en/decoder.onnx your_audio.wav
- 实时识别::
使用麦克风进行实时语音识别:./build/bin/sherpa-onnx-microphone --tokens=sherpa-onnx-streaming-zipformer-bilingual-zh-en/tokens.txt --encoder=sherpa-onnx-streaming-zipformer-bilingual-zh-en/encoder.onnx --decoder=sherpa-onnx-streaming-zipformer-bilingual-zh-en/decoder.onnx
语音合成(TTS)示例::
- 下载预训练的 TTS 模型(例如 VITS 模型):
wget https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/sherpa-onnx-tts-vits.tar.bz2 tar xvf sherpa-onnx-tts-vits.tar.bz2
- 运行 TTS:
./build/bin/sherpa-onnx-offline-tts --model=sherpa-onnx-tts-vits/model.onnx "你好,世界"
语音活动检测(VAD)::
- 运行 VAD:
./build/bin/sherpa-onnx-vad --model=path/to/vad_model.onnx your_audio.wav
ほら
- モデルの選択:根据你的需求选择适当的模型(如 streaming 或 non-streaming 版本)。不同的模型在性能和实时性上有所不同。
- ハードウェア要件:虽然 sherpa-onnx 旨在低资源消耗,但复杂的模型可能需要更高的计算能力,特别是在移动设备上。
- 言語サポート:预训练模型可能支持多种语言,确保选择适合你的语言的模型。
通过这些步骤和提示,你可以开始使用 sherpa-onnx 进行语音相关的应用开发,无论是实时对话系统还是离线的语音处理。