Multimodal Media Madness - Winter Semester 2005/2006
Due on Sunday, December 4, 2005
In this assignment, you will build a dual tone multi frequency (DTMF) detector. DTMF is the encoding used in modern "touch tone" phones for distinguishing numbers, Wikipedia has a decent introduction to DTMF.
Your assignment for the week is to build a DTMF detector using Max/MSP. It should be able to detect which tones are played using the ToneGenerator java program that we provide (based on an applet at dsptutor.
ToneGenerator outputs DTMF tones to the speakers in order to redirect it to the audio input, open up the System Preferences and the Sound tab. Change the output and input to Sunflower 2ch, and this will redirect all system output to the system input driver (as if you attached a physical cable connecting line out to line in on the computer).
In Max/MSP, use the
adc~ module to get the input audio signal from the system.
You will also have the install the
Fiddle is a patch originally by Miller Puckette for pitch detection and sinusoidal decomposition.
This assignment is to be completed in groups of 2. However, you must change working partners for this assignment to give you a chance to work with a different person.
Some ideas for extra credit for this assignment:
- robustness to noise
for example, if introduce random noise to the input signal, does it generate false tones?
- accurately track the timing of the ones. if i press "1" only once, it should print out only one "1".
- etc... (use your imagination!)
Email an archive (.zip) of your assignment to
Your assignment archive should include all files required to run your patch. Include a short plain text
README file that contains:
- the names and email addresses of all group members
- instructions on how to use your patch
- a short description of your design
- non-obvious things you did (if any)
- if you did any extra credit work, be sure to tell us what you did
It is strongly recommended that you test your submission before sending it to us. If we cannot figure how to open your submission (strange or non-obvious compression format, no README file) then you will get zero.
Be prepared to discuss your solution in the next lab.
The assignment will be graded on the following rough scale:
- 1.0 - exceptional work that clearly went above and beyond what was given on the exercise
- 2.0 - exercise was completed satisfactorily as per the assignment specification
- 3.0 - exercise was completed, but has some problems
- 4.0 - incomplete exercise
- 5.0 - little or no effort was put into the exercise
Late assignments will be graded with a penalty of 0.5 per 24 hour period after the due date.