Which version of Rhasspy to choose preferably, namely:

Which option to choose preferably, namely:
1 - installation from the .deb package
2 - Installation in Docker
3 - Installation by Git-clone -> therefore virtual environment ‘venv’
Personally, I don’t like Docker …

And why did you choose this one or that one
Arpagor

I use docker on RPi 4 and use the latest available version of Rhasspy. Reasons?

  1. Keeping up to date makes sure you have the latest improvements.
  2. Updating a docker container is simple.
  3. Docker containers mean you don’t have to do any work satisfying dependencies.
  4. The configuration is stored outside the container and is easily backed up.

Why don’t you like docker?

Rhasspy is a complex project with many dependencies. I like to keep this type of project self-contained in a Docker container. This way the project doesn’t stop working when I update one of the dependencies because another project needs a newer version.

If you’re using Home Assistant, there’s another option that works cleanly: use the Rhasspy add-on in Home Assistant. Under the hood this is also using Docker, but without you having to install or manage Docker.

Docker, 100%. No maintenance and easy to update.
What do you dislike about docker?

Another advantage of the Docker version is, that it is by far the most used installation method of Rhasspy.

How it plays with alsa on the host if you do some more complex stuff using plugins and so on :sweat_smile:

Docker all the way, and honestly quite surprised that somebody does not like docker. It is the most hassle free and maintenance friendly. for example, with volumes, you can keep your profiles completely separate and when you upgrade / downgrade the Rhasspy versions, you do not have to make any changes to your original settings, it just works!

Ah ok, I don’t have that.
But you’d have the same problems with deb of venv right?

I guess pretty much. The only difference is that you have to route the audio into the container, which can definitely cause issues as well.

Yeah, but then again we use Visual Source Safe for version control at work, so I have a very very high pain tolerance for non maintenance friendly software :sweat_smile:

Thank you all for your answers, but in fact I don’t have the answer I was looking for, which is: which is the fastest version?
Why don’t I like Docker? it’s simple and from a purely personal point of view, i like to get my hands dirty and understand how things work!
And therefore very often intervene on copies of sources which is not possible for me in the docker version.
installation in .deb is as easy as that in Docker
a simple wget to download the package and a click on it to launch the install … it’s as fast as downloading an image.
Audio question I have the most difficult sound card to configure the Seedvoicecard Respeaker 6 mic array and I even installed an equalizer (which improves the recognition of Wake Word)

“microphone”: {
“arecord”: {
“device”: “equal”,
“udp_audio_host”: “127.0.0.1”,
“udp_audio_port”: “12222”
},

In audio output I use dmix which allows me to listen to music even if Rhasspy and depending on:

“sounds”: {
“aplay”: {
“device”: “dmixer”
},
“recorded”: “”,
“system”: “aplay”,
“wake”: “”
},

For updates: either I test the new version by installing the new package in another directory
Either I uninstall the old Package before installing the new one.
So the Docker version is great for those who just want to “Use” the software.
But as you have understood it is not my case.
On the other hand, the solution of the git clone very often poses problems and seems to me much longer to install (time of downloads and Make install)

Here is each his point of view and his way of seeing things
Arpagor

Ah ok, so your question was not an ask for advice but more of an open question :smiley:
I did not quite get that.

Yes, every one has his own preference.
For my daily use I have Rhasspy installed as an addon in Home Assistant. If I want to code, I have a VM running. I do not have audio out or in, it is running on a NUC with proxmox in a closet.
Audio in and out are on satelites.

Nevertheless, I still say that the package mode installation is the fastest and I never have an error unlike the git clone mode which since 2.4 has systematically small problems like the version of pip or anomaly in the version of a module etc …
and after test it is faster than Docker
cordially
Arpagor

I am on pulseaudio as indicated above with dmix which allows me to play music while Rhasspy is running

I have no problem when I update from the package and even better if I want to test the new version I install it in parallel specifying the destination directory and I can run one or the other without modifying my config
Arpagor

with the package option I don’t suffer from the dependency problem and it’s super fast

Arpagor

Maybe for tinkerers, but for the general user docker is way more easy.
And for a Home Assistant user, the addon is ideal.

Yes but after tests: I installed the 3 versions on my SSD:
1 - Docker
2 - Venv (git clone)
3 - .deb package

And the advantages of .deb
1 - as you say for handymen
2 - very quick to install
3 - faster in use

Yes but after tests: I installed the 3 versions on my SSD:
1 - Docker
2 - Venv (git clone)
3 - .deb package

And the advantages of .deb
1 - as you say for handymen
2 - very quick to install
3 - faster in use

So everyone finds their advantage but for my part I prefer the package

I use neither, I use a mix of voice2json and mostly self developed stuff for node-red in production.

2 Likes

I use the venv version, i like to be in control of what I install, be able to debug quickly what’s wrong. I would probably use the deb package if i were on a dedicated machine with only Rhasppy.

The makefile works well except two points

  • last version of pip is buggy
  • on a RaspberryPi you should preinstall some package because it’s arm architecture.
1 Like

This is actually possible if you check out the last part of the Dockerfile. I just copy the Rhasspy source code into the image and run it in a virtual environment at /usr/lib/rhasspy

If you were to map a directory in your docker run command, you could use your own copy of a source file for any module, e.g. -v /path/to/rhasspy-supervisor:/usr/lib/rhasspy/rhasspy/supervisor

I’ve never tried this myself, but maybe someone is crazy enough to do it :stuck_out_tongue: