Multimodal Media Madness - Winter Semester 2005/2006

Assignment 5 - DTMF Decoder
Due on Sunday, December 4, 2005

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.

Attachments:
FileDescriptionFile sizeDownloadsLast modified
Download this file (MSP fiddle object 1.2.zip)MSP fiddle object 1.2.zipFiddle patch for Max/MSP20 kB3332005-11-27 13:13
Download this file (ToneGenerator.jar)ToneGenerator.jarJava tone generator28 kB3232005-11-27 13:13
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