# Speech Recognition

## Contents

## Introduction

## Speech recognition

Robotino has already been trained for a voice but this may not work for everyone. In case it doesn't, then a new acoustic model will have to be created for that person. There are two ways to do this

**Recommended**The acoustic model is created by us and we just need your training data -> Recording data for speech recognition training- Creating the acoustic model yourself

## Setup audio devices

When the Logitech ClearChat headset is plugged into Robotino's USB port, the udev rule *"/etc/udev/rules.d/99-robotinosr.rules"* matches

SUBSYSTEMS=="usb", KERNEL=="hiddev[0-9]*", SYSFS{idVendor}=="046d", SYSFS{idProduct}=="0a12", RUN+="/usr/local/OpenRobotinoAPI/1/daemons/srd.sh start", SYMLINK+="headset"

udev runs *"/usr/local/OpenRobotinoAPI/1/daemons/srd.sh start"*

Copy *"/etc/udev/rules.d/99-robotinosr.rules"* to *"/etc/udev/rules.d/99-myheadset.rules"* and modify the new rule to fit your hardware. How to do this can be read here.

*"/usr/local/OpenRobotinoAPI/1/daemons/srd.sh"* uses the *"/usr/local/OpenRobotinoAPI/1/daemons/configure_alsa.sh"* to write a valid alsa configuration to *"/root/.asoundrc"*. The audo interface from which card and device number are taken is given in *"/etc/robotino/sr/devicename"*. Modify this file to match the output from *"aplay -l"*.

Test the setup by running *"/usr/local/OpenRobotinoAPI/1/daemons/configure_alsa.sh"* and see if *"/root/.asoundrc"* is reasonable. Then run *"/usr/local/OpenRobotinoAPI/1/daemons/srd.sh start"*. If this works test your udev rule by detaching and reattaching your USB audio device and see if srd comes up.

## Commands recognized by Robotino

Robotino can currently recognize the following commands:

ROBOTINO STOP ROBOTINO ROTATE *NUMBER* DEGREES ROBOTINO ROTATE *NUMBER* *NUMBER* DEGREES ROBOTINO ROTATE *NUMBER* *NUMBER* *NUMBER* DEGREES ROBOTINO ROTATE MINUS *NUMBER* DEGREES ROBOTINO ROTATE MINUS *NUMBER* *NUMBER* DEGREES ROBOTINO ROTATE MINUS *NUMBER* *NUMBER* *NUMBER* DEGREES ROBOTINO MOVE FORWARD *NUMBER* METERS ROBOTINO MOVE FORWARD *NUMBER* *NUMBER* METERS ROBOTINO MOVE FORWARD *NUMBER* *NUMBER* *NUMBER* METERS ROBOTINO MOVE FORWARD *NUMBER* CENTIMETERS ROBOTINO MOVE FORWARD *NUMBER* *NUMBER* CENTIMETERS ROBOTINO MOVE FORWARD *NUMBER* *NUMBER* *NUMBER* CENTIMETERS ROBOTINO MOVE BACKWARD *NUMBER* METERS ROBOTINO MOVE BACKWARD *NUMBER* *NUMBER* METERS ROBOTINO MOVE BACKWARD *NUMBER* *NUMBER* *NUMBER* METERS ROBOTINO MOVE BACKWARD *NUMBER* CENTIMETERS ROBOTINO MOVE BACKWARD *NUMBER* *NUMBER* CENTIMETERS ROBOTINO MOVE BACKWARD *NUMBER* *NUMBER* *NUMBER* CENTIMETERS ROBOTINO MOVE LEFT *NUMBER* METERS ROBOTINO MOVE LEFT *NUMBER* *NUMBER* METERS ROBOTINO MOVE LEFT *NUMBER* *NUMBER* *NUMBER* METERS ROBOTINO MOVE LEFT *NUMBER* CENTIMETERS ROBOTINO MOVE LEFT *NUMBER* *NUMBER* CENTIMETERS ROBOTINO MOVE LEFT *NUMBER* *NUMBER* *NUMBER* CENTIMETERS ROBOTINO MOVE RIGHT *NUMBER* METERS ROBOTINO MOVE RIGHT *NUMBER* *NUMBER* METERS ROBOTINO MOVE RIGHT *NUMBER* *NUMBER* *NUMBER* METERS ROBOTINO MOVE RIGHT *NUMBER* CENTIMETERS ROBOTINO MOVE RIGHT *NUMBER* *NUMBER* CENTIMETERS ROBOTINO MOVE RIGHT *NUMBER* *NUMBER* *NUMBER* CENTIMETERS *NUMBER* = ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE

Examples:

ROBOTINO MOVE FORWARD ONE METER

ROBOTINO ROTATE ONE EIGHT ZERO DEGREES

ROBOTINO MOVE BACKWARD FOUR FIVE CENTIMETERS