With summer in the air, it seems like the right time to “officially” release Rhasspy 2.5 A very big thanks to all the testers in the Rhasspy community, and especially to @koan, @KiboOst, @fastjack, and @romkabouter!
This version is a complete rewrite of 2.4 with these goals in mind (from the history):
Maintain compatibility with Rhasspy 2.4 profiles and APIs
Enable contributors to write Rhasspy apps/skills in any language that can speak MQTT and JSON
Provide a migration path for Snips skill authors to move their Hermes-based services to Rhasspy
Allow for individual Rhasspy components to be developed independently in separate repositories
Make modular installations possible, with any combination of individual services
The rhasspy/rhasspy:2.5.0-pre Docker tag is now rhasspy/rhasspy
The rhasspy/rhasspy:2.5.0-pre-arm32v6 Docker tag for Pi Zero satellites is deprecated. See instructions for Pi Zero.
Debian packages are now available for easy installation on Ubuntu and Raspberry Pi OS (formally Raspbian)
Some things are still missing:
Google STT and TTS services (@daniele_athome is working on the former)
Mycroft Adapt and flair intent recognizers
Snips NLU (work started, but not finished)
Probably other stuff I’ve forgotten
I added a new tutorial that details how to do a Raspberry Pi Docker installation of Rhasspy from scratch. More tutorials are welcome as pull requests or links
As always, please open GitHub issues and ask questions here on the forums. I’m hoping with 2.5, we can start down the “app store” path with Rhasspy (headed up by @koan) and get some nice pre-built skills only a few clicks away!
Also if you’re unaware, I’ve created a system called OpenTTS for text to speech. It includes the usual cast of characters (espeak, flite, etc.), but can connect out to MaryTTS, MozillaTTS, and even deepvoice3 using docker-compose. Use the opentts system in Rhasspy.
thanks to all for this great project, it is really amazing. I am working on something similar for robot in a shared workspace, and one of the problem I face is how to make the processing pipeline flexible etc.
So, I am evaluating the entire package and probably moving to integrate my work as part of this package. Working also on ODAS as input, and some denoiser aspect. WHat is really attracting it is the ready to use infrastructure with MQTT.
Btw, for a newbie like me, i have noticed after some days that I was working on something old.
Can i kindly ask one thing?
Could you modify the readme of the rassphy project (git, readthedocs etc), to state clearly the project will continue with the voltron? I have realized after some days I was not working on the latest repos etc. and not getting exactly all the details.
I have been rebuilding my entire system towards Docker Swarm and had some hardware hiccups along the way. Just when I was ready to update Rhasspy, I see 2.5 is here, what a perfect timing!
If something comes up, I’ll let you know!.
Also a great thank you to everybody else who helped out.
A first thing I noticed is that the documentation mentions for the Docker installation method on an Rpi Zero that the --platform linux/arm/v6 option has to be added to the docker pull command. I’m using a docker compose file and had to make sure the version was set to at least 2.4 and that the platform linux/arm/v6 is set.
Without this setting the container keeps restarting. After some research I believe that the platform option does not yet exist in the v3 version of the Docker compose file format.
The tutorial of the server with satellite setup in the documentation also still mentions the rhasspy/rhasspy:2.5.0-pre image and I assume this can also be replaced with just rhasspy/rhasspy and to add the note to the docker pull to use the platform.
After these very minor tweaks, everything is up and running from the 2.5 beta.
What is the proper way to update from 2.4.20?
I’ve Rhasspy on a docker image, did a docker pull rhasspy/rhasspy then restarted docker but is still running the older version
This is a good question, and it depends on how you started Rhasspy. If you followed the docs, you need to stop the 2.4 container by first finding the ID:
$ docker ps | grep rhasspy
Look for the line with synesthesiam/rhasspy and copy the id in the first column (something 12 characters long with random letters and numbers). Then stop it:
$ docker stop <ID>
where <ID> is the id you copied. Now you can start your new Rhasspy container:
Thanks for the detailed steps @synesthesiam , I should have looked a bit more at docker images management
v2.5 is now up and running, going to check the new doc!
Do you plan to provide Hass.io add-on as well for 2.5? It was definitely very helpful way of Rhasspy installation (at least for central node).
Also are you please planning to provide Home Assistant conversation integration as was present in 2.4, or shall we do some MQTT to conversation service automation?
Early 2.4.x user here… Debating whether to update my server and two satellites, or just install from scratch on a new Pi4 I have. Personal opinions, general comments, and especially actual experience, greatly appreciated. Thanks!
===
Well, installing from scratch on Pi 4 was a snap. Now I have to learn the new config, for which I know I’m obligated to read the friendly manual That may take a few days, since work effort is pretty much consuming me these days. By the time I’m done with work, I just don’t feel like reading another screen, or more technical verbiage. The thing that seriously concerns me is keeping my 2.4.x systems working until I have successfully implemented 2.5.0 on separate hardware. WAF has been very good with 2.4.x and I need to maintain that satisfaction while upgrading. Two or three days without voice command makes for an unhappy life.
All these are my own personal, situational issues. Rhasspy 2.5.0 Voltron appears to be QUITE a wonderful improvement over the 2.4.x releases. Thank you to @synesthesiam and all the other developers for your tireless efforts over the last few months to improve and advance this wonderful application/system. I’ve offered before and I will again: and/or can and will be offered as thanks for this effort.