Mini-Project 1
16-199: Building the Future


The purpose of this mini-project is to familiarize you with the notions of analog signals, sampling and digitization, and signal processing. Program a computer to recognize your voice (vs. your roommates, friends, pets, or some defined population), so that only you can give it commands. Or program it to recognize claps, to turn it into a "clapper" control device.

You can use any type of computer/OS/language you want. You can work in groups or alone. If the mini-project seems too easy, try something harder.

The easiest way to do this mini-project is to look for example programs on the web that already do it or are very similar. Then modify these programs to make them do what you want. That is what I did.


Helpful discussions of programming to acquire sound (please email me new links and which of these has gone stale):

www.relisoft.com/freeware/recorder.html
www.relisoft.com/freeware/Source.zip (Take a look at an example real time spectrum analyzer www.relisoft.com/freeware/freq.html and www.relisoft.com/freq.zip)

Here is my version of a clapper (try to recognize clapping noises), based on the above software: freq-cga.zip and freq-cga.tar.gz. Here is more info.

Lots of good stuff
record and play sound

More good stuff

Win32 bcbcaq.freeservers.com/project_WaveRecord.html

Visual Basic: ?

Direct Sound?

Linux: www.4front-tech.com/pguide/audio.html thanks to dsilver@andrew.cmu.edu.

Mac?

Non-real-time processing in Windows: You can acquire WAV files using SoundRecorder (under Accessories), and then process the WAV files using a separate program or MATLAB (using wavread()).


Please generate a web page describing what you did, and email me the URL.


Some previous versions of this mini-project.

ebuehl
jterlesk
chunhuaz
Quarup Barreirinhas and Nick Aiwazian


Speech recognition software

a list
ASR