关键要点
- Home Assistant Assist 是把一切串起来的本地语音流水线
- Whisper 在本地处理语音转文字;按你的精度/速度/硬件取舍选择模型大小
- Piper 在本地以自然的嗓音处理文字转语音
- Wyoming 协议把 Assist 与 Whisper、Piper 服务连接起来
- 添加一个唤醒词引擎(如 openWakeWord)以实现免手触发
- 可选:为自然语言理解,把本地 LLM 设为对话代理
完全本地的语音堆栈
一个本地语音助手就是你自己硬件上的四个角色:采集并转写(Whisper)、理解(Assist 意图或本地 LLM)、回应(Piper)、触发(唤醒词)。 每一个都离线运行;Wyoming 协议把它们连起来。
| 组件 | 角色 | 本地? | 备注 |
|---|---|---|---|
| Assist | 流水线 + 意图 | 是 | 内置于 Home Assistant |
| Whisper | 语音转文字 | 是 | 模型大小决定精度/速度 |
| Piper | 文字转语音 | 是 | 自然的本地嗓音 |
| 唤醒词 | 免手触发 | 是 | 例如 openWakeWord |
| 本地 LLM | 理解(可选) | 是 | 经由 Ollama 作为对话代理 |
Home Assistant Assist
Assist 是内置的语音流水线,把音频依次经过语音转文字、一个代理,再到文字转语音。 它在 设置 → 语音助手 中配置。
- 对于常见命令,Assist 用内置意图开箱即用(无需 LLM)。
- 你选择 STT 引擎(Whisper)、TTS 引擎(Piper)和对话代理。
- 若你想要一个快速的仅意图助手和另一个独立的、由 LLM 驱动的助手,可使用多条流水线。
用于本地语音转文字的 Whisper
Whisper 在本地转写你的语音;更大的 Whisper 模型更准确,但需要更多算力。 把它作为 Whisper(faster-whisper)加载项添加,并经由 Wyoming 连接。
- Whisper 有从 tiny 到 large 的多种大小——越小越快,越大越准。
- 关于聚焦的 STT 配置(模型、硬件、精度),参见本地 Whisper + Home Assistant。
- Whisper 支持多语言,因此非英语命令也能在没有云服务的情况下转写。
用于本地文字转语音的 Piper
Piper 在本地以自然嗓音生成语音回应,速度足以在普通硬件上实现实时回复。 把它作为 Piper 加载项添加,并选择一个嗓音。
- Piper 提供多种语言和嗓音;每条流水线选一个。
- 对于典型的回复长度,它在 Raspberry Pi 上也运行良好。
- 没有音频被发送到任何地方——语音在你的设备上合成。
Wyoming 协议
Wyoming 是 Home Assistant 用来把 Assist 与 Whisper、Piper 等本地语音服务连接起来的协议。 它让语音服务能作为独立的加载项或在独立的机器上运行。
- 每个服务(Whisper、Piper、唤醒词)都作为一个 Wyoming 端点运行。
- Assist 通过 Wyoming 集成发现并使用它们。
- 这种模块化意味着必要时你可以把 Whisper 卸载到一台更强的机器上。
加入 LLM 大脑
把本地 LLM 设为对话代理,以理解自然语言,而不仅是固定意图。 这是可选的,但能解锁灵活的表达方式。
- 先把 Ollama 接入 Home Assistant——参见Ollama 集成指南。
- 使用一个小型函数调用模型,让语音回应保持灵敏。
- 端到端全貌参见用本地LLM运行你的智能家居。
硬件需求
一台迷你 PC 能从容运行 Assist、Whisper、Piper 和一个小型 LLM;Raspberry Pi 可应付仅意图的语音,但在大型 Whisper 模型和 LLM 推理上吃力。 麦克风硬件(语音卫星)在家中各处采集音频。
- 若你想要 LLM 大脑和更大的 Whisper 模型,就用迷你 PC——参见本地智能家居的最佳硬件。
- 若要一个轻量的仅意图助手,就用 Pi。
- 为按房间覆盖,添加语音卫星硬件(麦克风 + 扬声器端点)。
- 在本地对云端的语音助手中比较本地对云端的取舍。
常见问题
本地语音助手能完全替代 Alexa 吗?
对于智能家居控制和许多日常,能——带 Whisper、Piper 和本地 LLM 的 Assist 涵盖了自然语言的设备控制与回应。它不会复制每一个第三方 Alexa 技能或云端购物功能,但能私密地覆盖家庭控制的核心用例。
本地语音助手能离线工作吗?
能。语音转文字(Whisper)、文字转语音(Piper)、意图处理和可选的本地 LLM 都在你的硬件上运行,因此助手在没有互联网时也能工作。只有来自家庭之外的远程访问才需要连通性。
本地语音识别有多准确?
准确度取决于 Whisper 的模型大小和你的麦克风。更大的 Whisper 模型更准确但更慢;迷你 PC 上的中等大小模型对家庭命令而言取得了良好平衡。规模选择参见本地 Whisper 指南。
本地语音助手需要什么硬件?
完整堆栈(LLM + 更大的 Whisper)用一台迷你 PC,仅意图助手用一台 Raspberry Pi,再加用于按房间覆盖的麦克风/扬声器语音卫星硬件。GPU 或 NPU 可降低 LLM 和大型 Whisper 的延迟。
我可以使用自定义唤醒词吗?
可以。像 openWakeWord 这样的本地唤醒词引擎支持自定义唤醒词,并在你的硬件上运行,因此免手触发无需云端。