唤醒词助手
唤醒词是特殊的单词或短语,用于告诉语音助手即将要发出命令。设备随后从被动监听切换到主动监听。示例包括:嘿 Google、嘿 Siri 或 Alexa。Home Assistant 支持自己定义的唤醒词,例如嘿 Nabu。
如果您想了解更多关于此主题的信息,请查看 Home Assistant 对唤醒词的处理方式。
启用唤醒词
本教程展示了如何在 Home Assistant 中启用唤醒词。它不描述如何使用唤醒词。
要使用唤醒词,您需要一些额外的硬件。一个低成本的选择是 M5Stack ATOM Echo 开发套件
启用唤醒词包括两个步骤:
- 安装 openWakeWord 附加组件。
- 为特定的语音助手启用唤醒词。
先决条件
- Home Assistant 版本 2023.10 或更高,已安装 Home Assistant 操作系统
- Assist 已通过 Home Assistant Cloud 或手动配置的 本地 Assist 管道 进行配置
- 我们推荐的所有 最佳实践。
安装 openWakeWord 附加组件
- 转到 设置 > 附加组件 > openWakeWord 并选择 安装。
- 启动 附加组件。
- 转到 设置 > 设备与服务。
- 在 发现 下,您现在应该看到 Wyoming 集成的 openWakeWord 组件。
- 选择 配置 并 提交。
- 结果:您已成功安装 openWakeWord 附加组件和 Wyoming 集成。
为您的语音助手启用唤醒词
- 转到 设置 > 语音助手
- 选择助手:
- 要为现有助手启用唤醒词,请选择该助手并继续第 6 步。
- 要创建新的助手:选择 添加助手。
- 为您的助手命名,例如您将要使用的唤醒词。
- 选择您将用于与 Home Assistant 对话的语言。
- 如果 文本转语音 和 语音转文本 部分没有提供语言选择器,则意味着您没有设置 Assist 管道。
- 设置 Home Assistant Cloud
或手动配置的 Assist 管道。
- 在 文本转语音 下,选择您希望 Home Assistant 在与您交谈时使用的语言和声音。
- 要定义唤醒词引擎,在对话框的右上角,选择三个点
菜单并选择 添加流式唤醒词。 -
故障排除:如果您看不到三个点
菜单,请转到 设置 > 设备与服务 并确保 Wyoming 集成的 openWakeWord 组件已添加。 - 结果:在页面底部,您现在看到一个新部分 流式唤醒词引擎。
- 选择 openwakeword,然后选择 ok nabu。
- 如果您创建了一个新的助手,请选择 创建。
- 如果您编辑了一个现有助手,请选择 更新。
- 结果:您现在有一个可以监听唤醒词的语音助手。
-
故障排除:如果您看不到三个点
- 对于第一次运行,建议使用 ok nabu,仅以测试设置。
- 一旦您将其全部设置好,就可以创建自己的唤醒词。
试试吧!
现在,有两种简单的选择可以开始使用唤醒词:
- 按照 $13 语音助手的指南。此教程使用小型 ATOM Echo,通过 openWakeWord 检测唤醒词。
- 按照 设置 ESP32-S3-BOX-3 语音助手的指南。此教程使用较大的 S3-BOX-3 设备,具有显示屏。它可以通过 openWakeWord 检测唤醒词。但它也可以使用 microWakeWord 进行设备上的唤醒词检测。
创建你自己的唤醒词
您现在可以创建自己的唤醒词以便与 Home Assistant 一起使用。以下程序将指导您训练模型。该模型使用我们本地神经文本到语音系统 Piper
想了解更多关于这一切是如何工作的?请查看 David Scripka 的 openWakeWord
根据词语的不同,为您的唤醒词训练模型可能需要几次迭代和一些调整。此指南将逐步引导您完成该过程。
先决条件
- 最新版本的 Home Assistant,已安装 Home Assistant 操作系统
- M5Stack ATOM Echo 开发套件
- 成功完成的 $13 语音助手为 Home Assistant 的教程
要创建自己的唤醒词
-
想一个唤醒词。
- 一个常用的单词或短语(3-4 音节),以避免意外触发 Assist。
- 目前只支持英语的唤醒词。
-
打开 唤醒词训练环境
。 -
在第 1 节中,在 target_word 字段中输入您的唤醒词。
-
在 target_word 旁边的代码部分,选择播放按钮。第一次可能需要多达 30 秒。
-
如果播放按钮未出现,请确保光标放在 target_word 字段中。
-
如果仍然没有显示,请在文档右上角确保显示 已连接。
- 如果未连接,请选择 连接到托管运行时。
- 如果未连接,请选择 连接到托管运行时。
-
结果:您的唤醒词的发音正在创建中。
- 一旦完成,在该部分底部,您会看到一个音频文件。听一下。
-
-
如果这个词听起来不正确:
- 按照文档中的说明调整单词的拼写,然后再按一次播放。
- 这个词应该与您发音的方式相符。
-
当您对结果感到满意时,在屏幕顶部的菜单中,选择 Runtime > Run all。
- 这将需要大约一个小时。可以做其他事情,但请确保保留浏览器选项卡打开。
-
结果:完成此过程后,您应该在下载文件夹中有两个文件:
-
.tflite
和.onnx
文件(仅使用.tflite
)
-
- 这将需要大约一个小时。可以做其他事情,但请确保保留浏览器选项卡打开。
-
恭喜!您刚刚应用机器学习创建了自己的唤醒词模型!
- 下一步是将其添加到 Home Assistant。
将您的个人唤醒词添加到 Home Assistant
- 确保您已安装 Samba 附加组件。
- 在计算机上,通过 Samba 访问您的 Home Assistant 服务器。
- 打开
share
文件夹并创建一个新文件夹openwakeword
,因此您将拥有/share/openwakeword
。
- 打开
- 将您全新的唤醒词模型文件(
.tflite
)放入该文件夹中。 - 转到 设置 > 语音助手。
- 可以创建新的助手并选择 添加助手。
- 或者,编辑现有助手。
- 在 唤醒词 下,选择 openwakeword。
- 然后,选择您个人的唤醒词。
- 如果没有 唤醒词 选项,请确保您已成功安装附加组件并成功完成 $13 语音助手为 Home Assistant 的教程。
- 在您的 ATOM Echo 设备上启用这个新助手。
-
转到 设置 > 设备与服务 并选择 ESPHome 集成。
- 在 M5Stack ATOM Echo 下,选择 1 设备。
-
在 配置 部分,确保启用 使用唤醒词。
-
选择您带有唤醒词的助手。
-
- 测试您的新唤醒词。
- 说出您的唤醒词,然后跟随一个命令,例如 “打开厨房的灯”。
- 当 ATOM Echo 检测到唤醒词时,它开始闪烁蓝色。
故障排除
故障排除唤醒词识别
- 如果 ATOM Echo 在您说出唤醒词时没有开始闪烁蓝色,您可以尝试以下几项。
- 转到 设置 > 设备与服务 并选择 ESPHome 集成。
- 在 M5Stack ATOM Echo 下,选择 1 设备。
- 在 控件 下,确保启用 使用唤醒词。
- 如果这不是问题,您可能需要调整唤醒词模型。
- 返回 唤醒词训练环境
。 - 在文档的第 3 节中,按照说明调整设置并创建新模型。
- 返回 唤醒词训练环境
故障排除训练环境的性能问题
Colab 空间上的环境运行在 Google 提供的资源上。这些资源旨在供小规模、非商业性个人使用。无法保证资源始终可用。 如果许多人同时使用该环境,或者请求本身需要大量资源,则执行可能会非常缓慢,或者根本无法运行。
运行完成可能需要 30-60 分钟。这是预期行为。
如果执行非常缓慢,您可以尝试以下几项:
- 免费解决方案:该环境已适用于所有被训练以创建和测试此过程的唤醒词模型。很有可能它对您也有效。如果没有,请尝试在另一个时间训练您的模型。可能现在有很多人正在使用它。
- 您可以支付更多计算资源:在右上角,选择 RAM | 磁盘图标。
- 选择链接 升级到 Colab Pro。
- 选择您的价格计划并按照屏幕上的说明进行操作。