Ask HN: Self-hosted digital assistant: alternative to Siri, Alexa, Cortana?

14 points by dis0rdr ↗ HN
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

6 comments

[ 3.0 ms ] story [ 38.8 ms ] thread
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.
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)
Most projects I'm aware of use PocketSphinx for STT and eSpeak for TTS.