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

 找回密码
 立即注册
查看: 7118|回复: 142

[经验分享] 为你的TTS语音播报增加前奏提示音

  [复制链接]

3

主题

158

帖子

1270

积分

金牌会员

Rank: 6Rank: 6

积分
1270
金钱
1112
HASS币
10
发表于 2023-10-14 18:18:08 | 显示全部楼层 |阅读模式
本帖最后由 Jarvis 于 2023-10-14 18:17 编辑

问题

自从通过树莓派连接蓝牙音箱实现TTS语音播报后,基本上一些通知类的消息都会通过TTS来进行播报。

比如以下场景:

  • 每天早晨定时播放30分钟的音乐,既起到了闹钟的作用,又能舒缓一下早晨的心情
  • 每天早晨定时提醒今天的天气情况,晚上定时提醒明天或者后天的天气情况
  • 实现快递动态跟踪,检测到有新的快递进度后直接通过TTS继续播报通知


不过,在使用过一段时间之后,也发现了一些不太人性化的地方。

例如:

每次TTS语音播报时,都会给人 `突然吓一跳` 的感觉,特别是蓝牙音箱的音量设置为 `100%` 时。对于一些定时类的服务,你大概知道什么时间会触发,至少心里提前有个预期的准备,时间长了之后大概也就适应了。
但是对于一些突然的语音播报,比如有最新的快递动态时,就会把人吓一跳。

我i解决方法是,当在执行TTS语音播报时,在NodeRed中执行播报之前先添加一个操作:先将播放器的音量调低到 `30%` 左右,然后再加一个延迟 `3s` 的操作,设定播报 `3s` 后将播放器音量调整到 `50%` 。这样,在执行语音播报时就不会感觉很突然了。

不过这样带来的问题就是,前面的一段内容可能就听不清或者直接给错过了。

后来,我又想到了另一种方法。就是在我要播报的TTS语音之前,先播报一段铃声文件。这样,以一段优雅的铃声作为前奏,就不会让人感到不适了。

但我经过测试后发现,这种想法要实现起来还需要费一番功夫呢!其中的一个难点就是,需要等前奏铃声播放完成之后才能开始执行TTS的播报操作,这其中就需要去不断的判断播放器的最新状态或者根据铃声的时长去推断播放器什么时间会停止,执行起来多少都会有一些误差。

解决

前两天在逛 `X` 时,发现有国外的大佬提到了一个TTS方面的集成插件 `Chime TTS` ,可以在要播放的TTS内容的前面或者后面增加一段提示音。

看了项目的介绍,感觉这不就是我一直想要找的东西嘛,完美解决了我上面遇到的问题!!!

Snipaste_20231014180003.png

安装配置

该插件可以直接在 `HACS` 商店搜索 `Chime TTS` 进行安装。之后在 `设备与服务` 中添加集成即可。

过多的安装细节这里不再赘述,说一下我在安装过程中遇到的一些问题。

由于我是通过 `Docker` 方式安装的HomeAssistant系统,而 `Chime TTS` 需要的依赖包 `pydub` 可能会由于网络原因安装不上,也就导致在添加集成时会出现 `500` 的错误提示。

解决方法是,进入容器内部手动安装该依赖包。

docker exec -it homeassistant bash

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pydub

另外一点,需要在配置文件 `configuration.yaml` 中设置 `local` 目录的映射,否则生成的tts音频文件会找不到。

homeassistant:
  media_dirs:
    local: /media
项目中默认自带了多种提示音文件,当然也支持自定义。

使用方法和其他的TTS集成大同小异,更多的功能就需要你自己去发掘了。

项目github地址:

- [nimroddolev/chime_tts:自定义家庭助理集成,用于在文本转语音 (TTS) 消息之前和/或之后播放音频文件](https://github.com/nimroddolev/chime_tts)

################### 当然,还有比较重要的一点就是 ########################

游客,如果您要查看本帖隐藏内容请回复




评分

参与人数 12金钱 +104 HASS币 +10 收起 理由
Mr.G + 15 高手,这是高手!
敬轩 + 5 论坛有你更精彩!
Harbor + 8 论坛有你更精彩!
jeelinbear + 5 给力,我设置的提醒也是有时候突然播报会吓.
ekingfan + 5
Waer + 5 高手,这是高手!
隔壁的王叔叔 + 10 感谢楼主分享!
+ 20 + 10 感谢楼主分享!
dscao + 10 感谢楼主分享!
DDDear + 10 厉害了word楼主!
summ99111 + 1 感谢楼主分享!
sorrypqa + 10 大神666!

查看全部评分

回复

使用道具 举报

3

主题

158

帖子

1270

积分

金牌会员

Rank: 6Rank: 6

积分
1270
金钱
1112
HASS币
10
 楼主| 发表于 2023-10-14 18:19:09 | 显示全部楼层
前排占座
回复

使用道具 举报

50

主题

1300

帖子

4911

积分

论坛DIY达人

积分
4911
金钱
3611
HASS币
20
发表于 2023-10-14 19:43:31 | 显示全部楼层
学习了,谢谢楼主分享
回复

使用道具 举报

11

主题

164

帖子

1808

积分

金牌会员

Rank: 6Rank: 6

积分
1808
金钱
1644
HASS币
0
发表于 2023-10-14 21:21:50 | 显示全部楼层
一直有这个构思,感谢楼主分享
回复

使用道具 举报

21

主题

554

帖子

2344

积分

金牌会员

Rank: 6Rank: 6

积分
2344
金钱
1790
HASS币
0
发表于 2023-10-14 21:33:09 | 显示全部楼层
本帖最后由 a_dongde 于 2023-10-14 21:49 编辑

感谢楼主,这个太有用了,正好在弄播报服务期待下各位大佬指导下小白食用这个插件的方法
回复

使用道具 举报

109

主题

1586

帖子

5012

积分

元老级技术达人

积分
5012
金钱
3421
HASS币
30
发表于 2023-10-14 22:33:54 | 显示全部楼层
你怎么用蓝牙音箱做tts的?
回复

使用道具 举报

13

主题

228

帖子

1584

积分

金牌会员

Rank: 6Rank: 6

积分
1584
金钱
1356
HASS币
10
发表于 2023-10-15 00:36:57 | 显示全部楼层
这个很实用,之前自己手动添加播放提示音,效果不理想。感谢分享
回复

使用道具 举报

0

主题

24

帖子

254

积分

中级会员

Rank: 3Rank: 3

积分
254
金钱
230
HASS币
0
发表于 2023-10-15 08:14:13 | 显示全部楼层
学习下看看
回复

使用道具 举报

28

主题

360

帖子

2021

积分

金牌会员

Rank: 6Rank: 6

积分
2021
金钱
1661
HASS币
0
发表于 2023-10-15 08:28:31 | 显示全部楼层
好的 那么问题来了 逛 `X` 是什么意思 难道是我潜水时间太短么
回复

使用道具 举报

3

主题

158

帖子

1270

积分

金牌会员

Rank: 6Rank: 6

积分
1270
金钱
1112
HASS币
10
 楼主| 发表于 2023-10-15 08:31:17 | 显示全部楼层
bugensui 发表于 2023-10-14 22:33
你怎么用蓝牙音箱做tts的?

树莓派通过蓝牙连接天猫精灵,记得群里有大佬分享过,可以搜一下
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-2 09:24 , Processed in 0.377207 second(s), 38 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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