20-07-2012, 02:31 PM
Design of a Speaker Recognition Code using MATLAB
Design of a Speaker Recognition.PDF (Size: 236.54 KB / Downloads: 121)
INTRODUCTION
Development of speaker identification systems began as early as the 1960s with
exploration into voiceprint analysis, where characteristics of an individual’s voice were
thought to be able to characterize the uniqueness of an individual much like a fingerprint.
The early systems had many flaws and research ensued to derive a more reliable method
of predicting the correlation between two sets of speech utterances. Speaker
identification research continues today under the realm of the field of digital signal
processing where many advances have taken place in recent years.
APPROACH
This multi faceted design project can be categorized into different sections:
speech editing, speech degradation, speech enhancement, pitch analysis, formant analysis
and waveform comparison. The resulting discussion will be segmented based on these
delineations.
SPEECH EDITING
The file recorded with my slower speech (a17.wav) was found from the ordered
list of speakers. A plot of this file is shown in Figure (1). It was determined that the
length of the vector representing this speech file had a magnitude of 30,000. Thus the
vector was partitioned into two separate vectors of equal length and the vectors were
written to a file in opposite order. The file was then read and played back. The code for
this process can be found in Appendix A.
SPEECH DEGRADATION
The file recorded with my faster speech (a18.wav) was found from the ordered list
of speakers. Speech degradation was performed by adding Gaussian noise generated by
the MATLAB function randn() to this file. A comparison was then made between the
clean file and the signal with the addition of Gaussian noise. The code for this process
can be found in Appendix B.
PITCH ANALYSIS
The file recorded with my slower speech (a17.wav) was found from the ordered
list of speakers. Pitch analysis was conducted and relevant parameters were extracted.
The average pitch of the entire wav file was computed and found to have a value of
154.8595 Hz. The graph of pitch contour versus time frame was also created to see how
the pitch varies over the wav file, Figure (3). The results of pitch analysis can be used in
speaker recognition, where the differences in average pitch can be used to characterize a
speech file. The code for this process can be found in Appendix D.
FORMANT ANALYSIS
Formant analysis was performed on my slow speech file (a17.wav). The first five
peaks in the power spectral density were returned and the first three can be seen in Figure
(4). Also, the vector position of the peaks in the power spectral density were calculated
and can be used to characterize a particular voice file. This technique is used in the
waveform comparison section. The code for this process can be found in Appendix E.
WAVEFORM COMPARISON
Using the results and information learned from pitch and formant analysis, a
waveform comparison code was written. Speech waveform files can be characterized
based on various criteria.