1、语音助手简介
语音助手由语音转文字(STT)
、对话代理(AI)
和文字转语音(TTS)
三大模块组成。
语音转文字(STT):负责将用户的语音指令转换为文字,是语音助手的输入环节。常见的实现方式包括离线模型(如FunASR
)和在线服务(如讯飞、百度等)。
对话代理(AI):作为语音助手的“大脑”,负责理解文字指令并生成回答或操作指令。常见的AI对话大模型包括最近大热的DeepSeek
、豆包、智谱清言都可以接入。
文字转语音(TTS):将对话代理(AI)生成的文字回答转换为语音输出,是语音助手的输出环节。常见的TTS 服务包括Edge TTS
和Google TTS
。
2、部署STT模型
我使用的是离线语音转文字(STT)
模型,部署在群晖 NAS 上。目前主流的离线语音转文字(STT)模型有两种:
-
Sherpa-onnx-asr:占用资源较少(仅需 1GB 内存),响应快,识别率好。
-
FunASR:占用资源较高(需要 3GB 内存),响应稍慢一点,但识别率更高。
由于我的 NAS 内存有限,因此选择了部署Sherpa-onnx-asr
。
通过SSH
连接 NAS 后,执行以下命令进行部署:
dockerpull yaming116/sherpa-onnx-asr:latest
dockerrun -d --restart=always -it --name sherpa-onnx-asr -p9911:5001yaming116/sherpa-onnx-asr:latest
部署成功后,可以Docker容器中看到Sherpa-onnx-asr:

3、安装插件
要实现Home Assistant 的语音助手功能,需要安装三个插件:FunASR
、智谱清言
和Edge-TTS
。
① 安装 FunASR 插件
虽然我使用的语音转文字(STT)模型是Sherpa-onnx-asr
,但也可以用使用FunASR
插件将Sherpa-onnx-asr集成到 Home Assistant 中。
打开HACS(Home Assistant Community Store)
,点击右上角的三个点,选择自定义仓库
。在弹出的对话框中,输入FunASR
的仓库地址(https://github.com/yaming116/home-assistant-fun-asr)。选择Integration
类型,点击ADD
完成添加。
② 安装智谱清言插件
AI 对话模型的推荐是智谱清言,虽然也可以使用DeepSeek
或豆包
,但 DeepSeek 容易提示系统繁忙
,而豆包的Token
使用量有限。
重复步骤①,添加智谱清言的仓库地址(https://github.com/knoop7/zhipuai)。
智谱清言还需要注册并获取API Key
,注册(地址:https://open.bigmodel.cn)后点右上角API密钥
,获取或添加新的API Key。

③ 安装 Edge-TTS 插件
文字转语音(TTS)模型推荐直接使用Edge TTS
,只需要安装相关插件即可使用。重复步骤①,添加智谱清言的仓库地址(https://github.com/hasscc/hass-edge-tts)。
4、配置语音助手
在 Home Assistant 的设置
>语音助手
中,将对话代理设置为智普清言
,语音转文字选择Fun Asr server
,文字转语音选择Edge TTS
,创建语音助手。

5、测试
STT、AI、TTS响应都需要一点时间,所以整体响应看起来比较慢。
B站有提供了豆包语音助手的视频:https://www.bilibili.com/video/BV18CQGYXE15/
推荐阅读:
1.群晖NAS安装Home Assistant OS和ha_xiaomi_home米家集成
2.ESP8266通过MQTT接入Home Assistant(基于Micropython)
3.ESP8266通过MQTT接入Home Assistant(二)
4.ESP32S3摄像头接入Home Assistant(基于Micropython)
5.基于ASRPRO的语音遥控智能小车
6.巴掌大小的蓝牙遥控小车(基于RP2350或RP2040)
7.使用ASRPRO开发板语音控制emo表情机器人
8.两块行空板K10实现单向语音传输(传声筒)