2026 在线训练 ONNX 唤醒词模型:一键生成并离线使用

2026 年 8 月 · 自定义唤醒词 · ONNX

自定义唤醒词是激活语音助手、机器人或应用功能的固定短语。现在不必自己准备语音数据、搭建 GPU 环境和维护训练代码:输入目标词,在线完成 Basic 模型训练,先在控制台用自己的声音评估,再决定是否付费下载 ONNX/TFLite 模型并继续实机验证。

这篇文章的目标:生成一个“你好管家”之类的单唤醒词模型,下载后直接连接本地应用,不把实时麦克风音频发送到推理服务器。

唤醒词模型和 ASR 有什么区别?

唤醒词模型只判断指定短语是否出现,不负责把整句话转成文字。模型检测成功后,可以再启动 ASR、打开对话窗口、开始录音或者执行本地操作。这种两阶段结构适合低资源常驻监听。

在线训练流程

选择容易区分的唤醒词

建议使用三到六个字、发音比较独特、日常对话中不常出现的短语。太短和太常见的词更容易漏检或误触发。

选择语言和模型类型

听词目前支持中文、英文、日语、德语和法语。基础款完全使用合成语音;如果有口音、儿童声音或特殊品牌发音,可以选择真人增强并加入约 5 段录音。

提交训练

平台自动完成多说话人语音生成、声学增强、模型训练和导出。基础单关键词模型通常约 30 分钟完成,实际时间取决于训练队列。

购买前评估 Basic 模型

用自己的麦克风和自然发音测试模型,同时播放普通背景对话观察误触发。这个环节用于帮助购买决策,不代表模型已经完成生产环境优化。

决定是否付费下载

根据在线测试结果决定是否购买模型文件;下载后仍应在最终麦克风、距离和噪声环境中验证,必要时收集特定误触发声音作为自定义负样本进一步优化。

使用 Python 离线检测

git clone https://github.com/voicute/onnx-wakeword.git
cd onnx-wakeword
pip install onnxruntime numpy pyaudio
from python.wakeword_engine import WakeWordEngine

engine = WakeWordEngine()
engine.load("models/model_info.json", "models/melspectrogram.onnx")
engine.set_L1(True)
engine.start(lambda word, probability, info:
    print(f"检测到:{word},概率:{probability:.0%}"))

检测回调可以连接语音助手、录音功能、智能家居或自己的业务逻辑。实时推理在设备本地完成,不需要运行时 AccessKey。

支持哪些部署平台?

平台运行方式应用场景
PythonONNX RuntimeLinux、Windows、macOS、树莓派
AndroidONNX Runtime AndroidApp、平板和专用终端
WebONNX Runtime Web / WASM网页语音控制
ESP32-S3兼容的 TFLite Micro 模型智能开关和嵌入式设备
Home AssistantWyoming 服务本地智能家居语音助手

需要多个语音命令怎么办?

如果应用不仅需要“你好管家”唤醒,还要直接识别“开灯、关灯、调亮、调暗”,更适合使用多关键词 KWS 模型。参见《2026 在线训练 ONNX 关键词识别模型》。

Basic 模型边界:基础训练使用通用负样本,不同关键词可能对不同声音产生误触发。针对特定声音的自定义负样本训练目前仍在开发中;有需要可通过控制台联系支持。
训练并评估自己的 Basic 模型