OHF-Voice/linux-voice-assistant

Voice satellite for Home Assistant using the ESPHome protocol

解决的问题

该项目可将任何 Linux 设备转变为 Home Assistant 的智能语音卫星。您无需依赖云服务,即可通过自定义扬声器与家庭自动化系统对话,且能在本地检测唤醒词,始终处于监听状态,而无需将音频发送至云端。

工作原理

在完整的 Linux 系统(支持 PulseAudio 或 PipeWire 音频)上运行,并通过 ESPHome 协议连接到 Home Assistant。当您说出唤醒词(如 "Okay Nabu")时,OpenWakeWord 或 MicroWakeWord 模型会在设备上检测到该词,随后音频将被流式传输至 Home Assistant 的 Assist 流水线,用于语音转文本、意图处理和文本转语音。它还支持定时器、广播和持续对话功能。配备 DSP 芯片(如 Satellite1 或 Respeaker)的麦克风阵列可处理远场音频,具备降噪和回声消除能力。

适用人群

希望在家中构建自己的语音控制智能音箱,尤其是使用 Home Assistant 并倾向于使用 Linux 设备而非仅限微控制器的卫星设备的用户。也适合希望微调唤醒词、集成按钮/LED 或实验 PipeWire 的爱好者。

主要亮点

  • 使用 OpenWakeWord 或 MicroWakeWord 实现设备本地唤醒词检测,支持多个唤醒词和多种语言
  • 与 Home Assistant 的 Assist 流水线无缝集成,包括广播、开始/继续对话和定时器功能
  • 可在常见硬件上运行:x64 或 ARM64,1GHz CPU 和 512MB RAM;可运行在 Raspberry Pi Zero 2W 或 Pi 3 上
  • 内置 WebSocket API,可用于连接按钮、LED 等外设
  • 提供 Docker 镜像、Home Assistant 插件或可直接刷写的 Raspberry Pi 镜像

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目