Envelope Following


    Feb 06 2007 | 5:26 am
    Since i've seen this topic a million times discussed on this forum and I've been overcome with the urge to discuss it... here it is.
    There are so many different ways to create envelope followers in MSP. Slide, rampsmooth, vectral, deltaclip, low pass filters etc. Now I want to here what people have to comment on the affectiveness of using each for a particular application. One thing I've been working on some time is envelope following percusive signals. This requires a signal network that is quick to react to rising signals and slow to decay... the problems I have is trying to get a smooth evelope signal with few discontinuities since a short attack time equates to sudden increases in the envelope when it is decaying. Trying to use a low pass filter to get rid of these bumps ends up affecting the response time... etc. Anywho comments suggestions... would greatly be appreciated.

    • Feb 06 2007 | 11:20 am
      Hi,
      For detection of percussive sounds, you might put the RMS values into a
      bucket object and make a test with multiple conditions in the if object on
      several past values.
      One thing I did successfully was to detect that there is a maximum by
      checking that the last value was lower than the previous one, itself higher
      than the previous one, itself higher than the previous one, etc. It is your
      choice and tweaking to define how many previous values you take into
      account, depending on the nature of the percussive signal and on the vector
      size.
      There is an added latency for waiting one vector after the maximum to make
      sure it was a maximum, but if vector size is small, it is not a problem.
      And, at least, you are measuring the real maximum level of the impact.
      Additional test conditions on absolute and relative thresholds condition
      prevent false triggering.
      Best,
      Todor
      >
      > Since i've seen this topic a million times discussed on this forum and I've
      > been overcome with the urge to discuss it... here it is.
      >
      > There are so many different ways to create envelope followers in MSP. Slide,
      > rampsmooth, vectral, deltaclip, low pass filters etc. Now I want to here what
      > people have to comment on the affectiveness of using each for a particular
      > application. One thing I've been working on some time is envelope following
      > percusive signals. This requires a signal network that is quick to react to
      > rising signals and slow to decay... the problems I have is trying to get a
      > smooth evelope signal with few discontinuities since a short attack time
      > equates to sudden increases in the envelope when it is decaying. Trying to
      > use a low pass filter to get rid of these bumps ends up affecting the response
      > time... etc. Anywho comments suggestions... would greatly be appreciated.
      >
      >
      >
    • Feb 06 2007 | 11:31 am
      Quote: Tyler Nitsch wrote on Mon, 05 February 2007 22:26
      ----------------------------------------------------
      > There are so many different ways to create envelope followers in MSP. Slide, rampsmooth, vectral, deltaclip, low pass filters etc. ----------------------------------------------------
      i like slide, and rampsmooth especially if you want to smooth out the decay more than the attack - they have independent smooth values, which (IMO) is very useful for percussive sounds.
      j
    • Feb 06 2007 | 1:27 pm
    • Feb 07 2007 | 10:02 pm
      This compressor should be easy to adapt to act like an envelope follower. It uses rampsmooth.
      Cheers,
      Mattijs