Objective

advertisement
ECE 310
Signal And System
Final Project
Voice Recognition
Name
Date
:Chin-Heong KHOR
: 5/9/2001
Objective
The objective of this project is

Get hands-on experience on signal processing in time and frequency domain.

Get familiar with fundamental MATLAB programming, including the usage of
important functions, matrix / vector operations, file I/O. string operation, function
definition, control structures, etc.

Get a little bit understanding on the principles of speech analysis.

Learn how to write a report.
Introduction
Signal and system is very important subject in the real world. In a physical
phenomenon, signal is the human voice. In the modern world, high-speed signals are the
voltages on the telephone wires, the electric fields emanating from radio or television
transmitters and variations of light intensity in an optical fiber on a telephone or computer
network. “Noise”, which is sometimes called a “random signal”, is like a signal in that it
is a time varying physical phenomenon, but unlike a signal it usually does not carry
useful information and is almost always considered undesirable.
Understanding signal and system, we can do the basic speech analysis in this project
and recognize wave files generated from the same speaker. Furthermore, we can edit the
speech (cutting, copying, pasting) the original speech. In another word, we can change
the speech from the original speech to speech which we desirable.
We can add some noise to the original speech. It is very useful because we can make
an environment we desirable. Also, we can filter the “noise” speech by using the filter to
get the “clear” speech. There have four kinds of filters we can be used; there are low pass
filter, high pass filter, band pass filter, and band stop filter. We can filter the speech to get
the speech as you wanted. Moreover, we can find the pitch characterizes the peak energy
levels of the signals and use the formant analysis to recognize speech from the different
speakers.
Approach
I separate this project into a few part, so it is east to analysis each of them.
A. Speech editing
In this section, we want to find my speech file first in the 1st round with a slower
speed and try to edit the speech with cutting, copying and pasting. The original speech of
this file is “ Signal and System ECE 310”. The goal of this section is moving ECE 310 in
front of “Signal and System”. Firstly, we need to find the interval “Signal and System
ECE 310”, and then we just can find the interval of “ECE 310”. State the interval of
“ECE 310” as the date1, and “Signal and System” as the data2. Paste the data1 in front of
data2.
B Speech Degrading
The purpose of this section is to find my speech file recorded in the 1st round with a
faster speed and add “Gaussian” noise to the speech signal at a variance specified by user.
Firstly, using FFT and FFTshift function to shift your speech in the middle of y-axis.
Then we can obtain “Gaussian” noise by using MATLAB function “randn” to generate
“Gausisan”noise. Furthermore, we add the “Gaussian” noise to the fast speech. So, this
means we can create the noise and add it into the signal.
C. Speech Enhancement
The purpose of this section is to find your speech file recorded in the 2nd round with a
noisy background and filter this file. Filters waveform at cutoff frequency specified by
the user. The matlab function “butter() will generate appropriate filters you specified.
Another matlab function “filter()” will apply the filter generated from “butter()”. Then
plot the FFT of the original signal and filtered signal.
D. Pitch analysis
The purpose of this section is to find your speech file recorded in the 1st round with
a slower speed and use the pitch to analysis this file. Pitch characterizes the peak energy
levels of the signal. Pitch can be obtained by obtaining the peak of autocorrelation.
Usually the original speech file is segmented into frames and pitch contour can be
derived by plot of peaks from frames. In this section, we call the pitch function to
analysis the pitch. Another word, we can use it to recognize which voice is girl’s voice
and which voice is man’s voice. We can recognize these voices by determine the pitch.
E. Formant analysis
The purpose of this section is to find your speech file recorded in the 1st round with
slower speed and use the formant to analysis this file. Formant characterizes the first
few peaks in the PSD (Power Spectral Density). The PSD has the same relation to
power signals as energy spectral density has to energy signals. Another word, we can
see from graph to determine the level of energy in speech. So, we can use it to
recognize the level of energy in speech.
F. Waveform Comparison
Use the speech file recorded in the 1st round with a slower speed as a reference, find
the closest three other files recorded by you. In order to find the closest ones in pitch,
using MATLAB sprintf function to call the all the files in the 1st round out by using
For loop. Then, use the MATLAB function of pitch to calculate each file’pitch in the
for loop function. Later, call the function of NORM to calculate the distance of the
pitch of each file with my pitch. Last, using the sort function to ascend all the files
and show each file index. So, it is easily to find the closest of three files’ location.
Discussion
This project is considered completely successful. Each requirement from this project
is done. From this project, we can learn a lot of function from the MATLAB to solve
the signal and system problem such as filter, wavread, wavwrite, sound, butter,
sprintf, sort, and etc. We know how to import the wave file to MATLAB and hot to
write the wave file in the MATLAB environment. Also, we know what is going on
the sound wave and we can modify them by adding noise, filter the noise. From the
signal, we also can verify this voice come from the man’s voice or girl’s voice. We
also know that how much energy to have this voice. Understanding these theories,
we can apply this knowledge into communication area or reduce the noise signal in
designing the chip, so we can get the accurate signal which we wanted.
Time is not enough for this project and problem of this project insufficient. So,
adding some parts that help us to understand more about these problems are very
important.
Conclusion
From this project, I can easily to understand what I learn from the class and it help
me to understand some parts which I got confused in class. Also, I learn a lot of
MATLAB function in this project which I never learn it before. Furthermore, I
understand a little bit of the principles of speech analysis in this project. It is very useful
to me when I learn advanced course in the future.
Learning editing the speech, speech degradation, speech enhancement, pitch
analysis, and formant analysis to help me understand what is going on cell phone
function, receptor function and some basis principles of speech analysis knowledge.
Reference

Distance Measures for speech processing by Augustine H.Gray

Speech Production, Labeling and Characteristics

Introduction of MATLAB

Signal And System EE310 by M.J.Robert
Download