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

 找回密码
 立即注册
查看: 5860|回复: 6

[技术探讨] 求助,百度TTS插件在升级115版本后不能用

[复制链接]

1

主题

83

帖子

559

积分

高级会员

Rank: 4

积分
559
金钱
476
HASS币
0
发表于 2020-10-8 23:28:34 | 显示全部楼层 |阅读模式
百度TTS插件在升级115版本后不能用,报错信息如下:
Logger: homeassistant.components.websocket_api.http.connection.140156870539296
Source: components/tts/__init__.py:469
Integration: Home Assistant WebSocket API ([color=var(--primary-color)]documentation
, [color=var(--primary-color)]issues
)
First occurred: 下午11:22:18 (1 occurrences)
Last logged: 下午11:22:18
cannot import name 'bchr' from 'mutagen._util' (/usr/local/lib/python3.8/site-packages/mutagen/_util.py)


详细报错信息如下:
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 138, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1335, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1370, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 168, in async_say_handle
    url = await tts.async_get_url(
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 341, in async_get_url
    filename = await self.async_get_tts_audio(
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 368, in async_get_tts_audio
    data = self.write_tags(filename, data, provider, message, language, options)
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 469, in write_tags
    tts_file = mutagen.File(data_bytes)
  File "/usr/local/lib/python3.8/site-packages/mutagen/_util.py", line 148, in wrapper_func
    def wrap(func):
  File "/usr/local/lib/python3.8/site-packages/mutagen/_file.py", line 239, in File
    if easy:
  File "/usr/local/lib/python3.8/site-packages/mutagen/flac.py", line 30, in <module>
    from mutagen._util import resize_bytes, MutagenError, get_size, loadfile, \
ImportError: cannot import name 'bchr' from 'mutagen._util' (/usr/local/lib/python3.8/site-packages/mutagen/_util.py)
调用服务 tts/baidu_say 失败。 cannot import name 'bchr' from 'mutagen._util' (/usr/local/lib/python3.8/site-packages/mutagen/_util.py)


今天升级了116后问题依旧,去官网和Git找不到issue吐槽,不知道是不是个例,求大神帮忙看看什么问题。




回复

使用道具 举报

3

主题

279

帖子

2552

积分

金牌会员

Rank: 6Rank: 6

积分
2552
金钱
2273
HASS币
10
发表于 2020-10-9 19:27:55 | 显示全部楼层
升级0.115的时候我也是这样,但是好像升级到 0.116的前一个还是前两个版本就正常了,不记得版本号了.现在0.116.1正常使用中
回复

使用道具 举报

1

主题

83

帖子

559

积分

高级会员

Rank: 4

积分
559
金钱
476
HASS币
0
 楼主| 发表于 2020-10-9 22:04:49 | 显示全部楼层
hncdbai 发表于 2020-10-9 19:27
升级0.115的时候我也是这样,但是好像升级到 0.116的前一个还是前两个版本就正常了,不记得版本号了.现在0.11 ...

我一直跟着升级,一直不行,感觉是不是python环境因为你懂的原因下不全导致的。或者是有什么缓存没清?
回复

使用道具 举报

45

主题

452

帖子

1641

积分

金牌会员

Rank: 6Rank: 6

积分
1641
金钱
1189
HASS币
0
发表于 2020-10-9 22:44:09 | 显示全部楼层
我的Home Assistant 0.115.6,HassOS 4.13 报:
Logger: homeassistant.components.tts
Source: components/tts/__init__.py:172
Integration: Text-to-Speech (TTS) (documentation, issues)
First occurred: 下午9:25:20 (53 occurrences)
Last logged: 下午9:43:57

Error on init TTS: No TTS from baidu for '皇上驾到!准备接驾!'
回复

使用道具 举报

45

主题

452

帖子

1641

积分

金牌会员

Rank: 6Rank: 6

积分
1641
金钱
1189
HASS币
0
发表于 2020-10-9 22:45:36 | 显示全部楼层
shayulei 发表于 2020-10-9 22:44
我的Home Assistant 0.115.6,HassOS 4.13 报:
Logger: homeassistant.components.tts
Source: components ...

components这个目录我都找不到
回复

使用道具 举报

3

主题

84

帖子

871

积分

高级会员

Rank: 4

积分
871
金钱
787
HASS币
0
发表于 2020-10-9 23:46:39 | 显示全部楼层
用官方的百度TTS 我的一切正常 但Google cloud废了
回复

使用道具 举报

0

主题

83

帖子

937

积分

高级会员

Rank: 4

积分
937
金钱
854
HASS币
0
发表于 2020-10-10 12:04:00 | 显示全部楼层
我的是这样的错误
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/core.py", line 1351, in catch_exceptions
    await coro_or_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1370, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 168, in async_say_handle
    url = await tts.async_get_url(
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 341, in async_get_url
    filename = await self.async_get_tts_audio(
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 368, in async_get_tts_audio
    data = self.write_tags(filename, data, provider, message, language, options)
  File "/usr/src/homeassistant/homeassistant/components/tts/__init__.py", line 469, in write_tags
    tts_file = mutagen.File(data_bytes)
  File "/usr/local/lib/python3.8/site-packages/mutagen/_util.py", line 164, in wrapper_func
    def wrap(func):
  File "/usr/local/lib/python3.8/site-packages/mutagen/_file.py", line 270, in File
    from mutagen.dsf import DSF
ModuleNotFoundError: No module named 'mutagen.dsdiff'
初步判断是依赖的mutagen这个版本低了,hassio里面看是1.44.0,但是tts的依赖要求是1.45.1,不知道是什么原因没更新,我的解决方案是找一个自定义组件,改它的依赖让它依赖这个高版本的,例如我是改动 custom_components/ha_cloud_music/manifest.json
{
  "domain": "ha_cloud_music",
  "name": "ha_cloud_music",
  "documentation": "https://github.com/shaonianzhentan/ha_cloud_music",
  "requirements": [
    "mutagen==1.45.1",
    "python-mpd2==1.0.0",
    "python-vlc==1.1.2"
  ],
  "dependencies": [],
  "codeowners": []
}初步验证没有报错,但人没在家,没验证是否真的发声了。以上供参考。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 12:30 , Processed in 0.051285 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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