Forums > MaxMSP

Help with note transient sharpener…

June 13, 2011 | 4:55 pm

I am trying to come up with a utility that lets me extract bass lines
from songs. The plan is to use a filter to turn up the gain on lower
freqs and remove all the high end, then run it through ~fiddle.

Then problem is that turning up the bass removes the note definition.
I would like to have a way to sharpen the transients of the notes
so that fiddle can detect things better.

Can someone give me an idea as to how I would go about doing this?


June 13, 2011 | 10:22 pm

I would try using wave-shaping to introduce harmonic distortion to brighten the sound . If you use chebyshev polynomials to create the transfer function you’ll get a ‘clean’, non-arbitrary distortion. Use 1st order, or a blend of 1st and 2nd order.
I don’t know if there is an external to generate chebyshev polynomials, but if not it wouldn’t be hard to implement as a patch.
hth

T


June 13, 2011 | 10:22 pm

I would try using wave-shaping to introduce harmonic distortion to brighten the sound . If you use chebyshev polynomials to create the transfer function you’ll get a ‘clean’, non-arbitrary distortion. Use 1st order, or a blend of 1st and 2nd order.
I don’t know if there is an external to generate chebyshev polynomials, but if not it wouldn’t be hard to implement as a patch.
hth

T


June 13, 2011 | 10:27 pm

http://www.soundhack.com/externs.php – +chebyshev~


June 13, 2011 | 10:27 pm

http://www.soundhack.com/externs.php – +chebyshev~


June 13, 2011 | 11:25 pm

I don’t really need to brighten the sound, I am trying to give
the transients a steeper slope. In my mind that is some kind of
dynamic gain scaling.


June 13, 2011 | 11:25 pm

I don’t really need to brighten the sound, I am trying to give
the transients a steeper slope. In my mind that is some kind of
dynamic gain scaling.


June 14, 2011 | 1:39 pm

fiddle~ might not be the best choice for this task, because it looks at harmonics to find the best pitch candidate. Setting "npartials" to a really low number might give better results.

I would give a try with sigmund~ (which is puckette’s successor to fiddle~) instead, which also outputs sinusoidal tracking. Then simply pick the lowest (reasonable) sinusoidal.

If you want to sharpen your transients anyway (which is always a good thing to have ;) – the technique used by SPL’s Transient Designer is amazingly simply (and probably protected by patent).
There’s a short explanation with nice diagram’s in Transient Designer’s manual (google).

You need two envelope followers. One with a long attack time and the other with a short attack time. Subtract the slow envelope from the fast envelope and use this as your "dynamic gain". Voila !


June 14, 2011 | 1:39 pm

fiddle~ might not be the best choice for this task, because it looks at harmonics to find the best pitch candidate. Setting "npartials" to a really low number might give better results.

I would give a try with sigmund~ (which is puckette’s successor to fiddle~) instead, which also outputs sinusoidal tracking. Then simply pick the lowest (reasonable) sinusoidal.

If you want to sharpen your transients anyway (which is always a good thing to have ;) – the technique used by SPL’s Transient Designer is amazingly simply (and probably protected by patent).
There’s a short explanation with nice diagram’s in Transient Designer’s manual (google).

You need two envelope followers. One with a long attack time and the other with a short attack time. Subtract the slow envelope from the fast envelope and use this as your "dynamic gain". Voila !


Viewing 9 posts - 1 through 9 (of 9 total)