SEPIA-Framework / sepia-docs

Documentation and Wiki for SEPIA. Please post your questions and bug-reports here in the issues section! Thank you :-)
https://sepia-framework.github.io/
238 stars 16 forks source link

Upgrading to 2.6 #124

Open gafk opened 3 years ago

gafk commented 3 years ago

I am currently running 2.5.1 via docker on my Synology NAS and I have set up a raspberry pi client to connect to it. All works well and I have done quite some modifications, e.g. a lot of custom commands via the teach ui and tweaked some audio settings on the pi (I am using a Jabra Speak 510 via USB).

What would be the best way to upgrade to the latest release? Start from scratch and loose all custom settings? Or is there a better way?

fquirin commented 3 years ago

Sounds like a nice setup :-)

For the server: Just use the update-sepia.sh script (a bit more info). Just to be 100% sure I'd recommend to make a backup of the whole SEPIA folder as well, although the script should to the same thing. It will restore your plugins, commands and settings after the update. Check the script output carefully for more info and errors. In the worst case you can restore everything using your backup and try again ^^.

For the client it is a bit more tricky because I've modified run scripts as well, but since your setup seems to work you might not need those changes. I'd try the following:

Settings for your USB mic etc. should remain unchanged, but the new client has a media-devices settings section. If 'default' worked for you so far then it should still be the case after the update. If not I'd recommend to connect a display to the client and switch to 'pseudo-display' mode (if you haven't already) to play with the new settings. There is a new "export settings" button on settings page 2 (below user-name) to generate the headless-client settings.js content that can then be copied over to your file. Maybe it makes sense to check-out the new client version at https://sepia-framework.github.io/app/index.html first :-)

Let me know if everything worked out :crossed_fingers: :smiley:

gafk commented 3 years ago

Tanks for the quick reply! That sounds not to complicated, I will give it a try shortly (after making the backups of course...)

I played around with the client a bit and the one thing I am missing (and most likely only me) is the "flamingo" wake word that I have been using so far 😉 The family is very used to it by now and it worked quite well in the past... I read a little bit in the the documentation and I guess it shouldn't be hard to add that to the list of a available wake words, right?

fquirin commented 3 years ago

Oh 😅🦩 It's really not that hard. Basically you just have to convert the Picovoice files from binary to Uint8 and add them to 'audio-modules/picovoice/porcupine-keywords/'. I will prepare the files and give you more details in the evening 🙂

gafk commented 3 years ago

I tried updating the server. I am running the terminal inside the docker container via the docker webui on my Synology NAS. When starting the update-sepia.sh script, the backups starts packing, but then I get this error message: mv: cannot move '/home/admin/SEPIA' to 'SEPIA_old_2021_10_18_150044': Device or resource busy

Just to confirm: The script should work when using docker as well, right? Should I shutdown the container itself and run the script from "the outside"?

fquirin commented 3 years ago

Ah crap, it looks like the update script cannot move the existing folder because its shared with the Docker host system :man_facepalming: . If you have a manual backup of your shared folder maybe we can simply skip this step. When you are inside the container try the following:

I haven't tried this but I looked at the script again and I think this should be enough.

Just to confirm: The script should work when using docker as well, right?

It looks like you've just found a reason why it won't work without adjustments :sweat_smile: I'll think about a permanent fix ^^.

Should I shutdown the container itself and run the script from "the outside"?

Since everything relevant is inside the SEPIA folder you can in theory run the update script from outside Docker as well as long as the Linux host system has the right packages (I think 'unzip' and 'wget' is enough). You might get an error when the script tries to shutdown SEPIA ... I'm not 100% sure (actually I think it only uses basic Linux commands).

I will prepare the files and give you more details in the evening

Here is the 'flamingo' file and two more ^^: Picovoice_WakeWords.zip. To use them just:

gafk commented 3 years ago

I haven't tried this but I looked at the script again and I think this should be enough.

Yes, it was 👍 The new server version is up and running.

Here is the 'flamingo' file and two more ^^: Picovoice_WakeWords.zip. To use them just:

Thank you so much, I will check out the other onces as well, but my wife is kind of used to talking to Flamingo by now 😄 🦩

I will upgrade the DIY client later and let you know if it worked as well.

gafk commented 3 years ago

I will upgrade the DIY client later and let you know if it worked as well.

Worked as well with some minor manual tweaks (I made some modifications for my USB mic and my small screen I have attached to the pi) 👍

Only the Android APK did not install properly, but I guess this is because I have the AppStore version installed and I tried to update with the APK. I will just wait for the AppStore release of the newest version.

Thank you so much for your excellent work, I really enjoy this project a lot and we are using it every day. I might make a short video demo of my setup to promote this project if I find the time. Hope that is ok?

fquirin commented 3 years ago

Only the Android APK did not install properly, but I guess this is because I have the AppStore version installed and I tried to update with the APK

Yes, since they have the same app ID and signature they cannot coexist ^^ (actually its exactly the same APK that I upload to the Play Store). Beta branch in the Play Store was finally accepted today by Google, main branch should follow soon :-)

Thank you so much for your excellent work, I really enjoy this project a lot and we are using it every day. I might make a short video demo of my setup to promote this project if I find the time. Hope that is ok?

I'm really happy to hear that! :heart_eyes: Of cause you can make any video you like and any promotion would be very welcome :-)