Out of the box mycroft mark ii not working (no text transcription)

Hi, brand new Mycroft Mark ii owner here. My unit is just out of the box and all set up.

The unit is not responding to any requests. The wake word works, but after a few seconds it dims again and the speaker says nothing.

I enabled SSH and looked at the logs, it appears transcription is not working:

Dec 20 12:21:34 localhost.localdomain python[381]: DEBUG:mycroft_hotword:Triggered
Dec 20 12:21:34 localhost.localdomain python[381]: DEBUG:voice:Wrote /tmp/mycroft/cache/mycroft_wake_words/854027857776.wav
Dec 20 12:21:34 localhost.localdomain python[381]: DEBUG:voice:Awake!
Dec 20 12:21:34 localhost.localdomain python[380]: DEBUG:mycroft.util.log:Disabled idle timeout
Dec 20 12:21:34 localhost.localdomain python[377]: INFO:mycroft.util.log:Ducked volume
Dec 20 12:21:36 localhost.localdomain python[381]: DEBUG:voice:Wrote /tmp/mycroft/cache/mycroft_utterances/856648354366.wav
Dec 20 12:21:36 localhost.localdomain python[381]: DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): api.mycroft.ai:443
Dec 20 12:21:37 localhost.localdomain python[381]: DEBUG:urllib3.connectionpool:https://api.mycroft.ai:443 "POST /v1/transcribe?lang=en-US&limit=1 HTTP/1.1" 200 23
Dec 20 12:21:37 localhost.localdomain python[381]: INFO:mycroft.util.log:{'transcription': None}
Dec 20 12:21:37 localhost.localdomain python[381]: DEBUG:voice:STT:
Dec 20 12:21:37 localhost.localdomain python[377]: INFO:mycroft.util.log:Unducked volume
Dec 20 12:21:38 localhost.localdomain python[511]: INFO:homescreen.mark2:Displaying the Home Screen idle screen.
2 Likes

Something seems wrong with the api server?

A simple repro in python… with a flac file named out.flac (converted from a wav pulled off my mark ii)

import requests

token = "your oauth access token"

s = requests.Session()

s.headers.update({"Authorization": "Bearer " + token, "Content-Type": "audio/x-flac"})

with open("out.flac", "rb") as flac:
    flac_bytes = flac.read()

r = s.post(
    "https://api.mycroft.ai/v1/transcribe",
    params={"lang": "en", "limit": "1"},
    data=flac_bytes,
)

print(r.text)

result:

{"transcription":null}

Switching to a different STT plugin (like coqui) works… though it incorrectly transcribes 99% of what I say.

1 Like

Ok this has gotten stranger… if I make the exact same POST request but to /v1/stt instead of /v1/transcribe it returns the transcription. What’s going on?

Changing this line so the Mark ii uses this other endpoint doesn’t work because the /stt endpoint returns a flat array, and the STT plugin is expecting an object. One could hack the STT API to use this response… but I’m gonna just stop here and wait for an official response.

1 Like

I am having the same issue other than mine worked out of the box (yesterday), but today it does not. It does exactly as described… recognizes the wake work, but doesn’t respond.

2 Likes

Thanks for reporting this issue! We’ve been working on offline STT and didn’t notice! It should be fixed now.

Does this mean the main source code is a ‘testing’ branch?

Is there a way to have devices use a stable branch rather than being subject to random issues from influx testing/development?

4 Likes

FWIW my Mycroft ii had the Stable release selected under device settings and still had this problem :\

1 Like

Michael - are y’all messing with the stable version again? This issue is now back. Wake word is recognized, weather (in my case) is shown, but the text is not spoken.

If so, please leave the stable version out of the loop for testing which breaks basic functionality.

1 Like

Are we testing offline mode again today? My Mark II is not speaking response AGAIN. Please find a way to test without breaking every device.

1 Like