Installing Wyoming Whisper without Docker llooks impossible: 404 error when downloading model


I would like to test Whisper using Wyoming.
I use Home Assistant core installation, so I have not Docker for anything.
Having Docker installed only for one thing does not look reasonable for me, so I try to install Wyoming Whisper manually.

I looked into the add-on code to see how Wyoming Whisper installed and made the following on my side:

mkdir -p wyoming-whisper/data
cd wyoming-whisper
python3.11 -m venv venv
source venv/bin/activate
pip install wheel
pip install wyoming-faster-whisper==0.0.3
python3 -m wyoming_faster_whisper --uri 'tcp://' --model medium --beam-size "1" --language "fr" --data-dir ./data --download-dir ./data

But when running the last command, I have the following: hashes do not match {'config.json': 'e5a2f85afc17f73960204cad2b002633', 'model.bin': '5f852c3335fbd24002ffbb965174e3d7', 'vocabulary.txt': 'c1120a13c94a8cbb132489655cdd1854'} {'model.bin': '', 'config.json': '', 'vocabulary.txt': ''}
INFO:__main__:Downloading FasterWhisperModel.MEDIUM to ./data
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/pzajda/wyoming-whisper/venv/lib/python3.11/site-packages/wyoming_faster_whisper/", line 135, in <module>
  File "/home/pzajda/.pyenv/versions/3.11.2/lib/python3.11/asyncio/", line 190, in run
  File "/home/pzajda/.pyenv/versions/3.11.2/lib/python3.11/asyncio/", line 118, in run
    return self._loop.run_until_complete(task)
  File "/home/pzajda/.pyenv/versions/3.11.2/lib/python3.11/asyncio/", line 653, in run_until_complete
    return future.result()
  File "/home/pzajda/wyoming-whisper/venv/lib/python3.11/site-packages/wyoming_faster_whisper/", line 75, in main
    model_dir = download_model(model, args.download_dir)
  File "/home/pzajda/wyoming-whisper/venv/lib/python3.11/site-packages/wyoming_faster_whisper/", line 90, in download_model
    with urlopen(model_url) as response:
  File "/home/pzajda/.pyenv/versions/3.11.2/lib/python3.11/urllib/", line 216, in urlopen
    return, data, timeout)
  File "/home/pzajda/.pyenv/versions/3.11.2/lib/python3.11/urllib/", line 525, in open
    response = meth(req, response)
  File "/home/pzajda/.pyenv/versions/3.11.2/lib/python3.11/urllib/", line 634, in http_response
    response = self.parent.error(
  File "/home/pzajda/.pyenv/versions/3.11.2/lib/python3.11/urllib/", line 563, in error
    return self._call_chain(*args)
  File "/home/pzajda/.pyenv/versions/3.11.2/lib/python3.11/urllib/", line 496, in _call_chain
    result = func(*args)
  File "/home/pzajda/.pyenv/versions/3.11.2/lib/python3.11/urllib/", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found

How it could work for the add-on but not manually?
And how could I solve this?

1 Like

There is a doc issue, there is no “medium” model.
Try model-int8

Thanks for your answer.
Unfortunately I have the same 404 result when specifying medium-int8 instead of medium.
Very strange.

Worked for me: --model medium-int8

I have the same issue. Did you fix it?

If you use Python 3.11 like I do, it requires modifying the source code.