Personal assistant (that's actually personal) not on cloud?

Hii! I was wondering in the past few days if it's possbile to realize something like a Google Home or Amazon Eco device on your own without relying on third party cloud stuff. I know it wouldn't be really really powerful as those things are but maybe to do simple things like actuate motors or switches, set up alarms and similar things might work. The thing should be disconnected from the internet and work on some sort of low power single compute board. I'm just pushing my fantasy right now I know, but I'd like to ear what you guys have to say about this. The idea of a smart home tickles the nerd inside me (wich is 99% of me but that's talk for another topic) but knowing that anyone can hack my house from the internet and shut down my stuff makes it a no no to me.

AI is compute intensive, cannot work without a powerful system. In fact, that is why it has to be connected to the cloud on mobile devices.

Also AI requires an enormous super fast access data pool. If you build a learning system with open source AI software, which is entirely possible and works well per se, it will never perform like Google Assistant because it doesn't have the big data pool to learn from or work with.

What you can do however, is just use voice recognition to control preconfigured functionality that is interlinked through LAN only.

Mycroft is one of the few I know of.

Yeah, that's what I'm talking about!

That's pretty easy, just get one of the voice recognition packages from your repos, and link it up with python to commands sent over your LAN, captured by Espressif chips that listen for them and then trip relays and stuff. You have plenty of pins on them for control, but also for sensors, and programming them is as easy as programming an arduino. You could develop all of that in a single environment, for instance with the platformio plugin.

1 Like

That sounds pretty cool, thanks a lot for the details! And do you think would even be able to do things like play music or tell what's the weather?

@wendell had started some work on a small personal assistant project, I'm not sure how far he progressed with it but the idea was pretty cool.

There's also a couple of open source voice assistants Mycroft being on that was mentioned.

1 Like

I'm really looking forward to see updates on the project Wendell has been working on.
The Microsoft thing is like Alexa ported on the Pi?

Mycroft not Microsoft, yeah it is built to be ran off a raspberry pi and that the server behind it can be self hosted.

Their strategy is for server and resource hosting. I could see business who want digital assistants in the cloud for their employees but they have control over them.

The dev team is impressive. They have people who worked on Google Now, Amazon Alexa, and Apple Siri.

1 Like

Ops, my bad I thought was a typo (dyslexia kicks in on my end). I'm gonna look into it for sure! Thanks (:

That is pretty much built-in already in the major DE's in linux, you just have to install the speech-to-text input, there are system-wide shortcuts in the major DE's, and integration of multimedia controls etc...

If your language is English, you should have that up and running in under 5 minutes... in for example Gnome Shell, you would get the OpenWeather extension and the disabilities assistance extension, install the speech input of your choice (will also work with screen keyboard if necessary), the controls for the most multimedia applications are built into the Gnome menu and notification system. In KDE it's similar.

If your language is not English, it may be a little more complex. Even real (UK) English might be a problem sometimes, US English and "international English" are the best supported languages. If the speech recognition doesn't work OOTB, you'll have to load libraries that are available from different sources (best check git pages for leads, these are mostly not free software but legally available gratis for private use and development), or you'll have to train your system.

Also a problem sometimes is good speech input. Audio has to be clear and loud enough to stay above the noise floor and to be detectable by the system if it's in an always-listening mode. Most mics are cardioid, you'll need a selective omnidirectional mic or a highly selective mic array.

1 Like