『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 24957|回复: 51

[流程系列] 不用HA直接NR调用百度TTS到Pi上的音响

  [复制链接]

10

主题

276

帖子

1192

积分

金牌会员

Rank: 6Rank: 6

积分
1192
金钱
916
HASS币
10
发表于 2019-3-22 21:42:30 | 显示全部楼层 |阅读模式
本帖最后由 lmy8812 于 2019-3-22 21:42 编辑

如题,应人需求,用NodeRed搞了个白天直接调用百度TTS输出到Pi上的音响的流程。

前置条件,需要ssh到pi上安装alsa库
sudo apt-get install libasound2-dev


然后在NR的节点管理里安装 “node-red-contrib-speakerpi”
这个是pi的音响输出节点,必须先安装alsa库之后,才能成功安装

放个图先
屏幕快照 2019-03-22 下午8.58.13.png

  • 第一个node输入想要语音合成的文本;
  • 第二个node设置TTS工作时间(朝9晚9);
  • 第三个node把第一个node的msg.payload转成msg.text使信息可以一直传递下去,如果一开始的文本输入方式做修改的话,这个node可以省去;
  • 第四个node填自己百度TTS的API 和 secret;
  • 然后第五个POST 相关access_token,返回成JSON对象;
  • 第六个根据百度API文档上传文本内容、token以及参数:有POST和GET两个方法,用的是POST;GET方法被注释了,想用的话直接把注释的地址在下一个node里替换就好。这里有个问题,API文档里建议对文本进行2次urlencode编码。但发现只有GET法可以2次编码,POST只适用1次urlencode编码。
  • 第七个node就是POST或者GET百度生成的WAV音频,需设置返回成二进制数据,查看了WAV头,采样率是16000;
  • 因此,在第八个node里增加一条msg.samplerate为16000,同时把payload转成speech给最后的speaker node;
  • 最后一个node设置为stream based模式,单声道,16bit精度,采样率因为没有16000所以在上个node里设置,会自动覆盖。这个node有个问题,精度一设成8bit,小红就会崩溃,不清楚具体原因。



目前只基于Pi做了测试,欢迎各位吃个螃蟹,不知道白群晖搞不搞得定。

好了,基本没啥需要补充了,惯例上马
游客,如果您要查看本帖隐藏内容请回复





评分

参与人数 2金钱 +36 HASS币 +10 收起 理由
eric + 16 感谢楼主分享!
+ 20 + 10 纳尼,还有这种操作?

查看全部评分

回复

使用道具 举报

27

主题

2144

帖子

8960

积分

论坛元老

Rank: 8Rank: 8

积分
8960
金钱
6811
HASS币
30

论坛元老

发表于 2019-3-22 21:47:08 | 显示全部楼层
沙发,看着头大,先占楼感谢!
回复

使用道具 举报

8

主题

2073

帖子

6057

积分

论坛元老

流水无味

Rank: 8Rank: 8

积分
6057
金钱
3984
HASS币
145

灌水之王

发表于 2019-3-22 21:59:24 | 显示全部楼层
看大神表演,为什么你们都喜欢跳过HA  囧很伤心
回复

使用道具 举报

10

主题

276

帖子

1192

积分

金牌会员

Rank: 6Rank: 6

积分
1192
金钱
916
HASS币
10
 楼主| 发表于 2019-3-22 22:02:42 | 显示全部楼层
xieahui 发表于 2019-3-22 21:59
看大神表演,为什么你们都喜欢跳过HA  囧很伤心

因为编程小白,看不懂HA
回复

使用道具 举报

2

主题

711

帖子

5059

积分

论坛元老

Rank: 8Rank: 8

积分
5059
金钱
4348
HASS币
85
发表于 2019-3-22 22:04:42 | 显示全部楼层
感謝樓主分享
回复

使用道具 举报

1

主题

85

帖子

1196

积分

金牌会员

Rank: 6Rank: 6

积分
1196
金钱
1111
HASS币
0
发表于 2019-3-22 22:06:37 | 显示全部楼层
感谢大佬
回复

使用道具 举报

8

主题

871

帖子

5224

积分

论坛元老

Rank: 8Rank: 8

积分
5224
金钱
4353
HASS币
0
发表于 2019-3-23 16:54:41 | 显示全部楼层
大神666
回复

使用道具 举报

0

主题

81

帖子

116

积分

严重灌水用户

积分
116
金钱
35
HASS币
0
发表于 2019-3-23 21:45:16 | 显示全部楼层
克拉健康
回复

使用道具 举报

1

主题

92

帖子

285

积分

中级会员

Rank: 3Rank: 3

积分
285
金钱
193
HASS币
0
发表于 2019-3-24 15:59:04 | 显示全部楼层
吃个螃蟹
回复

使用道具 举报

6

主题

484

帖子

4042

积分

论坛元老

Rank: 8Rank: 8

积分
4042
金钱
3558
HASS币
0
发表于 2019-3-24 16:10:33 | 显示全部楼层
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-22 22:16 , Processed in 0.093731 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表