Open Source Voice Assistants

Posted on
Mon May 10, 2021 2:37 pm
JaceJenkins offline
Posts: 48
Joined: Oct 16, 2015

Open Source Voice Assistants

Hello, I am looking to get away from Alexa / Siri / Google Home for privacy reasons. Any plans or thoughts to support Open Source Voice Assistants like Mycroft - https://mycroft.ai/?

Posted on
Mon May 10, 2021 3:05 pm
FlyingDiver offline
User avatar
Posts: 5337
Joined: Jun 07, 2014
Location: Southwest Florida, USA

Re: Open Source Voice Assistants

Interesting product. Hadn't seen that before. It could probably be done, just like Adam is doing the Google Voice integration.

joe (aka FlyingDiver)
my plugins: http://forums.indigodomo.com/viewforum.php?f=177

Posted on
Mon May 10, 2021 3:47 pm
RogueProeliator offline
User avatar
Posts: 2437
Joined: Nov 13, 2012
Location: Baton Rouge, LA

Re: Open Source Voice Assistants

It would probably take someone with both a strong desire to get this implemented as well as the necessary Python skills to pull it off to write an Indigo plugin to support this.... I had a quick look at their skills implementation (very quick) and, to no great surprise given the discrepancy in engineering teams, it does not seem as fully designed and featured as the Google Assistant and Alexa API's. The point of that is that you are not likely to be able to leverage anything from the upcoming plugins that support other assistants (at least not a ton).

It IS interesting, though.

Adam

Posted on
Mon May 10, 2021 3:50 pm
FlyingDiver offline
User avatar
Posts: 5337
Joined: Jun 07, 2014
Location: Southwest Florida, USA

Re: Open Source Voice Assistants

Adam - how much of the GA implementation is server side skills programming vs Indigo plugin code?

joe (aka FlyingDiver)
my plugins: http://forums.indigodomo.com/viewforum.php?f=177

Posted on
Mon May 10, 2021 9:01 pm
RogueProeliator offline
User avatar
Posts: 2437
Joined: Nov 13, 2012
Location: Baton Rouge, LA

Re: Open Source Voice Assistants

Adam - how much of the GA implementation is server side skills programming vs Indigo plugin code?

Well, you can somewhat choose that -- this is generally true for Alexa as well, but in Google Home specifically you must have a cloud accessible service that does the communication. However, as a programmer we have the luxury of choosing how much logic is handled in the cloud function versus handled in the plugin (in which case the cloud function is more or less a pass-through). There are advantages (and disadvantages) to both strategies and I don't think one is right over the other.

Indigo Server itself of course handles the heavy lifting, the programming we are doing is mostly translation of messages between Indigo and Google/Alexa with the logic side being how to present devices (e.g. does a light support just On/Off, or dimming, colors, etc.)

I have split the responsibilities between the two areas - for instance, the Indigo Plugin determines the type of device and allows the user some customization over the process; perhaps even at some point in the future allowing arbitrary assignment so that a plugin device could present itself to Google Home. However, the translation of messages and responses happens in the cloud function. In this model, my cloud implementation does not have to store any information at all, minimizing privacy and security risks.

Eventually I plan on implementing their local fulfillment which will allow Google/Nest devices to handle requests without going to the cloud which will be a big boom. Phones and such would still have to fall back to the cloud function, though, as they don't support the local handling.

Posted on
Tue May 11, 2021 6:36 am
FlyingDiver offline
User avatar
Posts: 5337
Joined: Jun 07, 2014
Location: Southwest Florida, USA

Re: Open Source Voice Assistants

There's also no mention on their website on a price for the Mycroft 2 smart speaker. You can roll your own with an rPi and webcam or USB conference speaker/microphone, but that's unlikely to get WAF approval.

joe (aka FlyingDiver)
my plugins: http://forums.indigodomo.com/viewforum.php?f=177

Posted on
Tue May 11, 2021 9:40 am
JaceJenkins offline
Posts: 48
Joined: Oct 16, 2015

Re: Open Source Voice Assistants

I could be over simplify, but what about making InidgoDomo REST Compliant, so you don't have to work so hard on custom integrations. Then on the MyCroft side, we just need a Generic Skill to interface with Indigo via REST. HTTPd comes close to this functionality tbh.

Also my personal use cases for Voice Assistant is only to turn things on and of or execute Action Groups. Would be interesting if something like the Alexa Bridge had a Rest front end, so its more generic and not alexa specific.

Posted on
Tue May 11, 2021 10:27 am
FlyingDiver offline
User avatar
Posts: 5337
Joined: Jun 07, 2014
Location: Southwest Florida, USA

Re: Open Source Voice Assistants

