On Friday 06 April 2001 23:57, Tim Goetze wrote:
> hi chris,
>
> >effort, just detecting whether a particular tone pair (DTMF) or
> > subaudible tone is part of the audio input.
>
> i'd think of two ways to do that: either do a fourier transform
> (fftw software package for example) and check for those
> frequencies' amplitudes that you're looking for, or apply a
> bandpass filter for every frequency and check the filtered signal
> amplitudes.
>
> better suggestions anyone?

We're talking about a 4x4 matrix of frequencies within a rather small 
range, and we'll always see two of them ("column" + "row") at a 
time... BP filters may well be sufficient, and moderate Q should be 
sufficient, as we only need to detect which 2 of the 8 frequencies 
are currently present.

There may be some "real" shortcuts as well, as we're dealing with 
multiple periods of sine waves. (And some distortion + lots of noise, 
of course...) No ideas right now, though, short of

        1. Remove the DC (simple HP filter)

        2. Boost and clip the signal to 1/0/-1 (three levels)

        3. Analyze the frequency and pulse width phenomena of
           the resulting rectangular wave. (Best match of 17
           possible patterns, including silence.)

Might work; haven't tried it. :-)


//David

.- M A I A -------------------------------------------------.
|      Multimedia Application Integration Architecture      |
| A Free/Open Source Plugin API for Professional Multimedia |
`----------------------> http://www.linuxaudiodev.com/maia -'
.- David Olofson -------------------------------------------.
| Audio Hacker - Open Source Advocate - Singer - Songwriter |
`--------------------------------------> [EMAIL PROTECTED] -'

Reply via email to