Voice Recognition

spectacularscarecrowAI and Robotics

Nov 17, 2013 (3 years and 6 months ago)

80 views

Group members

Luke Makischuk

Abderahmane Sebaa

Ameneh Sadat Yazdaninik

Asma Faizi




Professor: R Habash

TA: Wei Yang

Introduction



The purpose of our project was to implement an efficient
voice recognition algorithm and improve upon the idea’s
from the IEEE paper:


“Speech Recognition and Its Application in Voice
-
based
Robot Control System” by Luo Zhizeng and Zhao Jinghing,
August 2004



In the article, they used a technique called pattern
-
comparison to implement the voice recognition which is
very complex.




We came up with a simpler way to implement the voice
recognition using Matlab and we also expanded more on
how you would go about controlling the robot using
Bluetooth technology along with motor control of the robot.




References



“Speech Recognition and Its Application in Voice
-
based Robot
Control System”

by Luo Zhizeng and Zhao Jinghing, August 2004



“A dynamic
-
time
-
warp integrated circuit for a 1000
-
word speech
recognition system
” Kavaler, R.A.; Lowy, M.; Murveit, H.; Brodersen,
R.W, Volume 22,


Issue 1,


Feb 1987



“Significance of the Modified Group Delay Feature in Speech
Recognition
” Rajesh M. Hegde; Hema A. Murthy; Venkata Ramana Rao
Gadde; Volume 15,


Issue 1,


Jan. 2007



Lawrence Rabiner, Biing
-
Hwangluang,
Fundomenrols Of Speech
Recognition,
Qinghua Press, 1999



http://cslu.cse.ogi.edu/HLTsurvey/ch1node7.html




Work distribution



Asma and Ameneh
-
Voice recognition
research/algorithm and report writeup



Abderahmane and Luke
-
Matlab coding


Voice recognition


All done using Matlab


Recognized voice commands:


Stop


Turn Left


Turn Right


Move Forward


Move Backwards



Only works with one person’s voice but can easily be
trained to work with anyone's voice



Voice recognition

How it works


Record voice command (Time domain)


Transform into frequency domain using
Fourier Transform and get the
magnitude spectrum


Compare spectrum of voice commands

Program block diagram

Voice command
F
.
T
Frequency
Spectrum
Minimum
distancee
?
Compare with
stored voice
commands
yes
command
Frequency
Spectrum
Do they
match
?
No
Fourier transform

Speech Signal (time domain) Frequency domain

Communication with a robot


The efficient way to communicate with
robot is using Bluetooth.


We connect the Bluetooth to the serial
port at the back of the PC to transmit to
the robot.


For receiving, we connect a receiver
module to the robot.

Continue


The robot receives the input commands
from the Bluetooth transmitter which is a
3 bit digital signal. Then, if the input
commands are matched to the program,
the robot moves based on state given.
Otherwise, the robot will not respond to
the given command.

Continue


The programmed commands:

Microcontroller
processor
command
001
100
011
010
111
Or
000
110
101
Straight forward
fast
Perfect stop
Straight
backwards
Turn left
Turn right
Straight forward
slow
Straight forward
middle
System diagram

Motor control

Results

Correct

Incorrect

Stop

10

0

Move Forward

9

1

Move Backwards

9

1

Turn Right

10

0

Turn Left

9

1

94 % accurate

Limitations


The amount of words that could be
recognized by our program was limited,
the more words we tried adding, the less
accurate it became


The voice recognition program only works
for the person’s voice who is trained for it


Program is less accurate in noisy
environments


Bluetooth is an expensive technology to
implement


Advantages


Simple algorithm used for voice
recognition


Easy to train a person’s voice


Accurate


Bluetooth is very fast and efficient


Voice commands are a very easy way to
control a robot


Conclusion


For small vocabulary applications, the
method of using the Fourier transform
based speech recognition is more suitable
then the other complex algorithms for it is
easy to implement and has a high
accuracy rate.



Thank you for your time



any Questions?