Sunday, June 7, 2009

Life Stories #3 - Marquette University Master's Thesis

This is a very brief summary on the process of completing my thesis at Marquette University...

I decided to do the thesis option for my Masters of Science in Computing at Marquette University. I choose a thesis topic from a set of topics for the Dr. Dol0ittle project. This is a project to apply speech-processing techniques to animal vocalizations. I decided to tackle the problem of generating a system to automatically determine frame size, frame rate and the number of HMM states given a sample sound. After a preliminary meeting, my adviser and I decided that the best method would be to use instantaneous frequency and instantaneous bandwidth to estimate the frame size and frame overlap for a sample animal vocalization.

This is a research project, so I needed to learn about estimating instantaneous frequency and bandwidth, estimating frame length and frame overlap, and estimating the number of HMM states. I needed to do this with minimal assistance from by thesis adviser because I was working full-time and off campus most of the time.

First, I searched as much information about estimating frame length and overlap as I could find in the literature. Also, I searched and read multiple papers on methods for estimating instantaneous frequency and bandwidth, and for estimating frequency spectrum. I also read most of a book on instantaneous frequency estimation. Finally, I researched for articles on HMM state estimation.

Once I sufficiently researched the previous methods tried by other scholars in the field, I designed a plan for completing the project. I discussed the plan with my adviser and he liked the idea.

After I reviewed the idea with my adviser, I started the process of writing the code needed to implement the plan. In this case, I wanted a framework where I could perform the estimation on a list of animal vocalizations and review the results of the algorithm. I wrote a C++ program using the GCC, automake, autoconf and the GSL to perform the automatic frame length, frame overlap and HMM topology. Then, I wrote a Python script to run the various experiments, where I changed specific parameters of the algorithm to control the frame length, frame overlap and HMM topology on an algorithm by algorithm basis.

After running all of the experiments on the target animal vocalizations, I finished writing my thesis paper and presented it to the thesis advisory board. The results showed that the frame length, frame overlap and HMM topology could be estimated using a single animal vocalization, and that this technique could be generalized across species.

In the end, the thesis advisory board liked my presentation and paper, and I completed my thesis and graduated.

No comments:

Post a Comment