core: TTS fails after update to 0.116.0.dev20200928 / 0.115.4
The problem
I try to announce a tts message over my Home Mini, it isn’t cached it fails after updating to 0.116.0.dev20200928 with 0.116.0.dev20200927 this problem doesn’t exist.
Environment
- Home Assistant Core release with the issue: 0.116.0.dev20200928
- Last working Home Assistant Core release (if known): 0.116.0.dev20200927
- Operating environment (OS/Container/Supervised/Core):
| arch | armv7l |
|---|---|
| dev | true |
| docker | true |
| hassio | false |
| installation_type | Home Assistant Container |
| os_name | Linux |
| os_version | 5.4.51-v7l+ |
| python_version | 3.8.5 |
| timezone | Europe/Berlin |
| version | 0.116.0.dev20200928 |
| virtualenv | false |
- Integration causing this issue: tts or websocket_api
- Link to integration documentation on our website: https://www.home-assistant.io/integrations/tts/ or https://www.home-assistant.io/integrations/websocket_api
Problem-relevant configuration.yaml
tts:
- platform: google_translate
service_name: google_say
language: 'de'
Traceback/Error logs
Logger: homeassistant.components.websocket_api.http.connection.2941559352
Source: components/tts/__init__.py:471
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 11:22:01 (2 occurrences)
Last logged: 11:23:05
Invalid MultiSpec data: TextFrame(encoding=<Encoding.UTF8: 3>, text=['de'])
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/mutagen/easyid3.py", line 124, in setter
frame = id3[frameid]
File "/usr/local/lib/python3.8/site-packages/mutagen/_util.py", line 537, in __getitem__
return self.__dict[key]
KeyError: 'TPE1'
During handling of the above exception, another exception occurred:
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 1338, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1373, 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 471, in write_tags
tts_file["artist"] = ID3Text(encoding=3, text=artist)
File "/usr/local/lib/python3.8/site-packages/mutagen/_file.py", line 74, in __setitem__
self.tags[key] = value
File "/usr/local/lib/python3.8/site-packages/mutagen/easyid3.py", line 222, in __setitem__
return func(self.__id3, key, value)
File "/usr/local/lib/python3.8/site-packages/mutagen/easyid3.py", line 126, in setter
id3.add(mutagen.id3.Frames[frameid](encoding=3, text=value))
File "/usr/local/lib/python3.8/site-packages/mutagen/id3/_frames.py", line 65, in __init__
setattr(self, checker.name,
File "/usr/local/lib/python3.8/site-packages/mutagen/id3/_frames.py", line 76, in __setattr__
self._setattr(name, checker.validate(self, value))
File "/usr/local/lib/python3.8/site-packages/mutagen/id3/_specs.py", line 533, in validate
raise ValueError('Invalid MultiSpec data: %r' % value)
ValueError: Invalid MultiSpec data: TextFrame(encoding=<Encoding.UTF8: 3>, text=['de'])
Additional information
The configuration where not changed just the version update. Be sure to test with a message that is not cached
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 16
- Comments: 22 (9 by maintainers)
same issue on 0.115.4
same problem on 0.115.4 me too
same issue after upgrading to 115.4: “Invalid MultiSpec data: TextFrame(encoding=<Encoding.UTF8: 3>, text=[‘en’])”
same problem on 0.115.4 me too Invalid MultiSpec data: TextFrame(encoding=<Encoding.UTF8: 3>, text=[‘cs’])
Found a workaround for now: Google cloud with
runs without problems
I receive the mentioned Error:
Invalid MultiSpec data: TextFrame(encoding=<Encoding.UTF8: 3>, text=['en'])also when I’m using thegoogle_cloudtts integration and - as already mentioned - also for thegoogle_translateintegration.the exception seems to be the same for both tts integrations