语音识别模型(lyric_asr 使用)
本仓库存放 ROS2 人机交互项目 lyric_acns2 中 lyric_asr 语音识别功能包所依赖的
ASR 转写 + KWS 唤醒词模型。这些模型不进入 git(体积大且来自第三方),统一在此托管、
供协同开发拉取。
目录结构
asr-models-lyric/
├── asr/ # 实时双语 ASR(sherpa-onnx-streaming-paraformer-bilingual-zh-en, int8)
│ ├── encoder.int8.onnx # 165MB 流式编码器(CPU int8)
│ ├── decoder.int8.onnx # 71MB 解码器
│ └── tokens.txt # 词表
└── kws/ # 唤醒词(sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01)
├── encoder/decoder/joiner-*.onnx # zipformer 唤醒词模型(拼音建模单元)
├── keywords.txt / keywords_raw.txt # 内置唤醒词表
├── tokens.txt
└── test_wavs/ # 自带测试音频 + test_keywords.txt
使用方式(sherpa-onnx)
# ASR 转写(lyric_asr 已封装,模型路径自动从 db/models/asr/asr 加载)
from sherpa_onnx import OnlineRecognizer
r = OnlineRecognizer.from_paraformer(
tokens="asr/tokens.txt",
encoder="asr/encoder.int8.onnx",
decoder="asr/decoder.int8.onnx",
sample_rate=16000, feature_dim=80, enable_endpoint_detection=True,
)
# KWS 唤醒词
from sherpa_onnx import KeywordSpotter
kws = KeywordSpotter.from_zipformer(
tokens="kws/tokens.txt",
encoder="kws/encoder-*.onnx",
decoder="kws/decoder-*.onnx",
joiner="kws/joiner-*.onnx",
keywords_file="kws/keywords.txt",
)
板端部署
- 模型放运行机
~/ros_workspaces/db/models/asr/{asr,kws},ros2 launch lyric_asr asr.launch.py - 板端(无外网)由
scripts/asr_prepare_offline.sh打包 +asr_provision.sh离线部署 - 自检:
scripts/asr_test_chain.sh(依赖/TTS/KWS/ASR/音频IO 等 13 项)
来源与许可
- ASR:源自 sherpa-onnx 生态、ModelScope
ZhaoChaoqun/sherpa-onnx-asr-models(Apache-2.0) - KWS:源自 ModelScope
pkufool/sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01(Apache-2.0,wenetspeech L 10000h 训练) - 本仓库仅作镜像托管与团队分发,版权归原作者所有。