Mark II running ovos problem with whisper..Need help!

I just set my Mark II with ovos and am trying to get to use whisper to talk to.
My whisper server is on the same subned and from the Mark II command line I can run this and it works fine:
curl -X POST -H "Content-Type: audio/wav" --data-binary "@/home/$USER/test.wav" http://192.168.15.34:8080/stt

in my ~/.config/mycroft/mycroft.conf I have the following:

  "tts": {
    "module": "ovos-tts-plugin-mimic"
  },
  "stt": {
    "module": "ovos-stt-plugin-server",
    "ovos-stt-plugin-server": {
      "url": "http://192.168.15.34:8080/stt"
    }
  },

But when I push the button on the Mark II and then ask it something I see the following error in the logs:

==> /home/ovos/.local/state/mycroft/phal.log <==
2024-12-30 15:46:52.425 - PHAL - ovos_phal_plugin_hotkeys:run:63 - INFO - hotkey down 582 -> mycroft.mic.listen
==> /home/ovos/.local/state/mycroft/voice.log <==
2024-12-30 15:46:52.437 - voice - ovos_dinkum_listener.service:_record_begin:527 - INFO - fake barge-in lowering volume to: 30
==> /home/ovos/.local/state/mycroft/gui.log <==
2024-12-30 15:46:52.456 - gui - ovos_gui.namespace:forward_to_gui:519 - INFO - GUI PROTOCOL - Sending event 'recognizer_loop:record_begin' for namespace: system
==> /home/ovos/.local/state/mycroft/voice.log <==
2024-12-30 15:46:55.258 - voice - ovos_dinkum_listener.voice_loop.voice_loop:run:270 - INFO - speech finished
2024-12-30 15:47:00.574 - voice - ovos_stt_plugin_server:execute:128 - ERROR - HTTPConnectionPool(host='192.168.15.34', port=8080): Read timed out. (read timeout=5)
Traceback (most recent call last):
  File "/home/ovos/.venvs/ovos/lib/python3.11/site-packages/urllib3/connectionpool.py", line 534, in _make_request
    response = conn.getresponse()
               ^^^^^^^^^^^^^^^^^^
  File "/home/ovos/.venvs/ovos/lib/python3.11/site-packages/urllib3/connection.py", line 516, in getresponse
    httplib_response = super().getresponse()
                       ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 279, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/socket.py", line 706, in readinto
    return self._sock.recv_into(b)
           ^^^^^^^^^^^^^^^^^^^^^^^
TimeoutError: timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/ovos/.venvs/ovos/lib/python3.11/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/home/ovos/.venvs/ovos/lib/python3.11/site-packages/urllib3/connectionpool.py", line 841, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/home/ovos/.venvs/ovos/lib/python3.11/site-packages/urllib3/util/retry.py", line 474, in increment
    raise reraise(type(error), error, _stacktrace)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ovos/.venvs/ovos/lib/python3.11/site-packages/urllib3/util/util.py", line 39, in reraise
    raise value
  File "/home/ovos/.venvs/ovos/lib/python3.11/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/home/ovos/.venvs/ovos/lib/python3.11/site-packages/urllib3/connectionpool.py", line 536, in _make_request
    self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
  File "/home/ovos/.venvs/ovos/lib/python3.11/site-packages/urllib3/connectionpool.py", line 367, in _raise_timeout
    raise ReadTimeoutError(
urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='192.168.15.34', port=8080): Read timed out. (read timeout=5)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ovos/.venvs/ovos/lib/python3.11/site-packages/ovos_stt_plugin_server/__init__.py", line 116, in execute
    response = requests.post(url, data=audio.get_wav_data(),
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ovos/.venvs/ovos/lib/python3.11/site-packages/requests/api.py", line 115, in post
    return request("post", url, data=data, json=json, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ovos/.venvs/ovos/lib/python3.11/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ovos/.venvs/ovos/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ovos/.venvs/ovos/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ovos/.venvs/ovos/lib/python3.11/site-packages/requests/adapters.py", line 713, in send
    raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPConnectionPool(host='192.168.15.34', port=8080): Read timed out. (read timeout=5)
2024-12-30 15:47:00.586 - voice - ovos_stt_plugin_server:execute:129 - ERROR - STT request to http://192.168.15.34:8080/stt failed
2024-12-30 15:47:00.589 - voice - ovos_dinkum_listener.voice_loop.voice_loop:_after_cmd:786 - INFO - Raw transcription: [(None, 1.0)]
2024-12-30 15:47:00.595 - voice - ovos_dinkum_listener.service:_record_end_signal:649 - INFO - fake barge-in restoring volume to: 75
2024-12-30 15:47:00.613 - voice - ovos_dinkum_listener.service:_stt_text:686 - ERROR - Empty transcription, either recorded silence or STT failed!

==> /home/ovos/.local/state/mycroft/gui.log <==
2024-12-30 15:47:00.626 - gui - ovos_gui.namespace:forward_to_gui:519 - INFO - GUI PROTOCOL - Sending event 'recognizer_loop:record_end' for namespace: system

Any help would be appreciated. I’d like to get this working then try and also play with polly and chatgpt. Ultimately, I want to use a LLM on my same network, but need to do this step by step.

Thanks

Hi,

Your Mark II is not able to reach your STT server, according to this log:

requests.exceptions.ReadTimeout: HTTPConnectionPool(host='192.168.15.34', port=8080): Read timed out. (read timeout=5)
2024-12-30 15:47:00.586 - voice - ovos_stt_plugin_server:execute:129 - ERROR - STT request to http://192.168.15.34:8080/stt failed

How did you setup OVOS? Is it running in a container?

OVOS is running in virtualenv and from the Mark II commandline (which has an IP address of 192.168.15.205: the curl command works fine for talking to the whisper server as follows:

(ovos) ovos@ovos:~ $ curl -X POST -H “Content-Type: audio/wav” --data-binary “@/home/$USER/jfk.wav” http://192.168.15.34:8080/stt
"And so my fellow Americans,…

As for the setup of ovos itself I followed this:
https://community.openconversational.ai/t/howto-begin-your-open-voice-os-journey-with-the-ovos-installer using 64-bit lite and OS installed is bookworm

if the server is too slow the plugin stops waiting for a response, thats a possible cause

what do you see in the server logs?

@JarbasAl the curl command from the Mark II is quick so, if its a timeout issue I would expect maybe a problem with a timeout in the plugin, but not sure. Both are on the same subnet and even in the same room on the same switch at this time. The server running whisper is running it from a container and I do se it returning : INFO: 192.168.15.205:48332 - “POST /stt?lang=en-US HTTP/1.1” 200 OK
which is good.

for it to be a timeout issue your server would need to be taking 5 seconds or more, so doesnt seem like thats it

Could there be an issue with the plugin or maybe something a miss in the mycroft.conf? It’s really weird especially since the curl works flawlessly

Problem solved. I did a pip install ovos-stt-plugin-server and it upgraded
and seems to be working now. Very weird.