JaceJenkins wrote:
I could be over simplify, but what about making InidgoDomo REST Compliant, so you don't have to work so hard on custom integrations. Then on the MyCroft side, we just need a Generic Skill to interface with Indigo via REST. HTTPd comes close to this functionality tbh.


Most of that functionality is already available via REST: https://wiki.indigodomo.com/doku.php?id=indigo_s_restful_urls

joe (aka FlyingDiver)
my plugins: http://forums.indigodomo.com/viewforum.php?f=177

Posted on
Tue May 11, 2021 10:37 am
JaceJenkins offline
Posts: 48
Joined: Oct 16, 2015

Re: Open Source Voice Assistants

OK that's good to know. I am looking at how tough it is on the Mycroft side to take an existing skill or new skill to Map Voice Command to a Rest Call. That would unlock an MVP really quick. Am I missing anything?
Last edited by JaceJenkins on Tue May 11, 2021 10:43 am, edited 1 time in total.

Posted on
Tue May 11, 2021 10:39 am
FlyingDiver offline
User avatar
Posts: 5337
Joined: Jun 07, 2014
Location: Southwest Florida, USA

Re: Open Source Voice Assistants

Actually getting the voice recognition to reliably give you the name of the device or action group will be tricky, and then you'll also need to define the verb or action to be applied, then map all that to the API call. I really don't know how hard that's going to actually be.

joe (aka FlyingDiver)
my plugins: http://forums.indigodomo.com/viewforum.php?f=177

Posted on
Tue May 11, 2021 11:23 am
jay (support) offline
Site Admin
User avatar
Posts: 16818
Joined: Mar 19, 2008
Location: Austin, Texas

Re: Open Source Voice Assistants

You're going to have a case sensitivity issue eventually - Mycroft won't know the case of the device/action group name, and Indigo is case sensitive, so "Office Bulb" is different than "office bulb". We're working on that exact issue right now and will have it solved in the plugin API Indigo 2021.1. Not sure yet if that will get propagated to the REST API in this release, but I've added a task to look at it.

Jay (Indigo Support)
Twitter | Facebook | LinkedIn

Posted on
Tue May 11, 2021 12:27 pm
JaceJenkins offline
Posts: 48
Joined: Oct 16, 2015

Re: Open Source Voice Assistants

Thanks for the response Jay. To me this is an evolution, not a sprint. And Mycroft might not be the end all be all, there are like 10 of these in the market. Personally what I am after is getting a voice assistant that doesn't have any feature other then to control indigo.

All the Cloud Provided ones, have privacy issues. And it seems like more often then not Alexa is preferring its built in trigger words over the custom ones I created. (No data to back this, just seems like she would rather add something to the shopping list, then to turn on the game room lights)

Posted on
Tue May 11, 2021 12:29 pm
FlyingDiver offline
User avatar
Posts: 5337
Joined: Jun 07, 2014
Location: Southwest Florida, USA

Re: Open Source Voice Assistants

Don't be so sure Mycroft doesn't also have privacy issues. It's all running on their servers, which could be hacked. And their ToS isn't that great either.

joe (aka FlyingDiver)
my plugins: http://forums.indigodomo.com/viewforum.php?f=177

Posted on
Tue May 11, 2021 12:48 pm
DaveL17 offline
User avatar
Posts: 5909
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Open Source Voice Assistants

For what it's worth, they do say that it's "possible" to run the service 100 percent locally, with limitations.

Can Mycroft run completely offline? Can I self-host everything?
As a privacy focused project and community, many people are interested in fully offline or self-hosted options. Mycroft has intentionally been built in a modular fashion, so this is possible however is not easy and is unlikely to provide an equivalent user experience.

To achieve this we need to look at three key technologies: backend services provided by Home.mycroft.ai; speech recognition or speech-to-text (STT); and speech-synthesis or text-to-speech (TTS). For backend services, the official backend known as Selene is available on Github under the AGPL v3.0 license, alternatively you can use the simpler Community developed Personal Backend. You can choose to run your own STT service such as Mozilla DeepSpeech or Kaldi, however in our opinion these do not yet provide sufficient accuracy for mainstream usage. Finally, to generate speech on device, simply select the British Male voice. The more realistic sounding voices are generated on Mycroft servers and require significant hardware to synthesize speech within a reasonable time frame.

If you are running your own services, your Mycroft installation can be directed to use those using the mycroft.conf file.

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Tue May 11, 2021 1:04 pm
JaceJenkins offline
Posts: 48
Joined: Oct 16, 2015

Re: Open Source Voice Assistants

Right, and its why I mentioned MyCroft might not be the endgame here... At the end of the day, just trying to figure out how to give to voice command to Indigo

Page 1 of 1

Who is online

Users browsing this forum: No registered users and 2 guests

cron