Reply by Jim Thomas April 20, 20052005-04-20
Jim Thomas wrote:
> The math is definitely nicer, but I still prefer AMDF. Against my > boss's recommendation, I replaced ASDF with AMDF, and it didn't work > nearly as well.
Oops. That is, I replaced AMDF with ASDF. AMDF worked better. -- Jim Thomas Principal Applications Engineer Bittware, Inc jthomas@bittware.com http://www.bittware.com (603) 226-0404 x536 Sometimes experience is the only teacher that works - Mike Rosing
Reply by Benry April 20, 20052005-04-20
Ben,

Right.  That is something I couldn't answer then, the question about
which is more efficient.  I realize where your understanding of the
topic is, because it took me a while to think in terms of frequency
too...jusk like thinking about AC in complex domain.

But, in all honesty, I really think you should at least understand the
power of a fourier transform, and how a FFT works.  The FFT is a
quicker version of a fourier transform, that should be implemented in
computers (because it uses less instructions).

Any comb filter that can be implented is going to probably have to
count peaks (which is something that is a pain in the ass, trust me),
find the duration between adjacent ones, and then provide a filter, or
give you the info you need.

So, what I'm getting at is, I would be surprised that if you want
something more than just a bandpass filter that can be externally
adjusted (like an audio equalizer) were to execute less instructions,
take less time, and be more efficient than using an FFT to get what you
want.

I don't mean to offend or judge what you're doing, but looking back on
some of my previous projects, I wished I would have just known more
about frequency domain characteristics...cause thinking in the time
domain is...time consuming :).

Hope this helps.
Ben

Reply by Jim Thomas April 20, 20052005-04-20
robert bristow-johnson wrote:
> Googling > ASDF along with "pitch detection" results in far fewer hits, even though i > think that squaring is more tractable mathematically than the magnitude > function.
The math is definitely nicer, but I still prefer AMDF. Against my boss's recommendation, I replaced ASDF with AMDF, and it didn't work nearly as well. When I dug into it, I found that if the waveshape repeated, but with growing volume, ASDF matched the louder period, while AMDF matched the period with closer volume. It was a rather crude implementation of a playback speed shifter, and I barely knew what I was doing, so take this with a grain of salt. -- Jim Thomas Principal Applications Engineer Bittware, Inc jthomas@bittware.com http://www.bittware.com (603) 226-0404 x536 Sometimes experience is the only teacher that works - Mike Rosing
Reply by April 20, 20052005-04-20
robert bristow-johnson <rbj@audioimagination.com> writes:

> in article 1114003551.544271.15350@l41g2000cwc.googlegroups.com, Peter K. at > p.kootsookos@iolfree.ie wrote on 04/20/2005 09:25: > > > Randy Yates wrote: > > > >> What is ASDF? I think you mean "AMDF" and not "ADMF". I found AMDF > >> is "average mean distance function," but also "American Macular > >> Degeneration Foundation. > > > > A,S,D, and F are the first four left-hand letters of the middle row of > > the letters on the keyboard. :-) > > here's a continuous-time version of it: > > +inf > AMDF(Tau, t0) = integral{ |x(t-Tau) - x(t+Tau)| w(t-t0) dt} > -inf
Hmm. Kinda like a "magnitude correlator" over a window of time.
> > +inf > ASDF(Tau, t0) = integral{ (x(t-Tau) - x(t+Tau))^2 w(t-t0) dt} > -inf > > > > where w(t-t0) is a window function centered about t0 (that makes the > integral non-infinite).
Thanks for the calculus, man. -- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124
Reply by robert bristow-johnson April 20, 20052005-04-20
ack!  i knew i hit the "Post Now" button prematurely.  correction below.

in article 1114003551.544271.15350@l41g2000cwc.googlegroups.com, Peter K. at
p.kootsookos@iolfree.ie wrote on 04/20/2005 09:25:

