AUGMENTING OUR SKILL SET
We take a look at some more Mycroft skill-duggery and peer into the future of its development
MORE SKILLS can be found on the Mycroft Marketplace at https://market.mycroft.ai/skills (they’re free). You can install them from there, verbally with something like “Hey Mycroft install coinflip,” or manually at the Mycroft CLI. You can also install skills from the mycroft-skills GitHub repo. You’ll also find excellent documentation on how to write your own there.
If you have a Spotify Premium account, there’s a skill for that. You can either play tracks through other devices via Spotify Connect, or play them through whatever Mycroft’s running on. Add the Spotify skill from the Marketplace; you should see a message like:
INFO - Will install [‘mycroft-spotify’] from the marketplace
Before you can use the Spotify skill, you need to enter some credentials. In the links to the left of the Marketplace, navigate to “My Account > Profile.” From here follow the “Skills” link at the top. Scroll down to “Spotify Skill,” and enter your Spotify credentials. You’re asked to bestow permissions on the Mycroft skill, and hopefully are greeted with a successful connection message. Don’t forget to click “Save” at the top to yet again confirm your intent. This second confirmation is necessary because besides the API connection to Spotify, which is done by an OAuth, a further device authentication is necessary, which requires the skill to retain your Spotify credentials. See the documentation at http://bit.ly/lxf249spotify if you want to log in via Facebook, or generally find out more about the project.
You can now ask (or type) queries such as “What Spotify devices are available?”; “Show my playlists”; or “What song is this?” You can also issue demands, such as “Play discover weekly,” “Play Get Free by Major Lazer,” and “Stop playing.” In the “Skills” configuration page in your Mycroft Profile, under “Remote Control Device” you can also change the default playback device, having Spotify stream to your Mycroft device.
Interestingly, Mozilla has just released, under a Creative Commons license, version 2.0 of the Common Voice dataset. This includes thousands of hours of matched audio and transcription in 18 different languages. It enables smaller projects access to an open dataset the like of which was previously only available to large companies.
Mycroft has its own anonymous voice-data collection feature, which you can opt into at the bottom of the “Basic Settings” on the “Mycroft Account” page. Looking ahead, the company will likely incorporate the Common Voice data into the collaboration it already has with the Mozilla DeepSpeech team ( https://
research.mozilla.org/machine-learning). One day, the goal is for DeepSpeech to be the default speech-totext (STT) engine in Mycroft, but at present it requires considerable GPU power to run at adequate speeds. In future, this can be farmed out to the cloud, and indeed Mycroft already has a pool of GPU-heavy machines that can take care of the grunt work for ML-savvy Mycroft users. In the meantime, those made of really strong stuff may want to run their own DeepSpeech instance.
Earlier, we mentioned the Adapt intent parser. A new intent parser, Padatious—based on neural networks,
machine learning, and so on—is being developed by Mycroft. Where Adapt focuses on small groups of words, and tries to extract intent from them and the relationships between them, Padatious analyzes whole sentences. According to Mycroft, it’s likely that Padatious will replace Adapt on some platforms, presumably ones with sufficient algorithmic horsepower.
Unlike closed-source assistants, we can be reasonably sure that Mycroft isn’t listening to us at all times. More precisely, it is listening at all times, but any audio it picks up before the wake word is discarded. A corollary of this is that without the wake word, everything is discarded. The default engine that listens for the wake word is called PocketSphinx, but an alternative, Precise, is available (see http://bit.ly/
lxf249precise). Precise is much more, uh, accurate, and is based on data collected from Mycroft users who have opted in to the data collection mentioned above.
At present, Precise is used only as a wake word detector. That’s why you may become suspicious that Mycroft is so swift at responding to “Hey Mycroft,” but all too often fails to make head nor tail of the noises that come afterward. That said, Precise is already being used elsewhere. A particularly interesting use case is Sickweather ( www.sickweather.com). The site has been using it to track coughs and sneezes in public places, particularly on transport. With reliable data, and enough of it, the goal is to map and predict outbreaks of flu and other diseases—a veritable sickness forecast, hence the name. It’s quite bizarre, we think, that a tool ostensibly focused so strongly on spoken words is finding use in the much more general field of hacking and croaking noises.
We trust Mycroft and Mozilla and everyone else working on this for the good of open source, but it’s hard not to be a little creeped out at voice data being harvested. We already share far more than we should with the Internet through Facebook, Google, and friends. As voice becomes an ever more popular choice for interacting with the Internet and the Things connected to it in your home, surely we will be sharing more and more sensitive information with the services they connect to. That is troublesome if data turns out not to be sufficiently anonymized. And on that vaguely despondent note, we’ll sign off, before the small army of Picroft machines we set up in the Maximum PC basement gets caught up in an awful feedback loop and destroys us all.