This file has been truncated. show original
I have recently become enamored with an open-source virtual assistant project, name of Mycroft. One of the advantages of this system, besides its focus on privacy and security, is that you can train your own wake word, as well as perform various other customizations. However, the documentation for precise was, I thought, slightly lacking, and so that motivated me, once I figured out the process, to write it down, so that others may have a guide to help them. This guide assumes you want to use the Picroft
First, it's important to know that while the process isn't particularly difficult, but it is a little time-consuming. You'll want to set aside some time to make your recordings in a quiet place. Further, this guide will assume a level of familiarity with basic Linux / Unix / *nix commands, some familiarity with using a command line, and knowledge of how to use a computer. None of this gets programmer-y or difficult, but some people see a command line and head for the hills. Embrace it, it's fun.
Things you will need!
<li>A Raspberry Pi (obviously) running Mycroft. I'm using core 20.8.1 (Buster Keaton). If they update things in the future, I'll try to remember this exists and update it as well.</li>
<li>Another computer to do the modeling on. I'm using a Macbook Pro, but it will work on anything because we're going to run things on a virtual machine (VM). If you have a machine with Ubuntu 18.04 installed on it, that will probably work as well.</li>
<li>A virtual machine. I recommend <a href="https://www.virtualbox.org/">VirtualBox from Oracle</a>, for its price (none) and usability across just about every operating system that exists. Of course, you can run this straight on Linux, too, but I'm recommending a <em>specific</em> version of Ubuntu, so the VM is a good place to start unless you're experienced enough to know exactly what you're doing.</li>
<li>An iso of <a href="https://ubuntu.com/download/desktop">Linux Ubuntu 18.04</a></li>
<li>A fairly decent USB microphone. This doesn't have to be expensive, but it's a bit of an investment. Expect to spend at least $80 for a decent one. Under that the quality can get a bit shoddy. This <a href="https://www.amazon.com/FIFINE-Mute-Button-Monitor-Headphone-Jack-Four-Pickup-Patterns-K690/dp/B08KD5NHKV/ref=sr_1_17?dchild=1&keywords=usb+microphone&qid=1621117988&sr=8-17">one is fine</a>. If you're going to use a USB mic with VirtualBox, remember to select Devices->USB->The USB mic from the Devices menu, or the device will not show up in the VM due to the OSs inability to "share" the USB device. Make sure you're getting good audio from the sound settings section of the control panel.</li>
Second: I DO NOT RECOMMEND doing this on the Raspberry Pi, for a lot of reasons, but if you have a laptop or other computer, it will likely run faster on that. I had some trouble getting this to work on Ubuntu 20, so I went back to 18.04, which has worked very well for me so far. Let's go through how I did all this.<br><br>
Step zero: If you know all of what I'm about to say, and want to skip to why precise won't work, scroll down to step whatever.
Step one: prepare your environment. I did this by getting VirtualBox installed, and then setting up a Ubuntu 18.04 virtual environment. You'll want...quite a lot of disk space for this. I ended up allocating 10GB for the image to use, and that turned out to be too small. 20GB is ideal. Why 18.04? Well, because it's what I used, it's fairly recent, and it worked. I tried on 20.04, and ended up with a <a href="https://en.wikipedia.org/wiki/Dependency_hell"><em>lot </em>of issues</a> getting precise to model and run correctly. Your milage may vary, but since this is a guide for the confused and frustrated, it's what I'm recommending that you use. Get it installed in your VM with all the default software. You probably don't need any add-ons.
Step two: you'll want to install, well, a bunch of things. Starting with updating apt. It doesn't really matter <em>where</em> you install this, but the home directory ("cd ~") is where I installed my copy, and that works just fine.