Estimated reading time: 3 minutes

This documentation was last modified: Tuesday, August 13th, 2019 at 3:56 pm

Precise

Precise is a Wake Word Listener. Like its name suggests, a Wake Word Listener‘s job is to continually listen to sounds and speech around the Device, and activate when the sounds or speech match a Wake Word. Unlike other hotword detection products, Mycroft Precise is fully open source.

Precise vs PocketSphinx

Precise has been the default Wake Word Listener for each Mycroft Device since mid-March 2018. Precise is based on a neural network that is trained on sound patterns rather than word patterns. This reduces the dependence it has on particular languages or accents.

PocketSphinx is an alternative to Precise. Unlike Precise, PocketSphinx recognizes Wake Words based on the CMU Flite dictionary of sounds.

How do I change the Wake Word Listener to PocketSphinx

To change the Wake Word Listener to PocketSphinx if it has been set to Precise, Speak:

Hey Mycroft, set the Listener to default

or

Hey Mycroft, set the listener to PocketSphinx

Mycroft will respond

"I've set the Listener to PocketSphinx"

To return to Precise, speak:

Hey Mycroft, set the Listener to Precise

Mycroft will respond

"I've set the Listener to Precise"

How do I tell which Wake Word Listener my Mycroft Device is using?

To find out which Wake Word Listener is active for the Mycroft Device you are using, simply Speak:

Hey Mycroft, what is the Listener?

or

Hey Mycroft, tell me what Listener you are using

If you are using Precise, Mycroft will respond:

"The current Listener is Precise"

How do I install Precise as my Wake Word Listener?

If Precise is not already installed, speak to your Device:

Hey Mycroft, set the Listener to Precise

Mycroft will respond

"Downloading the new listener, this will take a bit and you won't be able to use me until it completes. Give me a minute before attempting to activate me again."

NOTE: As Precise is installing, it will download a 40Mb file to your Device. During this initial download period, your Device will not be able to respond to a Wake Word.

Other hotword detection technologies

Unlike other accurate hotword detection products, Mycroft Precise is fully open source.

Open Source Accurate Languages Model Trainer Commercial Use GitHub
Precise Yes Yes Python Open Source Script Permitted MycroftAI/mycroft-precise
Snowboy No Yes Node, Java, Python, GO, Perl, iOS, Android Web API License Fee Kitt-AI/snowboy
Porcupine No Yes C, Python, Android Closed Binary License Fee Picovoice/Porcupine
PocketSphinx Yes No Almost all Open Source Script Permitted cmusphinx/pocketsphinx

Adding Custom Wake Words

PocketSphinx Wake Words

The simplest method to add a custom Wake Word to Mycroft is to use PocketSphinx. This is done by defining the phonemes that make up the Wake Word, so does not require any training.

First decide what your wake word will be and get the string of phonemes using the CMU Pronouncing Dictionary. Then add a hotwords block to your mycroft.conf file.

Precise Wake Word Models

Training your own custom Wake Word model for Precise requires at least functional experience using the Linux commandline and an understanding of basic machine learning concepts. It requires time and training data.

An instructional overview is available on the Precise repository on Github. Community member El-tocino has also provided a short write up of their tips for getting the best result.

Additional Support

If you have questions, you can reach out to others in the Community via the Troubleshooting channel in Chat.


Help us serve you better by rating this documentation