HomeAssitant
本地语音控制一直是很多玩家最终期望的事情,毕竟设备已经在本地了,但是目前市面上面方案都不算完美以及目前介绍的 告别智障语音助手,迎接豆包——你的智能专属助理,带来全新体验。
目前 HomeAssitant
针对语音上面的支持一直在更新迭代,目前自带的语音助手
在相对明确的指令下支持还是挺不错的。目前中文的语料信息处于无人维护情况,所以一些指令信息的支持度不高。
语音助手配套服务
无论是使用HomeAssistant 自带的语音助手还是 openai
豆包
或其他智能助手都需要两个服务 stt
tts
tts - 云服务
推荐直接使用 hass-edge-tts
, 可以通过 hacs
进行安装或者手动安装 ,如何使用 hacs
可以查看这里,HomeAssistant 安装HACS或HACS极速版。
hass-edge-tts 项目github 地址: GitHub - hasscc/hass-edge-tts: 🗣️ Microsoft Edge TTS for Home Assistant, no need for app_key
stt - 本地版
语音转文字目前推荐两个服务:
- sherpa-onnx-asr - 占用资源少(1g内存,j1900秒出结果),识别率较好
- FunAsr - 占用资源较高(2-3g内存,j1900 需要2-3秒出结果),识别率好
FunAsr
详细教程可以查看 全网首发离线语音识别CPU版 本地化部署最佳实践 。
sherpa-onnx-asr
docker 镜像内置了模型,所以在使用过程中只需要直接运行即可,唯一要修改的内容则是端口映射,内部端口是 5001
.
如果你是 HAOS
或 hassio
可以直接通过添加三方addon 进行安装使用,仓库地址: GitHub - knoop7/hassio-addons
如果你是 core版本也就是docker 或者其他方式
可以通过docker 方式启动:
注意:如果你是群辉,5001 端口可能不可以使用,需要改成其他的
docker run -d \
--restart=always -it --name sherpa-onnx-asr \
-p 5001:5001 \
hub.uuuadc.top/yaming116/sherpa-onnx-asr
并且支持企业微信 NodeRed
节点配合使用。
docker 知识点小提示
# 前面端口代表宿主机的端口,后面端口代表容器里面的
-p 5001:5001
# 前面代表宿主机的文件目录,后面代表容器内的目录
# 前面目录需要自己按照实际情况修改
-v $PWD/models:/models
custom_components
-
home-assistant-fun-asr
是我开发支持调用本地stt
的HomeAssistant 的插件,可以选择手动安装或者添加到hacs 自定义仓库中安装
。
项目地址: GitHub - yaming116/home-assistant-fun-asr -
hass-environment-variable
这是一个支持修改HomeAssistant 环境变量的插件,同样可以选择手动安装或者添加到hacs
自定义仓库安装
注意: 用这个插件和修改 docker 版本的环境变量效果一致
项目地址: GitHub - Athozs/hass-environment-variable: Add Environment Variable to Home Assistant.
configuration.yaml
配置信息
environment_variable:
OPENAI_BASE_URL: https://ark.cn-beijing.volces.com/api/v3
豆包注册
豆包其他信息就不介绍了,注册地址: https://www.volcengine.com ,注册完成之后一定要参加活动。
新建接入点的时候模型需要选择支持 function call
版本。
千问注册
目前测试了阿里千问同样也是支持相关系列操作的,但是 token 赠送没有那么多,如果想体验相关效果也可以把 openai
的请求地址更换一下
最后的说明
对接ai之后控制设备上下文是存在了,但是控制指令目前看到的结果也各不相同,每个模型针对指令的解析支持程度也不一样,最终效果达到什么样需要各自体验。
ai
目前已经渗入我们生活的方方面面了,可能哪天国内提供了免费的服务以及收集够我们相关的控制语料信息,可能最终控制效果会达到我们想要的结果
,期待到来的那一天。