Meet the open-source community’s answers to Google Assistant and Alexa


Mycroft's reliance on open source software on almost all of its layers makes it more comforting to use than closed-source alternatives. Most of the components are open source: Its wake-word recognition is powered by PocketSphinx, for example, and its skills framework is coded in Python. Mycroft has even developed its own open code for language processing, Adapt, to avoid relying on proprietary software for its product.

However, Mycroft's by-default use of the online Mycroft Home service may concern those who are privacy-conscious. Some of the information sent home, such as language preference, may seem relatively harmless; but other details, such as location data, could be too much for some users.

When it comes to it a Speech-to-Text (STT) platform, Mycroft prioritizes Google's STT platform but allows users to pick from a handful of other solutions (Figure 5). Google's STT system, a cloud-based engine owned by a company not known for its concerns over users' privacy, might make some users uncomfortable; Mycroft AI has therefore emphasized its decision to allow users to choose which engine they'd like to use. The company has been quick to assure users that the assistant will be given the option to also employ Mozilla's open-source DeepSpeech service by the end of March 2018 [12]. Mycroft AI insists that all the data it sends to third-party STT services is anonymized, with the service only seeing that Mycroft sent an audio file; but for some, this precaution might not be enough.

Figure 5: Mycroft Home also allows users to change a few advanced settings, including which STT service Mycroft uses.


It's important to say that, despite the fact that Mycroft is the most popular AI assistant in the open source field, it is by no means a finished piece of software. One shouldn't expect a service on the level of Alexa or Siri (yet).

The first issue you'll likely encounter is that Mycroft often fails to hear your wake-up call (Hey, Mycroft!) and, at least in my case, leaves you screaming at your computer like a deranged Sherlock Holmes. Sometimes it will hear you and work fine for the first few commands and then suddenly give up on you. It's very frustrating, but it's likely that as usage of the assistant increases, the developers will improve on this significantly.

When it did hear me, it often failed at delivering the answer I was looking for. Some fairly basic tasks, such as telling the weather, would leave it thinking for a bit before telling me it didn't know how to answer (despite the fact that the weather skill was installed). In some other cases, it would give me a definition of what the weather is! Other simple requests, such as asking Mycroft who the president of the United States is, would also give me a definition of the head of state rather than telling me who the actual person is. A quick search on YouTube will provide more examples of Mycroft's hilarious answers, which range from bizarre to downright wrong [13].

To be fair, though, voice recognition was consistently good when it did listen, easily understanding what I said. It recognized what I said and, more importantly, understood what to do afterwards… most of the time.

Though it might sound like a nitpick, Mycroft's voice could also use some improvement; to say that it sounds robotic would be a kindness. He (or she, depending on which voice you choose) sounds like a cross between a Cyberman from Doctor Who and a prison warden. Depending on what he is saying, the voice can be either slightly amusing or slightly intimidating.

Honorable Mentions

As is always the case with the open source community, Mycroft is far from the only project under development. A significant number of virtual assistants are currently in development, all with slightly different focuses and abilities.

For the more private individuals, Open Assistant [14] is an interesting option. It is entirely offline and works only with open source components. Though Open Assistant is not as well known as Mycroft, it is a compelling alternative, but it is rather spartan in its abilities. It has, however, quite a few skills that could be useful for desktop users, such as the ability to open applications and resize windows; in that sense, it gets closer to being a genuinely useful computer assistant than many of its competitors.

Before creating their own personal assistant, the Mycroft developers had attempted to contribute to Jasper, which was one of the more well-known assistant projects in the open source scene. Jasper is meant to run on a Raspberry Pi and serve as an assistant, much like Mycroft's Mark I and II, rather than playing the role of a general-purpose desktop assistant on a PC; it still features very basic functionality, such as reading the weather and telling the time [15].

Another name that often pops up is Dragonfire [16]. The focus of Dragonfire, however, is much more particular than Mycroft: The project is intended to serve as a virtual assistant for motorcycle helmets rather than a general-use assistant for the home. Even so, the developers provide a package that will install on Ubuntu… but only Ubuntu. Any other distro will require a compilation. Dragonfire is notoriously difficult to get working – the .deb file provided by the developers failed in our attempted installations.

Kalliope is yet another project aiming to provide a functional and easy-to-use assistant, but this time with the focus on home automation [17]. Like Open Assistant, it can also be entirely self-hosted, though it also supports other cloud-based STT engines such as Google's. Development is very active, and, much like Mycroft, it also has skills (called neurons in Kalliope's case) that you can add to increase its functionality. Kalliope aims to support a number of Internet of Things (IoT) devices and, unlike most of the other assistants, it has a mobile app you can use to control your home.

In addition to these assistants that are officially billed as open source, some mainstream assistant tools, such as Alexa, Cortana, and Google Assistant, also contain some open source components (Table 3).

Table 3

Open-Source Components





Google Assistant



PocketSphinx, moving to Precise

Alexa Voice Services

Microsoft Speech API

Google Cloud Speech API



OpenSTT, Google STT, moving to Mozilla DeepSpeech (aiming for March 2018)


Microsoft SAPI, Project Oxford

Google STT


Natural language understanding

Adapt and Padatious

Alexa Voice Services




Text-to-Speech (TTS)

Mimic (based on CMU Flite)



Google TTS


Skills framework


Lambda framework, functional programming

Cortana Skills Framework, node.js, or .NET



Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • KDE Developers Are Working on a TV Interface

    The developers of the KDE desktop are hard at work to create a TV interface.

  • News

    In the news: Nextcloud Partners with IONOS; Linux to Get High Resolution Wheel Scrolling; KDE Developers Are Working on a TV Interface; System76 is Developing a New Keyboard; Embedded Linux Joins the Fight Against COVID-19; and AWS Launches a New Linux Distribution.

  • Programming Snapshot – Alexa

    Asking Alexa only for built-in functions like the weather report gets old quickly, and add-on skills from the skills store only go so far. With a few lines of code, Mike teaches this digital pet some new tricks.

  • Interview: Eben Upton

    After six years of development, founder Eben Upton and the other members of the Raspberry Pi Foundation are finally seeing the results of their efforts.

  • Home Assistant

    Home Assistant brings an open standards approach to home automation and control.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More