5

I have wav file in which using the naudio lib i have been able to get raw data out of the wav files.

Does any one know how to loop though the data in chuncks detecting DTMF tones?

Jonathan D
  • 1,364
  • 2
  • 12
  • 30

4 Answers4

3

The NuGet package DtmfDetection.NAudio provides extension methods and wrappers to detect DTMF tones in live (captured) audio and pre-recorded audio files.

On the GitHub site of the project you can find a sample program.

Good Night Nerd Pride
  • 8,245
  • 4
  • 49
  • 65
1

Well, on the top of the google is this:

http://sourceforge.net/projects/dtmf-cs/

But, if you want to use heavy artillery, you can always FFT your samples and check what two freqs are seen the most.

BTW, do some searching before you post anything, and you'll come up with:

Detect a specific frequency/tone from raw wave-data

or even

Is it possible to detect DTMF tones using C#

Community
  • 1
  • 1
Daniel Mošmondor
  • 19,718
  • 12
  • 58
  • 99
  • yeah ive tried that dont seem to be able meanfully docs with it – Jonathan D Sep 29 '11 at 14:06
  • I’ve search before and studied all those articles none of them give a simple explanation or useful code examples. code exmaples would be nice – Jonathan D Sep 29 '11 at 14:18
  • You can have code examples for something like THAT. IMHO, every such library should come with some example, and if it doesn't, leave the message to the project admin, ask for help. – Daniel Mošmondor Sep 29 '11 at 15:33
1

I've gone with http://www.tapiex.com/ToneDecoder.Net.htm

Its cheeap and does a good job at detection. All the others i found dont seem to do the job or have no documentation

Jonathan D
  • 1,364
  • 2
  • 12
  • 30
  • Spent 2 days trying various methods to do the same thing, and this component has everything I need. It will even run in a windows service. There's another component called WaveEx.Net that will read from a sound card. Well worth the money! – Eric Stassen Dec 09 '11 at 17:33
0

DTMF stands for dual-tone multi frequence signaling. So you have to detect the two frequencies used to send a signal.

You have to transform your timebased audio material into the frequency domain typically by using a FFT algorithm.

Here i found a very old VB5 program with source online which does exactly what you want i think: http://www.qsl.net/kb5ryo/dtmf.htm

EDIT: Ok, maybe its better to take a look at the suggested C# lib.

Jan
  • 15,802
  • 5
  • 35
  • 59