user manual The SpeakUp is a speech recognition click™ board. You can set it up to recognize over 200 different voice commands and have the on-board MCU carry them out instantly.
TO OUR VALUED CUSTOMERS I want to express my thanks to you for being interested in our products and for having confidence in MikroElektronika. The primary aim of our company is to design and produce high quality electronic products and to constantly improve the performance thereof in order to better suit your needs. Nebojsa Matic General Manager The STM32® and Windows® logos and product names are trademarks of ST microelectronics® and Microsoft® in the U.S.A. and other countries.
Table of Contents 1. Introduction 4 8.2. Getting Started 14 2. Applications 5 8.3. Creating a new project 15 3. Package Contains 6 8.4. New Voice Command 16 4, How to use it? 7 8.5. Configuring Project Settings 18 5. Tech Specs 8 8.6. Assigning An Action 20 6. Schematics 9 8.7. Uploading Project 22 8.8. Exporting Constants 23 7. How It Works? 10 SpeakUp Firwmware Algorithm 11 9. Direct Configuration 24 8. Configuration Through Software 12 10.
1. Introduction The SpeakUp is a speaker dependent speech recognition click board with standalone capabilities. You can set it up to recognize over 200 voice commands and have the onboard STM32F415RG MCU carry them out. It works by matching sounds with pre-recorded commands. Sound is received through an onboard microphone and then processed by a VS1053 IC with a built in stereo-audio codec. The SpeakUp comes with a dedicated software tool for easy configuration.
2. Applications Wouldn't you rather issue verbal commands and have your machines comply, instead of pressing keys, pushing buttons and flipping switches all the time? There's a wide range of applications for the SpeakUp. Command your lights, doors and home appliances. Create voice commanded remotes for TVs or media centers. Reduce complexity and cost of control interfaces. When doing something with both hands and voice command is the only option.
3.
4. How To Use It? Before using your click™ board on your target platform, make sure to solder 1x8 male headers to both left and right side of the board. Two 1x8 male headers are included with the board in the package. 1. Prepare it 2. Configure it 3. Use it Turn the board upside down so that the bottom side is facing you upwards. Place shorter pins of the header into the appropriate soldering pads. Turn the board upward again.
5. Tech Specs 10.30 mm 405.50 mils Line out pads Microphone USB connector Audio jack 12 GPIOs (user programmable) Microcontroller (STM32415RG) 57.15 mm 2550 mils Audio Codec (VS1053) Signal LEDs mikroBUS connector Push-buttons JTAG connector 25.40 mm 1000 mils Along with its key components, the SpeakUp packs other useful bits like two buttons for recording or deleting voice commands manually, while three signal LEDs give recognition feedback and indicate power.
6. Schematics C3 C4 C5 C6 100nF 100nF 100nF 100nF 100nF 2.2uF D1 10uF PMEG3010ER U3 1 VCC-3.3V IN OUT 2 C34 GND 3 EN ADJ 2.2uF 5 AP7331-ADJ R35 C43 10uF 100K R36 27K4 GND 3 VCC-1.8V R33 4 5 IN OUT 4 EN ADJ R34 287K R37 39K AP7331-ADJ 2.2uF C2 U4 1 2 C35 VCC-3.3V C1 C33 VCC-3.3V VCC-USB R38 OR C7 1K VCC-3.
7. How It Works? What gives the SpeakUp its speech recognition capabilities is the firmware we developed for the on-board MCU. It’s based on the DTW algorithm, which makes it decisive, it turns your talk into action almost instantly. Input: Sound is received through an on-board microphone. There’s also a 3.5mm jack for connecting an external microphone. Between the mic and the MCU sits a VS1053 IC with a built in stereo audio codec to process the raw signal.
SpeakUp Firmware Algorithm The main goal of a speech recognition system is to substitute a human listener, although it is very difficult for an artificial system to achieve the flexibility offered by human ear and human brain. The work principle of speech recognition systems is roughly based on the comparison of input data to prerecorded patterns. These patterns can be arranged in the form of phoneme or word.
8. Configuration Through Software The SpeakUp software configuration tool is a free PC application for configuring the SpeakUp click board. With it, you can configure the board to recognize over 200 different voice commands and have the on-board MCU carry them out instantly. You can download the software from the following link: http://www.mikroe.com/downloads/get/2077/ speakup_app.zip The software is designed with ease of use and simplicity in mind.
8.1. Typical workflow Create a new project or open existing manually Launch the app New project created or last one loaded automatically First time you launch the app a new project is created automatically. Otherwise, the last project you were working on will open.
8.2. Getting Started Connect the SpeakUp click board to the computer via the USB cable. It will be recognized as a USB Human Interface Device (HID) in the Device Manager of the Control Panel. Once you connect the SpeakUp to your computer you’re just a few clicks away from configuring it. The set-up process is dead simple. Launch the application, and it will lead you through the initial steps of recording and assigning commands.
8.3. Creating A New Project To create a new project, press the Create New Project button from the main toolbar of the SpeakUp software. A new window will open, where you can enter your project’s name and destination folder (if the destination folder doesn’t exist, the software will prompt you to create it). To finish project creation after inputting the required information, press the Create button.
8.4. New Voice Command Add a voice command Record it Stay within the time limit Hear it back To record a new voice command, press the Add New Voice Command button. A New Voice Comand dialog window will appear. Press the Record button. The length of the recording is set in the Project Settings window (see page 18). The recorded command will be played back automatically, so you can make sure it’s OK.
Name it and save it You’re done! Troubleshoot If you’re satisfied with the recording, enter a name for your command and click the Save & Close button. The recorded command will appear as a new tab. You can play it back, edit or delete it anytime. If the SpeakUp fails to detect a voice command, your surrounding might be too noisy. Try again by speaking a bit louder. If it still doesn’t work, launch Settings and adjust the Noise treshhold.
8.5. Configuring Project Settings To configure project settings, press the Open Settings Window button and the Settings window will open. General Settings In the General Settings you can configure the SpeakUp’s functionality: Acceptance threshold: This is the parameter you should adjust to define how closely your delivery has to match your pre-recorded command. At lower values, you’ll have to deliver the command precisely the way you recorded it.
Noise level: Minimal sound volume level that can trigger a voice command recognition. Lower values require quieter pronunciation, resulting in higher noise/hiss sensitivity. On the contrary, higher level values require louder pronounciation and they are less sensitive to noise/hiss. We recommend that you keep auto detection enabled. That way the SpeakUp Click board will measure the noise level, and perform noise calibration automatically. Auto detection can last a bit longer, usually around 10 seconds.
8.6. Assigning An Action When a new command is recorded, it is time to assign it an action. The action will be performed when the voice command is recognized. Also, a 16-bit index number of the voice command will be sent via chosen communication interface (UART or USB) . There are five types of action that can be assigned : NONE: When this option is selected, no action will be performed on the corresponding GPIO pin upon voice command matching.
Pulse parameters The pulse parameters can be set in the Pulse Parameters window (click on the Edit pulse parameters icon Edit pulse parameters to open it) : A period (T) is the time it takes for a signal to complete a single cycle (sum of the high state and low state time periods). Duty ratio (D) is the percentage of T in which a signal is active, i.e. ratio of the high state period and a complete period. N is the number of times the pulse is repeated.
8.7. Uploading Project When you’re finished recording and configuring voice commands, it is time to upload the project to the SpeakUp click™ board. This is done via the Upload Project button. You can monitor the upload process in the Toolbar. After it’s done, an appropriate message will be displayed in the Status Bar.
8.8. Exporting Constants Each recorded voice command is given an index number which is sent to the host MCU. You can export voice command names and their indexes as constants. The exported document will be in the form of a source file (in any of the three languages), as shown below. mikroC mikroBasic mikroPascal /* This file is generated by SpeakUp Software. It containts voice commands constants. Creation date: 4/3/2014 Creation time: 11:20:09 AM Name: Turn ON Program A Index: 0 Length: 0.
9. Direct Configuration You can perform some basic configuration directly on the SpeakUp without using the software. Different combinations of button presses will allow you to record, re-record or erase commands. You’ll get feedback from the on-board LEDs. However you won’t be able to assign specific actions with this method.
10. Recording Tips Here are some general recording Tips : For better recording results, it is necessary to provide conditions with lowest amounts of ambient noise and speaker distance from the microphone in the range from 10 to 20cm. If there are problems with the voice command detection, please record it several times due to the pronounciation diversity. It is mandatory to play back the recorded voice command in order to hear if some ambient noise was recorded also.
11. Examples SpeakUp has a world of applications. It’s up to your imagination to come up with the coolest ideas. Here’s a hint or two: Use SpeakUp on top of the Pi click Shield to command XBMC Home Media Center on Raspberry Pi®. It’s a great a replacement for a mouse and a keyboard. Replace your lamp switch with a SpeakUp click and a relay. Tell your light to turn ON or OFF if your hands are busy doing something important.
DISCLAIMER All the products owned by MikroElektronika are protected by copyright law and international copyright treaty. Therefore, this manual is to be treated as any other copyright material. No part of this manual, including product and software described herein, may be reproduced, stored in a retrieval system, translated or transmitted in any form or by any means, without the prior written permission of MikroElektronika.
If you want to learn more about our products, please visit our website at www.mikroe.com If you are experiencing some problems with any of our products or just need additional information, please place your ticket at www.mikroe.com/support/ If you have any questions, comments or business proposals, do not hesitate to contact us at office@mikroe.