以下方法经本人验证通过,环境如下:
Home Assistant 0.91.4
小度智能音箱
前言:在一部分情景中,我的智能家居系统中需要一个语音通知功能。例如大门长期未关闭时候,系统能通过声音提醒我关闭大门。正好手上有一个小度智能音箱,它支持dlna,因此就使用它来作为整个家居系统中的”嘴巴”了。要实现此功能,还需要tts的支持,国内嘛,谷歌是用不了了,就用百度吧。
第一步:申请百度TTS服务
访问百度云网站 https://cloud.baidu.com (注册)登陆后,在产品服务中搜索语音,打开语音技术页面
点击创建应用,填写内容,创建完毕后,得到 AppID、API Key及Secret Key,保留备用。
第二步:配置 Home Assistant 的 configuration.yaml ,参考如下示例
tts: - platform: baidu app_id: xxxxxx api_key: xxxxxx secret_key: xxxxxxx #speed:语速0-9(缺省5) #pitch:语调0-9(缺省5) #volume:音量0-15(缺省5) #person:声音(0:女,1:男,3:百度合成,4:百度合成,缺省0)
- app_id , api_key , secret_key: 填写第一步获取的对应值
- speed,pitch,volume,person: 已经注释了,需要的话自己恢复
第三步:添加小度音箱,还是继续配置 configuration.yaml ,一个简单的方法就是启用discovery,并添加对dlna媒体设备的支持,参考如下示例
discovery: enable: - dlna_dmr
第四步:重启Home Assistant后,即可在首页发现到小度音箱,在状态页面获取到小度音箱的 Entity ID,并可在服务页面调用tts.baidu_say,数据按如下填写,点击Call Service 即可实现调用百度语音服务,从小度音箱中播报指定的文字内容
{"entity_id":"media_player.xiao_du_zhi_neng_yin_xiang","message": "测试","cache": "false"}
- entity_id : 状态页面获取到的小度音响的Entity ID
- message :需要朗读的文字内容
- Node-Red中,通过Call Service节点亦可使用,参数按上述填写即可
如果您喜欢这篇文章,或者它给您带来了帮助,您可以请我们喝一杯咖啡,我们将非常感谢您的支持!
如果文章可以加上发布时间更佳!
感谢您的关注,在每篇文章的标题下有文章的发表时间