Page 2
The MIT Language Modeling Toolkit ( https://code.google.com/p/mitlm/ ) SVOX Pico ( https://launchpad.net/ubuntu/precise/+source/svox/+copyright ) MOVI is booting a standard Linux Kernel using u-boot and is relying on many of the GNU ...
Jumper 2 and Jumper 3 (Alternative Serial Communication) 3. Getting Started 4. Getting the Best Speech Recognition Results Operation Modes Training Sentences vs Words Saving Arduino Memory 5. MOVI Firmware Updates Linux and Mac OS X Windows MOVI User’s Manual Revision 1.10beta2 -- July, 31st 2016 ...
Page 4
Arduino Due Intel Galileo Gen 2 Intel Edison Boards our users were able to get to work with MOVI Boards we were not able to get to work with MOVI B. MOVIShield Library Reference Methods that must be used in setup() ...
Page 5
Methods that are typically used in loop() Infrequently used advanced commands C. The Low Level Interface D. MOVI Event Categories E. Special Files on the SD card Playing sound les Changing the communication bit rate Voxforge.org models F. Terms and Conditions ...
LED MOVI uses the LED as an indicator for the state that MOVI is in. The following states are signalled: LED o : LED constantly o means MOVI is turned o , there is not enough power to ...
Appendix A rst. You need: A computer that can run the Arduino IDE, your MOVI board, your Arduino board, ...
Page 12
3. Install the MOVI library into the Arduino IDE. Instructions on how to install a library can be found here: https://www.arduino.cc/en/Guide/Libraries 4. Load the LightSwitch example by opening the File menu under Examples . Choose ...
Page 13
external power supply to the Arduino board and switch it on. 8. After about 2 seconds, you should see MOVI’s LED (close to microphone) blinking ...
Page 14
LED will stop blinking and just be constantly on. This indicates MOVI is ready. If the LED does not go on at all, please turn o the power and read ...
Page 15
hardware but are mostly focussed on MOVI’s functionality. 16. Read ahead in this manual, especially Section 4, and also check out our forum on ...
false alarm rate of MOVI detecting “Simon” when other words are spoken. Please also note that for sentence matching (as part of the poll() function) it is best for all ...
Page 19
regardless of the method used for training. Good Call Signs Since MOVI maps any input to the trained words, regardless of how far o it is, MOVI uses a ...
Page 20
in the room worked with di erent accuracy. Also, of course, the closer we moved to MOVI’s ...
Page 21
too high, however, will make MOVI insensitive and you will probably have to yell at it. ;-) MOVI User’s Manual Revision 1.10beta2 -- July, 31st 2016 ...
3. Put the SD Card into the computer. 4. MOVI's SD cards are board speci c and replacing them is di cult. Therefore, it is wise to create a backup of the sd card and keep it safe. There are many tutorials on ...
Page 23
6. Copy the update le downloaded in step 1 onto the the MOVI UPDATE partition. 7. Eject (or unmount) the SD Card correctly. If the MOVI Root partition is visible on your computer, make sure to cleanly unmount this partition as MOVI’s le system check ...
Page 24
4. Unplug all power connections, as well as the USB cable from the Arduino and remove MOVI’s SD Card by pressing on it gently before pulling it out. Leave the shield on the Arduino. 5. Put the SD Card into the computer. Windows will assign a drive letter to it. But the drive ...
Page 25
The Windows Explorer shows a disk after inserting MOVI’s SD card but this disk must not be modi ed in any way! It contains system les vital to MOVI. Changing them will lead to MOVI not working. Placing update les in there will not work either. However, remember ...
Page 26
3 (WIN95 FAT32) as shown in the images below. Dialog 1: After selecting the le under File/Open, OSFMount asks for the partition to mount. Chose the fourth and last partition, labelled Partition 3. MOVI User’s Manual Revision 1.10beta2 -- July, 31st 2016 ...
Page 27
100MB and have no les on it. The drive does not need any formatting or other preparation. Just copy the update le(s) (downloaded in MOVI User’s Manual Revision 1.10beta2 -- July, 31st 2016 ...
Page 28
Dialog 1. This is how the partition mounted in the previous step presents itself as a drive in Windows Explorer. Dialog 2. Copy the update le onto the drive created with OSFMount. MOVI User’s Manual Revision 1.10beta2 -- July, 31st 2016 ...
Page 29
10. Now use DiskImager or a similar tool (see step 1) and copy the image that was mounted and modi ed in the previous steps back onto MOVI’s sd card or any other sd card that you may have that has 4GB or more capacity. ...
Page 30
12. Connect speakers to MOVI as it is wise to listen to the messages during the update process. 13. Do not connect any USB cable but power up the Arduino/MOVI combination using an external power supply and listen to the status messages on the speakers. The update ...
Page 31
6. Further Information Further information about MOVI is available in Audeme’s active forum: http://www.audeme.com/forum For updates on what is going on with MOVI in general, we are maintaining a Facebook page: https://www.facebook.com/asrshield MOVI’s Arduino library is maintained on GitHub: https://github.com/audeme/MOVIArduinoAPI . ...
Page 32
In any case, if MOVI is hung up in this way, the easiest way to get MOVI back to life is to load one of the example programs onto the Arduino and then reset MOVI while ...
Page 33
MOVI’s acoustic models have been trained only on adults as training with children is inherently di cult. Therefore, MOVI works best with people over 12 years old. How do I train other languages and accents? ● At the moment, only US English is supported. ...
Page 34
Arduino UNO R3 or an Arduino MEGA2560 R3, the MOVI shield will use the following pins: MOVI User’s Manual Revision 1.10beta2 -- July, 31st 2016 ...
Page 35
functionality provided by these 5 pins. In detail: Power supply: There must be enough voltage and current on VIN to power the MOVI ...
Page 36
Olimexino-328 is compatible to Arduino Duemilanova. Switch Olimexino’s voltage selection switch to 5V and close MOVI’s Jumper 1, 2, and 3. Since the Olimexino does not have an ...
Page 37
left side of the MOVI's TX jumper (Jumper 2) to RX (D0) and the left side of MOVI's RX ...
Page 38
never work with MOVI and some others might work in the future. In general, boards that do ...
Page 39
Construct a MOVI object with an existing HardwareSerial (eg. Arduino Mega). If you use this constructor, you need calls the begin method with a bitrate before calling MOVI’s i n i t ( ) method. This is an advanced method mostly for non-Arduino boards. ...
Page 40
( b o o l w a i t f o r m o v i ) This init method only initializes the API and doesn't wait for MOVI to be ready if the ...
Page 41
S y n t h e s i z e r ( i n t s y n t h ) Sets MOVI’s speech synthesizer to one of S Y N T H _ E S P E A K or S Y N T H _ P I C O . Implemented as ...
Page 42
P A S S W O R D _ R E J E C T or P A S S W O R D _ A C C E P T as an event. The passkey is not transferred to or saved on the MOVI ...
Page 43
C o m m a n d ( S t r i n g c o m m a n d , S t r i n g p a r a m e t e r ) Sends a command manually to MOVI. This allows to send any command to MOVI that is ...
Page 44
D e f a u l t ( ) Resets MOVI to factory default. This method should only be used in s e t u p ( ) and only if ...
Page 45
the Serial Console of the Arduino IDE when a MOVI object is constructed using the value ...
Page 46
S H U T D O W N Shuts the underlying Linux system on the shield down. A B O U T Returns copyright messages as shield event. MOVI User’s Manual Revision 1.10beta2 -- July, 31st 2016 ...
Page 47
Perform a single recognition cycle without call sign. DO NOT correct the raw results. F E M A L E Switch the synthesizer to female voice M A L E Switch the synthesizer to male voice (default) MOVI User’s Manual Revision 1.10beta2 -- July, 31st 2016 ...
Page 48
Toggle synthesizer messages like "System is being shutdown" or "System is booting". There is no corresponding API method as this method will not reset with a new MOVI object. R E S P O N S E S < " O N " | " O F F " > ...
Page 49
A D D S E N T E N C E < s e n t e n c e > This command is used in the MOVI API to add a sentence to the current set of to-be-trained ...
Page 50
These are: 0 ( S H I E L D _ I D L E ) Not an actual MOVI event, returned by poll() when nothing happened. 140 ( B E G I N _ L I S T E N ) MOVI starts to listen (after call sign) ...
Page 51
502 ( U N K N O W N _ S E N T E N C E ) Unmatchable result. This happens when two or more trained sentences could equally by matched to the recognition result. MOVI User’s Manual Revision 1.10beta2 -- July, 31st 2016 ...
Page 52
in the library. The MOVI library includes an example sketch for the use of the p l a y ( ) ...
Page 53
e c h o F / d e v / t t y U A R T 1 $ B I T R A T E With B I T R A T Ebeing the number speci ed in the le. Expect an unresponsive MOVI board ...
Page 54
Chapter 5 (Updating MOVI) regarding unplugging and handling the SD card. Place all les into a directory on the MOVI UPDATE partition of the SD ...
Page 55
Please note: MOVI does not support umlauts or accents (tildes) or any other special symbols. You need to nd the closest match with plain 7-bit ASCII symbols. ...
Page 56
with respect to the sale of products from Audeme LLC, a California limited liability company (the ...
Page 57
Buyer may not assign this Agreement or any part thereof without the prior written consent of Seller. MOVI User’s Manual Revision 1.10beta2 -- July, 31st 2016 ...
Page 58
remain in full force and e ect. MOVI User’s Manual Revision 1.10beta2 -- July, 31st 2016 ...
Need help?
Do you have a question about the MOVI and is the answer not in the manual?
Questions and answers