Why is transient shaping a black-art ?

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

urosh wrote:
mystran wrote:My question was actually something like this: is there any way to perform bandlimiting of nonlinear filter with out going down the oversampling road?
In general? I don't know. Nonlinear filters can behave very differently, so it's hard to guess anything about them in general ;)



I don't know about any revolutionary "trick" to avoid the generation of harmonics in the square(), abs() or max() rectification stage. IMHO you can't avoid them.

But the branch related harmonics/aliasing can be avoided/reduced with the methods mentioned below:

- One thing always works: Band-limit the input signal. But this may reduce the precision of the detector and effectiveness of your application.

- For A/R detectors, you can smooth the attack/release transition by moving the branch out of the actual detection signal and use two filters instead, where one controls the "cutoff" freq of the other to create a smooth A/R transition.

- It's often possible to simply avoid the A/R branch completely and use a one stage detector instead (which means the filter stage becomes fully linear).

- Non-causal/Look-ahead techniques can also improve the situation for specific type of signals and can most of all keep the phase information intact(moving averages, FIR filters, Hilbert detector, median, windowed max, ect). Further on, the step response can be controlled in a wider range.

But it isn't easy to avoid or smooth branch "corners" in the latter context.
Fabien from Tokyo Dawn Records

Check out my audio processors over at the Tokyo Dawn Labs!

Post

Wolfen666 wrote:I liked the name of this thread :hihi:
Thanks :wink:

Inanyway, I tested the 2x Envelope detector thing a long long time ago - and if I remember correctly - the tuning of the detectors were very crutial -> a couple of milliseconds off and it wouldn't work - I broadly assume that it's a phase thing. A windowed max detector(small like 1ms) would be very interisting if then followed by the 2x envelope topology...

Andrew

Post

hi guys

with regards to transient designer or any other transient plugin that detects transients, how is transient detection be achieved in real time?

surely many samples of audio would have to be buffered to make a decision whether a transient is occurring?

How can this be achieved in real time without affecting audio quality?

cheers
james

Post

jamesstokes wrote:hi guys

with regards to transient designer or any other transient plugin that detects transients, how is transient detection be achieved in real time?

surely many samples of audio would have to be buffered to make a decision whether a transient is occurring?

How can this be achieved in real time without affecting audio quality?

cheers
james
I believe a differentiator is used, and then passed into a gating function.

Post

hi

can you point me in the direction of where i can find more information on this differentiator and gating function for real time transient detection?

cheers
james

Post

jamesstokes wrote: with regards to transient designer or any other transient plugin that detects transients, how is transient detection be achieved in real time?
You read the first posts of this thread? :)

Theoretically, it's sufficient to know the current sample and the previous sample. As long x[-1] < x[0], you have a leading transient and a falling transient if x[0] > x[-1]. In the pure sense of the word, the transients happens at the transition between the leading and trailing phase.
Fabien from Tokyo Dawn Records

Check out my audio processors over at the Tokyo Dawn Labs!

Post

FabienTDR wrote:
jamesstokes wrote: with regards to transient designer or any other transient plugin that detects transients, how is transient detection be achieved in real time?
You read the first posts of this thread? :)

Theoretically, it's sufficient to know the current sample and the previous sample. As long x[-1] < x[0], you have a leading transient and a falling transient if x[0] > x[-1]. In the pure sense of the word, the transients happens at the transition between the leading and trailing phase.
That won't do you much good. You need two proper envelope followers, with different timing constants. Call one fast and other slow. You still want the fast one to be "smooth" as well though, so you don't end up following wave-shapes.

When you take the difference of the two, you get a general "trend" of where the envelope is going. If the fast one gives larger levels, the signal is increasing. If the slower one gives larger levels, then the signal is decreasing. The magnitude of the difference will the "strength of the trend" (not sure if that makes sense, but plot it and it should).

Apply the above to audio, and you should be able to build a basic transient shaper. Apply it to market history, and you could make elementary predictions of which stocks to buy/sell (search "differential moving averages"). As always, the devil would be in the details.

Post

Tired of rewriting page one of this thread, that's why latest explanation is as simple as possible... We already discussed all these details. PAGE one pls!
Fabien from Tokyo Dawn Records

Check out my audio processors over at the Tokyo Dawn Labs!

Post Reply

Return to “DSP and Plugin Development”