Voiceprint Biometric System
The goal of this project is to develop a robust voiceprint biometric system.
The major steps in accomplishing this goal are as follows: collect speech samples, find or develop the necessary speech processing tools,
develop an appropriate set of voiceprint features from the common-utterance speech samples, and
use the existing Pace University biometric system backend to conduct experiments.
Much of this work has been accomplished in last year's project, see below.
Data Samples of Common-Phrase Speech Utterances
The common phrase to be recorded is: "My name is" followed by the person's name -- for example, "My name is John Smith."
For recording the utterances, the built-in microphone can be used with a laptop or an inexpensive microphone with a desktop computer.
We would like to obtain 20 sample utterances from each of 30 subjects.
The utterance samples should preferably be collected in groups of five samples over a period of a week or more --
for example, collect five samples per day on each of four different days.
In the worst case, record ten samples from a subject per day, requiring data collection on two different days.
The instructions to the subjects should be:
"please speak naturally but clearly in producing the utterance samples."
Each subject should practice recording the utterance about ten times,
and the subject and the experimenter should review the practice utterances for clarity and naturalness.
The experimenter will keep a record of the date the recordings were made and the microphone used.
Speech Processing Tools
- Segmentation tools:
Because the biometric system will operate on the initial "My name is" portion of the utterance,
that portion must be separated (isolated) from the background noise at the beginning of the utterance
and the person's name at the end of the utterance. This requires:
- A tool to segment the speech portion of the signal from the background noise
by threshholding the signal's energy function (should be available on the internet)
- A tool or function to locate the [z] sound in the word "is" to locate the end of the desired portion of the utterance
- Speech spectrogram tool to perform a spectral analysis of a speech signal.
This is a standard speech visualization tool
that typically gives a grey-scale plot of frequency bands as a function of time.
We anticipate finding an appropriate spectral analysis tool on the Internet.
However, we need a spectrographic tool that provides access to the actual numerical data
(e.g., the energy in a particular frequency band in a particular time interval).
The numeric data is usually represented in a matrix of frequency bands versus time intervals.
These data will be used by both the elastic matching and feature extraction components of the system.
- Elastic matching (dynamic time warping) algorithm to align each sample speech signal of the utterance
with one that has been pre-segmented into the seven sounds ([m],[ai],[n],[ei],[m],[i],[z]) in preparation for feature extraction.
We may have to develop the alignment tool in-house,
but that should not be difficult because it is a rather concise algorithm.
Data measurements (features) will be designed and code written to extract them from each sample utterance.
The output of the feature extractor will be a fixed-length vector of measurements
appropriate for input to the Pace University biometric authentication system.
Several feature sets will be explored, and all features will be normalized over the varying lengths of the speech utterances.
The initial speech processing of the utterance samples will consist of a standard spectral analysis.
One possibility is as follows.
Compute the 13 lowest Mel-frequency Cepstral coefficients (MFCC) from 40 Mel-spaced filters:
13 spaced linearly with 133.33 Hz between center frequencies,
and 27 spaced logarithmically by a frequency factor of 1.07 between adjacent filters.
The spectral analysis time frame could be a 30 msec Hamming window with 10 msec overlap between adjacent windows.
The number of time windows per utterance will vary because they are of fixed size and the lengths of the voice samples varies.
Features will then be extracted from the numeric values of the spectral analysis.
For example, one feature set could consist of the means and variances of each of the 13 frequency bands over the entire utterance,
for a total of 26 features per utterance.
Additional features will be extracted from each of the seven sound regions of the utterance.
For example, the same 13 frequency bands could be divided into its 7 speech sounds each utterance,
averaging the energy in the 13 frequency bands within each of the 7 sounds, for a total of 91 features.
The first Cepstral component might be omitted because it represents the energy of the signal and is probably not speaker specific.
Previous work on this problem
- John Gibbons, Anna Lo, Aditya Chohan, A. Taleb Damaree, Jonathan Leet, and Vinnie Monaco,
Voiceprint Biometric Authentication System,
to appear in Proc. Research Day, CSIS, Pace University, 2014.
- Geetha Bothe, Jonathan Leet, Rahul Raj, Ravi Ray, Mahesh Sooryambylu, Sreeram Vancheeswaran, and John V. Monaco,
Voiceprint System for Biometric Authentication,
Proc. Research Day, CSIS, Pace University, 2013.
- Naresh Trilok's M.S. Thesis
Rationale for choosing the same phrase for all users
- Maxion, Roy A. (2011).
Making Experiments Dependable.
The Next Wave / NSA Magazine, Vol. 19, No. 1, pp. 13-22, March 2012, National Security Agency, Ft. Meade, Maryland.
Reprinted from Dependable and Historic Computing , LNCS 6875, pp. 344-357, Springer, Berlin, 2011.
- Killourhy, Kevin S. and Maxion, Roy A. (2009)
Comparing Anomaly-Detection Algorithms for Keystroke Dynamics.
In International Conference on Dependable Systems & Networks (DSN-09), pp. 125-134,
Estoril, Lisbon, Portugal, 29 June to 02 July 2009. IEEE Computer Society Press, Los Alamitos, California, 2009.