Hacker News new | ask | show | jobs
Ask HN: Self-hosted digital assistant: alternative to Siri, Alexa, Cortana?
14 points by dis0rdr 3000 days ago
I wondered if there is such a thing where you don't have to be worried about your data.

As far as I understand, such a digital assistant needs at least those parts:

  (1) voice-to-text
  (2) natural language processing (NLP) 
  (3) execute action + speech output (optional)
Are there free (open-source) tools for all of those three points? Is it possible to build a DIY solution for Siri/Alexa/Cortana?

Thought of something like:

  (1) use Nuance Dragon to convert your voice to text
  (2) use Python (NLTK?) to process the text and execute some actions (like getting the weather from weather.com)
  (3) use Nuance software or something similar to play a voice with the result
If anybody knows of some projects like this or has some experience, please share it. Most likely the limiting factor will be performance, but maybe this is feasible with a desktop PC with recent hardware.

Maybe Jasper (https://jasperproject.github.io) is what I am looking for. But I think this also is dependent on a 3rdparty server and I am looking for a completely self-hosted solution.

Thank you in advance!

/dis0rdr

4 comments

mycroft is doing a lot of work in this area. I've tinkered with their work in the past (and submitted a patch or two) and found it enjoyable:

https://github.com/MycroftAI/mycroft-core https://mycroft.ai/

Here's one I haven't used, but have been keeping a bookmark on it to see how it develops.

https://snips.ai https://github.com/snipsco

I came to comment on this one as well. I haven't tried it either, but they have a pretty good demo of it running on a Raspberry Pi3, and streaming Spotify onto a BT speaker. It's all hosted in the device (if I understood correctly, this comes with somewhat lower generality than ,say, Google assistant as a trade off, in that you have to define the different "skills" yourslf)
I don't know of such apps, but you could try asking on r/selfhosted as well, as redditors are more into this kind of stuff.
This is what I did and was most helpful! If anybody else reads this, have a look at https://kalliope-project.github.io. This allows to use Cloud-Services OR Open-Source Services, as you prefer.
Most projects I'm aware of use PocketSphinx for STT and eSpeak for TTS.