quality transient analysis


    Mar 12 2006 | 12:34 am
    END GOAL-------------------------------------------------
    A program which takes a soundfile.wav, and produces a soundfile.xml
    in the same directory. the xml file would have tons of useful
    metadata just waiting to be indexed and searched.
    WHATS WRONG----------------------------------------------
    it seems my detecting of transients and pitches are wavering around
    in terms of latency. (15-40 ms) I'm using bonk~ and analyzer~. but I
    can't measure the latency. Also, if my attack happens to be at time
    zero bonk~ doesn't see it.
    I'm hoping to generate protools' beat detective quality
    information. maybe this project is over my head.... sob....
    Can any know-it-alls advise me on generating quality transient maps?
    (in or out of realtime) vector sizes? window shapes? magic objects?
    -matt
    this is an example of how I'm trying it now.

    • Mar 12 2006 | 2:29 pm
    • Mar 12 2006 | 4:50 pm
      wow this is so helpful and I am so silly for not seeing it. bonk~
      uses FFT as well.
      maybe what I'll do is use the fft objects for quantity and
      approximate positions of attacks, then focus on those areas and look
      for attacks in the time domain.
      Nonlinearity rocks!
      I'll post an example if I get it.
      -matt
      . . . . . . . . . . . .
      Http://www.EstateSound.com
      Http://ideasforstuff.blogspot.com
      . . . . . . . . . . . .
    • Mar 12 2006 | 7:01 pm
      If you're doing off-line analysis, you could use a delay~ equal to the
      FFT size (or possibly 2X to account for overlap?)
      For quick and dirty approaches, you might try an envelope follower on a
      highpass filter. (and looking at thresholds on that)
      You also might get something out of zerox~ in combination with an
      envelope follower. (multiply the output of the env follower by the
      zerox~ sig?) That way it ignores the high values produced by zerox~
      produced when nobody is playing.
      Peter McCulloch