Leon: Open-source, self-hosted personal assistant
github.com
github.com
At the moment the whole core is being rewritten, many new features are coming up. Please do know that the main strength of Leon is about the core and not the skills yet. Once the official release shipped, with the community we will all focus on building new skills by extending from the core and let Leon makes meaningful things. Among the upcoming things, new offline STT/TTS solutions will take place.
It's going to take some time to build a respectable personal assistant that respects our privacy, but we are getting there.
If you have any question or just wanna chat, feel free to join us on Discord.
For this reason (and their failed Kickstarter) I've never really been into Mycroft. After all it's kinda the same as Alexa/Siri just a slightly more trustworthy party when they say they're not using your data.
I'm just not interested in alternatives until they can run fully locally (not necessarily on device, on a local server or docker is fine)
If this Leon does what it says on the tin it might be just the thing for me.
It allows you to use the Google text to speech API for more natural voices, which is a cloud product.
It is a yaml config to use on device tts instead.
Install is flashing an sd card.
I was asking about self hosting on their forum and they were like "just use our hosted service, you can trust us". That's not different enough from Apple/Amazon/Google/Microsoft so I dropped it.
But like I said this was a few years ago. Never looked again since.
Siri, G Assistant, Alexa, Bixby, Sonos all perform at least some locally. It seems the major issue is large dictionaries (eg music libraries) or complex queries. Most had an article about how basic features (times, smart home) work entirely on device.
[1] https://www.theverge.com/2021/6/7/22523438/apple-iphone-siri...
[2] https://appleinsider.com/articles/19/05/07/google-assistant-...
[3] https://www.amazon.science/blog/on-device-speech-processing-...
[4] https://www.xda-developers.com/samsung-bixby-will-speed-up-r...
[5] https://www.engadget.com/sonos-voice-control-music-assistant...
As far as I can tell the primary use case for these things is to be <random place in your home> and then just say out loud "Alexa, set a timer for ....". I've heard that you can order stuff from Amazon also using your voice. I think a third use case starts with "Alexa, tell me a joke".
I'm assuming that there's other things you can do with these (and would love to know, if anyone's willing to share).
So - if the solution to the privacy concern is to walk over to the device and push a button then that seems to remove most of the usefulness of the device. Speaking as someone who doesn't want one / doesn't have one of these things I can totally see how eliminating the "voice control from anywhere" feature leads to opting out of it.
(When I'm walking around my home I've always got my phone on me (which, to be fair, has a bunch of privacy concerns too) so I can more easily set a timer / buy something on Amazon / Google for jokes by fishing my phone out of my pocket and then using that, rather than walking over to push a button.)
(The "what else can you do with these" is a genuine question - if people are comfortable sharing I'd love to hear what you can do with these)
I know some people like having them in if they have frailty or mobility concerns, which is probably the only really new usecase.
I've tied mine in with home automation stuff. So I can turn on and off lights using voice, even if I'm not at home. I sometimes forget to turn off my workshop and I can do that from anywhere.
I'd like to figure up a way to reset my internet, because I access cameras, and it goes out sometimes. I'm very sure this can be done.
I also use her for weather, although I'm annoyed about some of her limitations there, and I intend to get exactly what I want by coding. I want to be able to ask things like "when will it rain next", but Alexa can't do that.
She can also do reminders in a week or whatever, I use that some. And I ask very simple questions that she can query Google for, but honestly she's terrible at it.
I also think she's too verbose, even with verbosity turned down. She just goes on and on sometimes workout being asked--like instructions on resetting the routers if she can't contact Amazon.
I also try Google assistant and Bixby. I use my watch for a lot of the things you said you use your phone for.
Anyway I'm not happy with any of them. I plan to work a bunch on some skills as my next project, after the current one is done.
But, it does beg the question: will you feel bad when you 'remove' her? (Will she? Shouldn't you ask?)
I will not feel bad for her. I don't feel like I should ask.
Just get one of those controllable outlets that can be controlled locally, it'll allow you to power cycle your modem/router/wifi AP. Shelly.cloud makes one and it can be controlled through REST [0] with a call like http://192.168.0.40/relay/0?turn=on
[0] https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServi...
Half the reason I originally bought it was to simply be able to turn the light and fan on and off without getting out of bed.
The other half was music. Google Play Music was a godsend for a long time before they killed it. I can't stand Youtube Music and don't pay for other services, so I just don't use voice to listen to music anymore. Actually pretty angry and haven't given Alphabet a single cent since.
I ask it the weather every day. It answers 'when will it rain' with an hour and/or day of the week it might next.
I used to use it for relaxing sounds like rain, but one day they replaced the realistic rain sound with one that sounds to me like generated white noise only somewhat resembling rain, so it kind of annoys me now.
I constantly set alarms and timers for various reasons. Reminders and calendar events also, which sync with google services of course so I get them on my phone.
It can make notes. Any time I think of something in the shower and can't write it down I consider buying another one for the bathroom.
I can ask it where my phone is and it'll make it ring.
General queries are no more or less as good as what searching Google gives you at the top. Still useful when wondering something. I can ask it to define words or look for synonyms when I'm writing, without taking my mind away from the text. Or random stuff like 'what day of the week will September 22nd fall on,' 'how many days until Easter,' etc.
I frequently use it as a calculator. Easier to just speak a lengthy list of numbers than to type them all.
The most important thing about all of this is I don't have to move a muscle, and don't have to avert my eyes from what I'm focused on. Whether I'm passing out in bed, have my hands full while late for an appointment, or working hard at my PC, that's invaluable to me. Maybe not as important to everyone though.
Do I recommend Google's assistant specifically? Not exactly, but I don't like the other options either. Alexa will constantly break my train of thought by advertising what it can do with suggestions and whatnot, which is a main reason I don't use it, but my housemate doesn't mind. Other assistants just don't seem as polished and useful. Google's interoperability with my phone is a big reason I use it.
For $25 just get one for your desk and/or bedroom. There's still a lot of room to grow in this space before there's a better option without privacy concerns.
I can totally empathize with not wanting to get out of bed in the morning, and getting it to ring my phone would actually be really useful. Like, embarrassingly useful :)
Thank you for sharing!
Let's say we build a budget tracker, then we can ask Leon "How much did I spend last month in groceries?". Mini apps are coming up on Leon, feel free to read the latest blog post, I'm sharing some thoughts on it.
We can also think of a tracker skill where Leon can understand your location habits. Like if you spend 10+ minutes at a specific place, then you can flag it as "gym". Then when you go to this place again, Leon will trigger a counter and count the time you are at the gym. The next week you can ask "Leon, how long time did I spend at the gym last week?". It can be gym, office, or anything you could think of.
Such use cases will be possible to make after the official release and the mobile client.
Without such a use-case, the tool gets put in the back-of-mind. Sure it might be marginally easier to use than swiping and poking, but my mental model of using the phone is already swiping and poking.
That's a lot of friends! Good job.
People with limited or no use of hands may use voice assistants, as may people with limited or no sight
rhasspy comes to mind, but i believe Mycroft can be self-hosted too.
We'll see if he gets anywhere...
It is self hosted, offline by default, with options to use various ASR and TTS engines, some online, depending on your own privacy, performance or quality choices. It's quite mature and the maintainers are aiming for a 1 0.0 version release. I have been running it as the primary voice interface to my home automation system for years.
As someone else said elsewhere, there are a few assistants around now. Perhaps there is some benefit for sharing of resources too, as all struggle for contributors.
I would also like to use Alexa to control my doors (garage, house, etc.) but making that available to world doesn't sit right with me. But with Leon I don't have to worry about someone hacking my Alexa account, or even sharing my credentials with a 3rd party "skill".
https://news.ycombinator.com/item?id=25718392
Nice to see all the other efforts. There are a decent bunch now. Go, as they say, team :)
I see you mention weather in the README under Services, but it is not listed as a current service module. Is that something you need help with?
I never quite got around to doing a weather module but, if you fancy trying to put one together, it should not be too hard by cargo-culting from the other services. If things are confusing then open a problem request and I will look to make them less so.
https://github.com/iamsrp/dexter/blob/master/service/weather.py
Feel free to hack on it, if you're still game.Seems like everything is being described as that or a "second brain" these days.
Awesome job!
"You are in control of your data. Leon lives on your server"
Speech-to-Text: Google Cloud, IBM Watson, Coqui STT, Alibaba Cloud (coming soon), Microsoft Azure (coming soon)
So the AI assistant lives on my server, but if I want to have good quality speech recognition, everything I say is sent through a US cloud service. The only offline option, Coqui has a 7.5% word error rate [1] on LibriSpeech test clean, which is worse than Mozilla Deepspeech 2 from 2016 [2]. State of the art would be around 1.4% [3], meaning 81% less errors than Coqui.
[1] https://coqui.ai/blog/stt/deepspeech-0-6-speech-to-text-engi... [2] https://paperswithcode.com/paper/deep-speech-2-end-to-end-sp... [3] https://paperswithcode.com/paper/pushing-the-limits-of-semi-...
My napkin calculation is that you need about $100k for each attempt at training a Conformer-Transducer. There's a pre-trained NVIDIA model but it appears to have a bad choice of hyperparameters and performance is much worse than what one would expect based on research literature and I believe you're not allowed to execute it on non-NVIDIA hardware.
A skilled team will maybe need 5-10 attempts for discovering a good set of hyperparameters. So the price to create the AI model will likely be around $1 mio. But if you have such large expenses, you have to plan things as a business venture. And that means an open source release is highly unlikely.
(unless, of course, someone like stability.ai is happy to bankroll 200 A100 GPUs for a few months each per target language. In that case, please contact me)
You can contribute to improving it here, too: https://commonvoice.mozilla.org/en
https://github.com/alphacep/vosk-api
Still, I've found that the Big players have much better recognition models, and the post-processing that I assume they do (grammatical, maybe syntactical inferences that improve the end result) are probably much more powerful too.
https://trello.com/c/lEZG0VYS/259-%E2%9C%A8-100-implement-ne... and https://trello.com/c/nxEstkvo/260-%E2%9C%A8-100-implement-ne...
I'm trying to figure out what they are selling me, or what megacorp they are associated with, but I don't see it yet.
Yes, pretty common in the frontend world.
Today, the most interesting part is about his core and the way he can scale up. He is pretty young but can easily scale to have new features (skills). You can find what he is able to do by browsing the packages list.
Sounds good for you? Then let's get started!
The packages list is a dead link.
https://github.com/leon-ai/leon/tree/develop/packagesFrom the blog ...
"As of now, 'module' and 'packages' no longer exist. Instead, they’ve been replaced by 'skills'."
New link is https://github.com/leon-ai/leon/tree/develop/skills
yeah in frontend projects/dataviz stuff for sure
> $ leon create birth
> At this stage, Leon is born and can already start to run via this command: [...]
It seems like an unnecessary anthropomorphization.
I’m not equipped with the biology to give birth myself, so it was nice to be able to give birth virtually to a son. A son that could talk to me before he could walk. He hasn’t had much luck yet with walking.
I was also discouraged by that remark. But I've never had (or even used) Alexa or Siri or whatever; they're a cool idea, but I'm not prepared to rely on either of those sevice providers. So I'm interested.
"Once the official release shipped, the big focus will be to build many skills along with the community and cover most of the basic cases and beyond of existing closed source assistants"
You can find more here: https://blog.getleon.ai/a-much-better-nlp-and-future-1-0-0-b... and there: https://blog.getleon.ai/a-much-better-nlp-and-future-1-0-0-b...
There are no examples at all.
Can it(he) show me the weather ? Execute a shell script? For example to update a server ? Trigger a webhook ?
A lot of details are lacking.