two years a ago I began to try different ways for using voice commands to control Node Red.
My goal was to keep things local. So I used mostly stuff from @ johanneskropf DeepSpeech -> Coqui. But with the update to NR V3 some flows stopped working and beside that it has never been a good solution. Coqui is great but the model for German just sucks. It has no wake word and workarounds didn t work so well.
[ - Any ideas on that where I am not forced to call "Alexa" "Google". I really hate that wake-words.]
[Are there any benchmarks / experiences for my propose that prove I will get faster with a i5 Gen 6 NUC or so ?]
Thanx to our "nice" Government we suffer from four times higher energy costs in germany compared to 2021. So I can not buy a power machine sucking much energy.
Until now I did not really find a good way to solve my problems. Maybe you have ideas on that ?
Thx in advanced!
I tested on differente devices (PCs / Android phones) and different browsers (most webkit) like brave, chrome, opera, firefox, edge.... on a PC its a little faster maybe 8-9 seconds while on a midrange Android it takes even 11 - 13 seconds.
I cloned my SD-Card and disabled 95% of the flows, run it on a Raspberry 3B 1GB and its much much faster. So its my massive use of node red that slows it down.
Charts are carefully (very less data points) used and not saved. So when I restart node red all charts are empty. - On exzessive use of charts it should then load faster if charts are the a problem. - But it does not or just minor.
I do send a counter (light is burning for xxx seconds) to a gauge node. But only in case of switches and if there is a counter and not a permanent switch state. I tested that and the result was: If there is not a counter -> gauge node counting or if there are 10 at the same page time makes no or minor difference. Beside that this counter - thing does only affect two pages calling other pages without that gauge element does go a little faster may be 2 seconds for pages where only very less elements are present.
I do send ffmpeg (web cam) streams to a node from kevinGodell. I know to be careful with sending big data through node red and kept it like the flow in the examples. This was my last implementation and if many ffmpeg - streams are running it costs me about 1-2 seconds of loading time.
Maybe I could optimize here a bit because when leaving the camera - page the ffmpeg process keeps running. I do not know how to trigger an event on leaving a page. Maybe you an idea on that?
If you wanted to keep with speech recognition and also keep it local, have you tried Rhasspy ? Rhasspy may work with your current setup and I have no idea if it'll be lighter on resources - did check and it does support German. I played with an earlier version and it worked quite well, does use a wake word though (customisable)