Python implementation of simple GMM and HMM models for isolated digit recognition.
This implementation contains 3 models:
- Single Gaussian (
sg
): Each digit is modeled using a single Gaussian with diagonal covariance. - Gaussian Mixture Model (
gmm
): Each digit is modeled using a mixture ofncomp
Gaussians, initialized by perturbing thesg
model. - Hidden Markov Model (
hmm
): Each digit is modeled by an HMM consisting ofnstate
states, where the emission probability of each state is a single Gaussian with diagonal covariance.
python3 submission.py <opt-args> train test
train
is the training datatest
is the test data
The optional arguments are:
--mode
: Type of model (sg
,gmm
,hmm
). Default:sg
--niter
: Number of iterations. Default = 10--ncomp
: Number of components in GMM model. Default = 8--nstate
: Number of states in HMM model. Default = 5--debug
: Uses only top 100 utterances for train and test
I cannot upload the full training and test data (for copyright reasons), but a small sample of the training data can be found at this Google Drive link. This should help in understanding the format of the data.
This code is based on a template provided by Shinji Watanabe (Johns Hopkins University), written for a course project.
For assistance, contact [email protected]
.