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

 找回密码
 立即注册
查看: 6138|回复: 14

[经验分享] 解决,mpd蓝牙tts时需要重复多次才能发声

[复制链接]

5

主题

93

帖子

535

积分

高级会员

Rank: 4

积分
535
金钱
442
HASS币
0
发表于 2019-5-11 23:19:43 | 显示全部楼层 |阅读模式
本帖最后由 llmmkc123 于 2019-5-25 20:53 编辑

通过https://bbs.hassbian.com/thread-5439-1-1.html这个帖子,把树莓派成功连接了蓝牙音箱。在使用tts的时候发现有个问题,就是需要触发多次才能发声。比如,我打开门时要求语音自动播报当前温度,但是得重复打开几次门才能成功播报。感觉是tts还没把语音合成发下来,本地就把声音发到mdp那边去了。如果把缓存设置成true就没事,但是这样就不能实时播报温度这些数据了。谁有试过这问题,求教。

QQ截图20190511211304.jpg
这个是第一次触发自动化的报错日志

                               
登录/注册后可看大图

这个是第二次触发自动化报错日志

 - alias: auto_huijia
   hide_entity: true
   trigger:
    - platform: state
      entity_id: binary_sensor.door_window_sensor_158d00019facdc
      from: 'off'
      to: 'on'
   condition:
    - condition: state
      entity_id: binary_sensor.motion_sensor_158d0001d8e98d
      state: 'off'
   action:
    - service: script.test
    - delay:
        seconds: 5
    - service: script.test

test:
 sequence:
  - service: tts.baidu_say
    data_template:
        entity_id: media_player.mpd
        message: >
           
            主人

            {% if now().hour >= 6 and now().hour < 9 %}

            早上好,欢迎回家,

            {%- elif now().hour >= 9 and now().hour < 12 %}

            上午好,欢迎回家,

            {%- elif now().hour >= 12 and now().hour < 13 %}

            中午好,欢迎回家,

            {%- elif now().hour >= 13 and now().hour < 18 %}

            下午好,欢迎回家,

            {%- elif now().hour >= 18 and now().hour < 23 %}

            晚上好,欢迎回家,

            {% else %}

            ,夜深了,请注意休息哦,

            {% endif %}

            当前室内温度为{{states.sensor.temperature_158d000171bfdc.state}}摄氏度,
           
        cache: false


这是我的自动化播报脚本,自动化触发成功时自动调用。
============================================================================
通过一个月的摸索,终于在大神的支持下,搞清楚了原因。下面分享下解决方法。原来是因为ha的mpd播放器不能接受空字符导致的。所以在tts上把空字符去掉,完美解决。
1、树莓派输入docker exec -it homeassistant bash
2、vi /usr/local/lib/python3.7/site-packages/homeassistant/components/baidu/tts.py
3、def get_tts_audio(self, message, language, options=None): 这句话后加入
        import re                                                              
        message = re.sub(r'\s','',message)
保存,重启ha,解决。

QQ截图20190511211957.jpg
回复

使用道具 举报

12

主题

206

帖子

757

积分

高级会员

Rank: 4

积分
757
金钱
551
HASS币
10
发表于 2019-5-12 13:59:54 | 显示全部楼层
你都能发声音 我好像发不了声音
回复

使用道具 举报

5

主题

93

帖子

535

积分

高级会员

Rank: 4

积分
535
金钱
442
HASS币
0
 楼主| 发表于 2019-5-12 18:42:38 | 显示全部楼层
丢你老鼠 发表于 2019-5-12 13:59
你都能发声音 我好像发不了声音

发不了声需要在mopidy.conf文件加个auto选项,选择声卡输出
回复

使用道具 举报

5

主题

93

帖子

535

积分

高级会员

Rank: 4

积分
535
金钱
442
HASS币
0
 楼主| 发表于 2019-5-12 21:51:28 | 显示全部楼层
求教·····
回复

使用道具 举报

5

主题

93

帖子

535

积分

高级会员

Rank: 4

积分
535
金钱
442
HASS币
0
 楼主| 发表于 2019-5-13 01:34:37 | 显示全部楼层
顶起·······
回复

使用道具 举报

5

主题

93

帖子

535

积分

高级会员

Rank: 4

积分
535
金钱
442
HASS币
0
 楼主| 发表于 2019-5-13 11:34:36 | 显示全部楼层
人工顶·······
回复

使用道具 举报

7

主题

397

帖子

2231

积分

金牌会员

Rank: 6Rank: 6

积分
2231
金钱
1834
HASS币
0
发表于 2019-5-19 17:30:49 | 显示全部楼层
帮顶 我的也不正常
回复

使用道具 举报

3

主题

282

帖子

2156

积分

金牌会员

Rank: 6Rank: 6

积分
2156
金钱
1874
HASS币
0
发表于 2019-5-20 00:30:14 | 显示全部楼层
已放弃蓝牙,改用dlna,但dlna也问题多多,最终直接接音频线。
回复

使用道具 举报

5

主题

93

帖子

535

积分

高级会员

Rank: 4

积分
535
金钱
442
HASS币
0
 楼主| 发表于 2019-5-22 09:58:37 | 显示全部楼层
wbdownn 发表于 2019-5-20 00:30
已放弃蓝牙,改用dlna,但dlna也问题多多,最终直接接音频线。

树莓派的蓝牙tts就是个天坑啊!dlna延迟很大,接线又有杂音·····
回复

使用道具 举报

2

主题

104

帖子

618

积分

高级会员

Rank: 4

积分
618
金钱
514
HASS币
0
发表于 2019-5-22 22:40:42 来自手机 | 显示全部楼层
去掉message里的空白字符
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-3 06:08 , Processed in 0.104846 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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