2026 在线训练 ONNX 关键词识别模型:一个模型识别多个语音命令

2026 年 8 月 · KWS 关键词识别 · 多命令词

KWS(Keyword Spotting)用于识别少量预先定义的固定语音命令。如果应用只需要“开始、停止、下一页、取消”之类的操作,可以使用紧凑的离线模型,不必持续运行完整语音转文字系统。

与唤醒词的区别:唤醒词通常只负责激活后续系统;多关键词模型可以把多个短语直接映射为应用动作。

为什么把多个关键词放进一个模型?

每个命令运行一个独立模型,会重复特征提取,也增加模型管理和阈值配置工作。多关键词模型共享一次音频特征计算,同时输出多个目标词的结果,适合智能家居、无障碍工具、机器人、展台、游戏以及免手操作的 App。

一个命令词集合示例

开始记录
停止记录
下一页
上一页
取消操作

同一组命令之间应该尽量保持发音差异。不要轻易同时使用一个短词和包含该短词的长短语,否则需要重点验证二者是否混淆。

在线训练步骤

  1. 登录听词,选择目标语言。
  2. 选择多关键词模型。
  3. 依次添加两个或更多命令,确认文字和预期发音。
  4. 特殊发音可选择加入真人录音。
  5. 提交任务,等待语音生成、数据增强、训练和模型导出。
  6. 逐个测试命令,同时播放普通对话检查误触发,然后下载模型包。

在应用中映射语音动作

推理回调返回检测到的关键词标签,可以用一个简单的动作表连接业务功能:

ACTIONS = {
    "开始记录": start_recording,
    "停止记录": stop_recording,
    "下一页": next_page,
    "上一页": previous_page,
    "取消操作": cancel_action,
}

def on_detected(word, probability, info):
    action = ACTIONS.get(word)
    if action:
        action()

桌面和移动端可以使用 ONNX Runtime,浏览器可以使用 ONNX Runtime Web,嵌入式设备使用兼容的轻量运行时。整个过程不生成完整文字转录,实时音频也不需要离开设备。

KWS、唤醒词还是 ASR?

需求建议方案
识别几个固定语音命令多关键词 KWS
常驻监听一个激活短语单唤醒词模型
自由说话、听写和对话ASR
先唤醒,再理解复杂请求唤醒词 + ASR

模型上线前怎么测试?

使用未参与训练的说话人和最终麦克风逐个测试命令,同时播放普通对话、音乐和相似发音。阈值需要同时平衡漏识别和误触发,只追求召回率并不适合直接控制设备。

隐私边界:模型生成过程在线完成;下载 ONNX/TFLite 后,实际关键词检测在本地运行,不需要每次推理都连接训练服务。
在线训练 ONNX 关键词模型