In my July post where I introduced the Mycroft Roadmaps, I laid out plans for a Mycroft Personal Server. I’ve had conversations with many about the concept, but exact goals and designs haven’t been established yet. I see this as a highly Community-centric project, so I’d like to start a conversation so we can all get on the same page.

What is it?

Mycroft is inherently modular, allowing pieces of the system to be moved around as appropriate for the specific implementation. Up to this point, the typical implementation runs the majority of Mycroft on a device such as a Mark 1, Raspberry Pi, or laptop. This includes Wake Word processing, intent parsing, and text to speech(TTS) (more on Mimic2 TTS below).

For normal operation, there is one critical piece isn’t included in that list — Speech to Text (STT). The typical Mycroft device today uses Mycroft’s Home to perform the STT operation. This is automatic and invisible to most users.

The server also offers several other services that are important:

Mimic2 for those using this new voice technology

General user settings

Web interface to specific Skill Settings

The Marketplace to find and install new skills

In my view, the Personal Server would provide some version of all of these services. It should allow a household to run all of their Mycroft equipment without any network necessary until a Skill needs to access the internet to retrieve information.

This means the personal server would at minimum need to run Speech to Text (DeepSpeech), Text to Speech (Mimic), and provide a configuration web interface.

Why would anyone need this?

There are several very good reasons for implementing this capability.

Slow, unreliable internet – I’m personally spoiled by Google Fiber here in Kansas City and forget that not everyone in the world has gigabit connection speeds.

Limited or expensive internet – Similar to the above, but slightly different motivation

No internet – Yes, this exists. Imagine locations in the mountains, on boats, or the far side of the moon.

Privacy concerns – Every time data leaves your control, there is a possibility of others misusing it, not safeguarding it adequately, or it being intercepted.

For those willing to accept the responsibility, keeping all operations within a home provides the ultimate in reliability and security.

What a Personal Server Isn’t

The Personal Server is intended to be Personal — not Enterprise Grade. The main reason for this is simplicity. For example, if you don’t have to perform Speech to Text requests for thousands of users, the odds of collision are very low. That means STT requests can be run sequentially instead of requiring a bank of STT servers that can handle a high load.

A Personal Server also isn’t for everyone. You don’t have to be a High Geek but it will require some significant computational resources, like an always-on PC with a high-quality GPU.

Does this mean Home is no longer needed?

No, for several reasons.

Firstly, many people will still want the convenience of just plugging in their device and running it. No worries about setting up a server, no challenges accessing the web UI from their phone without firewall magic, etc. It just works.

Second, there is still value in having a central collaboration hub. Mycroft has always been about communal efforts, and Community requires gathering places. Home provides a place to:

Share and assist in tagging data to advance the technology

Discover new information

Download voices, and skills from others

Provide a gateway to access other Mycroft devices and Mycroft-hosted services

Your Thoughts?

All of the above are my thoughts. But as I said at the beginning, I want this to be a conversation. What do you want and see for the Mycroft Personal Server? Are there concerns I’m overlooking? Would you like to be involved in the building of this, taking control of your own fate?

Please join us on our Community Forum to participate in the conversation!