Mycroft Virtual (Voice) Assistant

Jarret B

Well-Known Member
Staff member
Joined
May 22, 2017
Messages
340
Reaction score
367
Credits
11,754
There are many Virtual Assistants, or sometimes referred to as a Voice Assistant, on the market and seem to be more coming along all the time.
A Virtual Assistant is a software program which uses a microphone to get a query or command from a person via voice and obtain an answer or perform a duty. When a query is made by a person the response is returned usually by speakers using a voice. For example, I can ask “What is the current time?” and the Virtual Assistant will find the current local time and respond by telling the current local time with the speaker.
Some Assistants are a single piece of hardware that connects to a Wi-Fi to obtain the answers to the queries.

Current Virtual Assistants

There are many Virtual Assistants on the market in various hardware forms. Some of the main Assistants are:

  • Alexa by Amazon.com
  • Bixby by Samsung
  • Cortana by Microsoft
  • Google Assistant by Google
  • Siri by Apple
These are all hardware based in a speaker type object or part of a phone, tablet or other device.
The Assistants basically work in the same way.

  1. A wake-up word is used to get the attention of the software from the microphone. Hey Mycroft
  2. The software starts recording a query from the user. What is the current temperature?
  3. The query is translated into text and handled appropriately by a set of rules. In most cases the query is sent to an Internet server and a response is returned to the software. 100 degrees
  4. The software accepts the response, makes a proper response sentence and sends it as speech to the speakers. Right now, it’s a clear sky and 100 degrees.
The software can track queries which are not understood and send them to an internet server to allow the programmers to improve on the Assistants abilities. Some Assistants can handle more queries than others, but each gets better over time.
The Assistant this article will cover is the Mycroft Assistant for Linux. Mycroft can be installed on a Raspberry Pi, Linux or an Android device. You can also get a hardware device called a Mark 1 (details can be found at https://mycroft.ai/get-mycroft/).

Installing Mycroft Assistants

Mycroft will work with Ubuntu/Debian, Arch and Fedora. If you have one of these you should be fine.
To start getting Mycroft installed you will need some specific hardware. You will need speakers (headphones can work) and a microphone.

NOTE: I tried Mycroft on a laptop and the built-in microphone would not be recognized. I had to use a USB microphone to get Mycroft to accept vocal queries. There is a command-line interface (CLI) which works, but does lessen the Assistant’s affect since you can see the voice translating to text.

After you have the appropriate hardware you need to create an account at home.mycroft.ai.
The initial options are to Log In so scroll to the bottom and click on ‘Create One’. There is an option to create an account with Google, Facebook or Github. You can also scroll down some and create an account using your e-mail address. Make sure you check the box at the top of the screen next to the words ‘I agree to Terms of Use and Privacy Policy’. Use your preferred method of creating an account. After entering your information on the screen click on ‘Create Account’. The next screen will ask your name. Do not worry about the Profile and click on ‘Next Please >’. The next screen is to be filled out when you have installed and started Mycroft. The Registration Code will be given by Mycroft after it is installed and started. You can give the device a name. Do note that this is not the name you call the device when talking to it (it is Mycroft, but this can be modified). The last entry is for a basic description. For now click on the link to ‘skip this guide’. In the upper right of the screen you should see the name you used as your name. Having your name there shows you are logged into the Mycroft.ai website.
Open a Terminal and use the following commands:

The first command makes sure you are in your HOME folder. The second command copies the Mycroft software from Github and places it in the HOME folder in a directory called mycroft-core. After the download is completed the third command changes to the mycroft-core folder. The fourth and last command starts the installation. The installation will verify all dependencies are installed and if they are not present then they will be installed. You may be prompted to type the ROOT password to allow for the installation to continue.
At anytime you wish to start the Mycroft services use the commands:

  • cd ~/mycroft-core
  • ./start-mycroft all
  • ./start-mycroft-cli
The first command in a Terminal changes to the folder ‘mycroft-core’ in your HOME directory. The second command executes the command ‘start-mycroft’ and passes the parameter ‘all’ to start all the services. The third line is only needed to start the Command-Line Interface (CLI) program which is helpful the first time you run Mycroft and need to register it.
When you want to stop the Mycroft services you can type the command in a Terminal:

  • ./stop-mycroft
Register Mycroft

Mycroft will not function until it is registered. After starting Mycroft remember to start the CLI. After it initializes the CLI will show a registration number as well as Mycroft repeating the number for you. Go back to home.mycroft.ai. If you are not still logged in then do so with the account you used to set it up. In the top right corner is your name and you need to click on it and select ‘Devices’. Click on ‘Add A Device’ and enter the required information as described above.
Once the registration is completed then you may need to stop and restart the Mycroft services. Once the registration is recognized then you should be able to test Mycroft. Make sure the microphone and speaker you are using are not muted.
If you say ‘Hey Mycroft’ you should hear a short chime to let you know that Mycroft is listening. After the chime you can specify your query.
You can query for a joke, the time, weather, word spelling and other things. There are add-on ‘skills’ which expand the capabilities of Mycroft.

Adding Skills

To see a list of skills available for download you can go to github.com/MycroftAI/mycroft-skills.
Let’s go through the process of adding a skill. Choose the ‘knock-knock-jokes-skill’ and scroll down a little to the button on the right to allow you to ‘Clone or download’. Select the option to ‘Download Zip’. Save the file where you want it. Open the file once it is downloaded and extract it to the folder ‘/opt/mycroft/skills’. The process can be done while the Mycroft services are running and the new skill will be recognized without a service restart.
Now you can say ‘Hey Mycroft’. At the chime then say ‘Tell me a knock knock joke’. Mycroft will say ‘Knock Knock’ and you respond ‘Who’s there?’. Mycroft will then respond and you respond as needed. Mycroft will not continue until it hears the appropriate response.
Look through the other skill that you may like to have and download and extract them into the same folder as above.
Anytime you have problems you can load the CLI and watch the window to see how it is interpreting the query it’s been given.

Other Options

After logging onto home.mycroft.ai you can select your name and choose ‘Settings’. Here you can change the default Units of Measurement, Time Format and Date format used by Mycroft. You can also change the voice from a British Male (default) to and American Female(membership required). There is an option to use an American Male Premium Voice, but this requires membership to use after three months. There is also the option to join in the Open Dataset where contributors can see the queries sent by Mycroft to help in improving the program.
Another option at the top of the screen allows you to enter into an Advanced option. On this screen you can change the Wake Word from ‘Hey Mycroft’ to one of the following:

  • Christopher
  • Hey Ezra
  • Hey Jarvis
  • Custom
The Custom option requires you to enter a name and a phenome (pronunciation). Further down on the screen you can change the Text To Speech (TTS) engine from Mimic to Google. You may need to test the option to check the speed if you want to use it.
If any changes are made you need to click ‘Save’ located towards the top of the screen.
At the top of the screen is also the word ‘Skills’ next to ‘Tagging’. If you click on ‘Skills’ you can set more options.
I hope this gets you started on using Mycroft and you enjoy having a Virtual Assistant.
 


You just need 5000+hrs of human workforce, and a powerful compiler to build your one of those.
 
Very nice post @Jarret B, thank you very much.
Just a question, why don't cp it, into your PATH and just call the program like $ mycroft all???
 
Its okay, now you just need 1,000,0000,000,000 hours of workforce
 

Staff online


Top