I pulled the latest rhasspy/wyoming-piper
image as of this morning, and I’m getting a 404 in the container logs when it’s apparently trying to download the language onnx file. I tried to download these files preemptively and put them in the /data folder for the container, but it still yields the same 404 error.
Unfortunately, it’s not logging the actual URL it’s trying to pull from. At the very least, it could check for the existence of the files in the /data
folder before trying to download them again.
docker-compose.yaml fragment:
piper_lessac:
hostname: homeassistant-piper
image: rhasspy/wyoming-piper
restart: unless-stopped
command: --voice en_US-lessac-high
environment:
TZ: "America/Halifax"
networks:
- default
ports:
- 8126:10200
volumes:
- ./piper_lessac:/data
Contents of piper container /data
folder (downloaded from rhasspy/piper-voices at v1.0.0):
$ ls -lF ./piper_lessac
total 109M
-rw-r--r-- 1 root root 109M Jun 26 17:26 en_US-lessac-high.onnx
-rw-r--r-- 1 root root 6.9K Jul 15 14:15 en_US-lessac-high.onnx.json
-rw-r--r-- 1 root root 347 Jul 15 14:15 MODEL_CARD
Error logs:
$ docker-compose up piper_lessac
homeassistant_piper_lessac_1 is up-to-date
Attaching to homeassistant_piper_lessac_1
piper_lessac_1 | INFO:__main__:Downloading en_US-lessac-high to /data
piper_lessac_1 | Traceback (most recent call last):
piper_lessac_1 | File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
piper_lessac_1 | return _run_code(code, main_globals, None,
piper_lessac_1 | File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
piper_lessac_1 | exec(code, run_globals)
piper_lessac_1 | File "/usr/local/lib/python3.9/dist-packages/wyoming_piper/__main__.py", line 147, in <module>
piper_lessac_1 | asyncio.run(main())
piper_lessac_1 | File "/usr/lib/python3.9/asyncio/runners.py", line 44, in run
piper_lessac_1 | return loop.run_until_complete(main)
piper_lessac_1 | File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
piper_lessac_1 | return future.result()
piper_lessac_1 | File "/usr/local/lib/python3.9/dist-packages/wyoming_piper/__main__.py", line 70, in main
piper_lessac_1 | voice_onnx = download_voice(args.voice, args.download_dir)
piper_lessac_1 | File "/usr/local/lib/python3.9/dist-packages/wyoming_piper/download.py", line 20, in download_voice
piper_lessac_1 | with urlopen(voice_url) as response:
piper_lessac_1 | File "/usr/lib/python3.9/urllib/request.py", line 214, in urlopen
piper_lessac_1 | return opener.open(url, data, timeout)
piper_lessac_1 | File "/usr/lib/python3.9/urllib/request.py", line 523, in open
piper_lessac_1 | response = meth(req, response)
piper_lessac_1 | File "/usr/lib/python3.9/urllib/request.py", line 632, in http_response
piper_lessac_1 | response = self.parent.error(
piper_lessac_1 | File "/usr/lib/python3.9/urllib/request.py", line 561, in error
piper_lessac_1 | return self._call_chain(*args)
piper_lessac_1 | File "/usr/lib/python3.9/urllib/request.py", line 494, in _call_chain
piper_lessac_1 | result = func(*args)
piper_lessac_1 | File "/usr/lib/python3.9/urllib/request.py", line 641, in http_error_default
piper_lessac_1 | raise HTTPError(req.full_url, code, msg, hdrs, fp)
piper_lessac_1 | urllib.error.HTTPError: HTTP Error 404: Not Found