> Randy Yates wrote: > >> What is ASDF? I think you mean "AMDF" and not "ADMF". I found AMDF >> is "average mean distance function," but also "American Macular >> Degeneration Foundation. > > A,S,D, and F are the first four left-hand letters of the middle row of > the letters on the keyboard. :-)
here's a continuous-time version of it: +inf AMDF(Tau, t0) = integral{|x(t-Tau/2) - x(t+Tau/2)| w(t-t0) dt} -inf +inf ASDF(Tau, t0) = integral{(x(t-Tau/2) - x(t+Tau/2))^2 w(t-t0) dt} -inf where w(t-t0) is a window function centered about t0 (that makes the integral non-infinite). this is a not precisely as it appears in the literature, but is my refining of the definition. you look for a value of Tau (other than Tau = 0) that minimizes the AMDF or ASDF, that that value of Tau might be equal to your period, T, of x(t) if it is displaying any periodic properties. when you Google AMDF (the more common acronym) all by itself, you have to get to the 2nd Google page to see any real hits. so Google AMDF along with "pitch detection" and then you can see what the acronym is about. Googling ASDF along with "pitch detection" results in far fewer hits, even though i think that squaring is more tractable mathematically than the magnitude function. if the window function is wide enough, you can relate the ASDF to auto-correlation. the autocorrelation will hit a max when the ASDF hits a minimum. there's a paper at http://www.electronics.dit.ie/staff/ aschwarzbacher/research/ICSL2002.pdf that i am looking at. might be good. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
Reply by robert bristow-johnson April 20, 20052005-04-20
in article 1114003551.544271.15350@l41g2000cwc.googlegroups.com, Peter K. at
p.kootsookos@iolfree.ie wrote on 04/20/2005 09:25:

> Randy Yates wrote: > >> What is ASDF? I think you mean "AMDF" and not "ADMF". I found AMDF >> is "average mean distance function," but also "American Macular >> Degeneration Foundation. > > A,S,D, and F are the first four left-hand letters of the middle row of > the letters on the keyboard. :-)
here's a continuous-time version of it: +inf AMDF(Tau, t0) = integral{ |x(t-Tau) - x(t+Tau)| w(t-t0) dt} -inf +inf ASDF(Tau, t0) = integral{ (x(t-Tau) - x(t+Tau))^2 w(t-t0) dt} -inf where w(t-t0) is a window function centered about t0 (that makes the integral non-infinite). implementing this in discrete-time is another issue. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
Reply by ben April 20, 20052005-04-20
In article <xxpvf6hd2ok.fsf@usrts005.corpusers.net>, Randy Yates
<randy.yates@sonyericsson.com> wrote:

> ben <x@x.x> writes:
> > it's actually comb filters i'm asking about not ADMF & ASDF i now
> What is ASDF? I think you mean "AMDF" and not "ADMF". I found AMDF is "average > mean distance function," but also "American Macular Degeneration Foundation.
Average Magnitude (or Squared) Difference Function (AMDF or ASDF)
Reply by Peter K. April 20, 20052005-04-20
Randy Yates wrote:

> What is ASDF? I think you mean "AMDF" and not "ADMF". I found AMDF > is "average mean distance function," but also "American Macular > Degeneration Foundation.
A,S,D, and F are the first four left-hand letters of the middle row of the letters on the keyboard. :-) Ciao, Peter K.
Reply by April 20, 20052005-04-20
ben <x@x.x> writes:

> hello Alex, > > it's actually comb filters i'm asking about not ADMF & ASDF i now
What is ASDF? I think you mean "AMDF" and not "ADMF". I found AMDF is "average mean distance function," but also "American Macular Degeneration Foundation. -- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124
Reply by ben April 20, 20052005-04-20

hello Alex,

it's actually comb filters i'm asking about not ADMF & ASDF i now
realise -- very sorry about that confusion. also it's raw frequency
extraction, not pitch detection i'm asking about -- again sorry about
that confusion.

In article <1113997108.134296.51030@g14g2000cwa.googlegroups.com>,
<"mail@alex-nagel.de"> wrote:

> >comb filters and > fft's can and do give much the same results (ignoring efficiency)? > > Not quite right. A Fourier transform transforms a given signal from > time domain to frequency domain, so what you get is just another > representation of that same signal, not showing you its behaviour over > time but its frequency spectrum at a specific time (or over a specific > period of time).
right so so you can use that to find out what frequencies occur in a piece of sound. ok. also, alternatively, you can use comb filters to tell you what frequencies occur in a piece of sound (i think -- please correct me if i'm wrong). and my question is, what's the difference between going those two different routes? will they give much the same results or not? (and this is just regarding going from time domain sound data to frequency domain data, one way, and nothing else). thanks, ben.