Multimodal Media Madness - Winter Semester 2004/2005

Assignment 5 - DTMF Decoder
Due on Sunday, November 28, 2004 @noon

Description

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.

Task

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 module. 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!)

Submission

Email an archive (.zip) of your assignment to This email address is being protected from spambots. You need JavaScript enabled to view it. before the due date. The subject of your email should be "M3 Assignment 5"; be sure to use this exact subject line as it will be used to filter assignment submissions for grading. Do not submit a patch file that has not been compressed using zip.

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.

Grading

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.
Cookies make it easier for us to provide you with our services. With the usage of our services you permit us to use cookies.
More information Ok