OpenVoiceOS - A bare minimal (production type of) OS based on Buildroot

I was hoping you would say that :wink: Let me know if there’s something you want me to try or some logs that might help.

Ofcourse :wink:

No seriously, if OpenVoiceOS removes some of the pressure of the Mycroft Dev’s because buyers have something to play with while they are figuring out things that would be perfect.

2 Likes

Quick update:

Managed to find the culprit with the wifi setup not starting at first boot and we fixed it.

Also we changed some default settings, so the image boots and work out of the box for the smaller memory models ( <= 1 GB).

  • We reverted back the vosk β€œwake up” keyword to pocketsphinx.
  • We choose to not have a local STT fallback configured, again utilizing vosk.

Both can ofcourse we configured by you as user, however out of the box we choose to make it slim and fast. (A Raspberry Pi4 >2GB can easily load and run the above, however a 1 GB model and / or a Raspebrry Pi3 might have troubles)

Below a screenshot of a Raspebrry Pi4 running idle on the homescreen awaiting his keyword;

And as comparison the same Raspberry Pi4 running without the GUI for future headless RPi3 and / or Mark-1 devices;

Going to enjoy new years eve now. See you all in next year.

3 Likes

And for comparison, below the same for the Raspberry Pi 3b+ running the same code based image.

With GUI running;

And without GUI running;

REMARK: The little spikes are because I had β€œauto rotating wallpaper” setting on within the homescreen skill settings.

Will upload these images in the upcoming hour(s) for people to try it out.

I tried the latest image and the setup works on wifi now but I still can’t get any response to my voice. I chose the backend to be mycroft and registered it as a new device.

The homescreen works and shows suggested commands but none of them get any response.

Did you downladed the just uploaded dev image 20230101* from the shared gdrive folder?

At the moment I am chasing a bug that at first boot after the whole setup wizard, there are sometimes two or three voice services running at the same time. Might be related (thinnk not) however easy to fix to just reboot the device after the whole setup is done.

You are running it on a retail version, so if you could please reboot and SSH into the device (username: mycroft / password: mycroft) and do two quick tests for me that would be great.

ovos-cli-client

Interested to see if you see movement of the mic level on the bottom right.

ncpamixer

This is basically a ncurses PulseAudio sound setting client. You can just use your mouse the click the different menu options at the bottom. Would like to know which input/output/recording devices you see and again if you see activity movement.

We then take it from there, to see what needs to be changed for the retail Mark2 device.

yes I downloaded - OpenVoiceOS_rpi4_64-gui_dev-202301011923.img.xz

the mic level doesn’t change at all from β€”300

I do get a response on the CLI and the response shows on the Mark 2 screen for example the weather - nice! But no response at all to any sounds or my voice.

and I only see output devices (I think) and I don’t see any changes to any sounds I make

OK, thank you very much for that.

The error is in the detection of the sj-201 hat by our i2c detection script. I will have a look and discuss this with the others.

Will get back to you asap

No problem, happy to help, and thanks!

Could you provide me the output of the following command;

sudo /usr/libexec/ovos-i2csound

Oh and possibly

sudo i2cdetect -y 1

mycroft@OpenVoiceOS-c0433e:~ $ sudo /usr/libexec/ovos-i2csound
Texas Instruments 5806 found
create asound status file
create pulse system file
create pulse default file
create pulse daemon file
alsa-lib parser.c:2373:(load_toplevel_config) Unable to find the top-level configuration file β€˜/usr/share/alsa/ucm2/ucm.conf’.
alsa-lib main.c:1412:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
No state is present for card Headphones
alsa-lib parser.c:2373:(load_toplevel_config) Unable to find the top-level configuration file β€˜/usr/share/alsa/ucm2/ucm.conf’.
alsa-lib main.c:1412:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
Found hardware: β€œbcm2835_headpho” β€œBroadcom Mixer” β€œβ€ β€œβ€ β€œβ€
Hardware is initialized using a generic method
No state is present for card Headphones
mycroft@OpenVoiceOS-c0433e:~ $

mycroft@OpenVoiceOS-c0433e:~ $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – –
10: – – – – – – – – – – – – – – – –
20: – – – – – – – – – – – – – – – 2f
30: – – – – – – – – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: – – – – – – – –
mycroft@OpenVoiceOS-c0433e:~ $

Ah right, indeed the Mark2 has a different LED ring hardware-wise. I used detection of the dev-kit led ring and the TAS5806 to assume it is a SJ-201 hat as the changes are slim that any other board uses the same combo.

However it look like the retail version only detects the TAS5806 amplifier. Assuming a SJ-201 just based on that amplifier being found might be a bit troubesome in the future as there are most likely other HAT’s out there that use the same amplifier, but guess for now it would be save.

Did the changes β€œblind” as I do not have acces to a device yet, but could you try the following;

cd /usr/libexec
sudo rm -f ovos-i2csound
sudo wget https://raw.githubusercontent.com/OpenVoiceOS/ovos-buildroot/develop/buildroot-external/board/raspberrypi/rootfs-overlay/usr/libexec/ovos-i2csound
sudo reboot

And see if it detects the HAT and configures it with the same commands above, most likely starting with ovos-cli-client.

It’s working! :slight_smile: Thanks for your help. I’ll play around with it some more but it’s responding to my voice commands.

There was a step missing, to make ovos-i2csound executable

sudo wget https://raw.githubusercontent.com/OpenVoiceOS/ovos-buildroot/develop/buildroot-external/board/raspberrypi/rootfs-overlay/usr/libexec/ovos-i2csound

sudo chmod a+x ovos-i2csound

Then I repeated all the commands you asked me to run before

ncpamixer

showed that the mic was detecting sound, but commands didn’t get a response, so I rebooted and now it’s responding to voice commands.

One small gripe, the fan runs all the time at top speed - is there something I can do about that?

1 Like

the fan control is different between dev kit and production version of the mk2. Daniel managed to fix this on the Neon images, we need to port it back to our ovos images.

I still haven’t received my mark2, but once I do we will be able to do some proper testing in non dev-kits. There seems to be a significant difference between devkit and production versions of the sj201 hat

1 Like

So, where can I pickup an image I can use to try OVOS on my MarkII? I’ve tried Dinkum and Neon so far and want to get a complete set before deciding which way to jump.

I will report back once I’ve done that.

Can you check the content of

/var/log/mycroft/enclosure.log
/var/log/mycroft/enclosure.error.log

It should show these type of messages;

Setting fan speed to:

the image needs to ship the latest plugins, mk2 plugin has been deprecated in favor of generic led/fan/switch plugins that work with other hardware also

new neon plugins to replace the initial mk2 plugin

1 Like

I will take care of that for the upcoming image. Together with the detection script fix and the ADS touchscreen fix.

I can’t see any messages about fan or speed in those logs

mycroft@OpenVoiceOS-c0433e:~ $ more /var/log/mycroft/enclosure.log | grep fan
mycroft@OpenVoiceOS-c0433e:~ $ more /var/log/mycroft/enclosure.log | grep speed
mycroft@OpenVoiceOS-c0433e:~ $ more /var/log/mycroft/enclosure.error.log | grep fan
mycroft@OpenVoiceOS-c0433e:~ $ more /var/log/mycroft/enclosure.error.log | grep speed
mycroft@OpenVoiceOS-c0433e:~ $

1 Like

Yeah indeed, jarbas already educated me a bit.

Fixes are on the way. Will report back when ready.