什么是 ONNX?语音控制模型格式入门
ONNX 是一种可移植的模型格式。它可以帮助训练好的语音模型进入不同平台,但一个 ONNX 文件本身并不等于完整的语音控制方案。
ONNX 用一句话怎么理解
ONNX 是 Open Neural Network Exchange 的缩写。它把神经网络的结构、权重和输入输出定义保存为标准模型图,让 ONNX Runtime 等推理引擎可以加载并执行模型。
ONNX 模型可以解决什么
- 保存训练好的关键词识别模型;
- 让模型更容易在 Python、Linux、Windows、macOS、Android 或 Web 中运行;
- 在本地完成推理,不必把麦克风音频上传到云端;
- 把模型文件和 App、设备控制逻辑分开。
ONNX 不能替你解决什么
ONNX 不负责采集麦克风、不负责提取音频特征、不负责选择阈值,也不会自动处理误触发,更不会决定识别后要打开哪个页面或控制哪个设备。这些属于音频采集、推理引擎、检测逻辑和产品代码。
完整方案通常包括:麦克风采集 + 特征提取 + ONNX 模型 + 连续帧和防误触发逻辑 + 应用回调 + 真实设备测试。
ONNX 和 TFLite 怎么选
Python、Linux、Windows、macOS、Android 和 Web 经常使用 ONNX Runtime。资源更受限的嵌入式平台,尤其是 TFLite Micro,常使用 INT8 TFLite。选择哪种格式,应该看目标平台的运行时、内存和算力,而不是只看格式名称。
它和 ASR 有什么区别
如果模型识别“打开灯光”并返回一个命令分数,它做的是固定关键词识别,而不是把用户说的每句话转成文字。固定命令适合用轻量 KWS;自由表达、数字和复杂意图才更适合 ASR。
适合哪些产品
- 离线唤醒词和固定语音命令;
- 重视隐私的设备和 App;
- 需要低延迟控制的产品;
- 不想被某个厂商私有模型格式绑定的团队。
无论模型采用 ONNX 还是 TFLite,正式发布前都要使用最终麦克风、距离、噪声、语言和目标设备测试。标准格式降低了集成门槛,但不会替代产品验证。
生成并测试自定义模型 →View the open-source inference engine and demo models →
ONNX / TFLite · Android · ESP32 · Web · Python · Home Assistant