Delta Fucker - a different way to mess with transients

Please remember the terms of your membership agreement.

Moderators: valis, garyb

Post Reply
User avatar
kensuguro
Posts: 4434
Joined: Sun Jul 08, 2001 4:00 pm
Location: BPM 60 to somewhere around 150
Contact:

Delta Fucker - a different way to mess with transients

Post by kensuguro »

Delta Fucker is a transient shaping vst I made in synthedit. I initially wanted to make a slew rate limiter to see what it sounded like. Slew rate limiting is used for vinyl source material to make sure that amplitude difference doesn't cause the needle to jump off. Essentially, you're dealing with the amount of delta (change) in amplitude per any given unit of time. For my vst, it's between sample to sample.

Once I was able to get the delta and decrease it, I tried increasing it. More transient can't really hurt can it. And then I tried scaling the amount applied by the delta, making it somewhat like a comp. (or something that deals with dynamics, anyway) Here's that it's good for:

1. Chill out the high end with out really cutting it out. It can do this very, VERY subtly.
2. Chill out transients that make your ears bleed, but leave everything else alone. Sometimes ear bleeding transients are good, but not all the fucking time.
3. FSU. Since this plugin fundamentally changes the way the waveform behaves, you can fuck shit up really bad, really quick.
4. Add extra snap to transients. More spicier, more sexier, more deadlier.

Examples:
A fairly punchy preset from Microtonic, DRY: https://s3.amazonaws.com/kensuguro.com. ... ck+dry.mp3
Decrease just transients https://s3.amazonaws.com/kensuguro.com. ... detect.mp3
Increase just transients, very subtle, but more snap https://s3.amazonaws.com/kensuguro.com. ... detect.mp3
Drop overall delta, and increase transients. Focuses the sound https://s3.amazonaws.com/kensuguro.com. ... pfloor.mp3
Drop overall delta to almost none, and increase transients. Kind of like a transient gate. https://s3.amazonaws.com/kensuguro.com. ... xtreme.mp3
(mp3 has a hard time recreating the snappy transients)

Terms:
Delta: refers to difference in amplitude between samples. A square wave has lots of delta. (90 degree angles, can't get steeper than that) Triangle has less.
Control signal: based on the amount of delta, controls the amount of boost or cut applied to delta.

Controls:
Detection Scope: control signal used to scale up/down delta
Output Scope: Green is dry signal, yellow is wet signal

Positive switch: up position means control signal is added to Floor. Down means control signal is subtracted from Floor.
Control signal section-
Shape: changes the "pointiness" of the detection signal. The delta amount is normalized and raised to an exponent. "Shape" is the exponent. Basically, more is tighter, less is looser.
Floor: base delta amount. 1 is dry (untouched). Any less will drop the base delta amount from which the control signal is added or subtracted
Amt: scales up/down how much control signal is applied. Same as the amt knob on an envelope
Slew: master delta amount. This value is applied as a constant, so if you want to ignore dynamic control signal, set Shape to 0, Floor to 1, Amt to 0 and just use this fader. 0~1 is less delta. 1 is dry. Above 1 is more. More than 2 usually breaks the output signal. (just lower back to 0 and it usually recovers)

Oversampling:
The two drop down menus (that say "Menu") control oversampling. It's a beta feature of synthedit so messing with it too much can cause a crash. Keep in mind that using oversampling will counter the effects of increasing delta (slew above 1), so if that's what you want, better to leave oversampling off and live with the aliasing.

Discussion:
It's hard to classify what category this fits in. The ability to detect transients and increase/decrease it makes it useful kind of like a comp. But instead of just increasing the volume of the transients (as a dynamics process would), I think it increases the harmonic content. But I'm not sure if it's actually creating new harmonics, or just pulling up/down existing ones like an eq. (then it's more like a dynamic eq) Theoretically, I think it should be generating harmonics if it's not there. I need to study this a bit more to understand what exactly is happening.

Currently, increasing Slew to beyond 2 will break the output. Synthedit just shuts off the output. And frankly, at the maximum Slew setting, the effect is evident, but subtle. In theory, I should be able to go beyond 2, although there may be significant degradation (distortion) of the signal. My guess is that synthedit's "voltage" type does something strange with values greater than +- 10 Volts, so ideally, I can use a different value that can handle larger values, and then convert it to voltage right before output. (figure out how to handle clipping at that point) So I want to revisit some time later to figure that out. As far as cutting down transients, I think it works as advertised.

Within synthedit, the best I can do is handle things sample by sample. I haven't figured out how to pass information between these cycles. But once I do, I want to explore using different detection methods, like RMS or weighted averaging so the delta detection isn't quite so sensitive. This affects when delta is above 1, since the per sample cycle causes the off shoots (too much delta causes the amplitude to end up higher than where it wants to be) to end up in a zig zag pattern, but generally ending up looking like the original waveform. The expected waveform should look totally different all together, (like a triangle morphing into a square) and I'm guessing increasing the detection unit time will allow the off shoots to have more effect since it won't get pulled back down right at the next sample.
Attachments
slewcontroldyn.zip
(2.11 MiB) Downloaded 90 times
dawman
Posts: 14368
Joined: Sun Jul 24, 2005 4:00 pm
Location: PROJECT WINDOW

Re: Delta Fucker - a different way to mess with transients

Post by dawman »

Are you planning on an x64 version..?
I'd love to be able to use this in Bidule but do not like bridging apps.
I think it's a great idea and takes another step or two out of a complicated workflow.

Thanks
David
Posts: 733
Joined: Wed Jan 09, 2002 4:00 pm
Location: Modular IV

Re: Delta Fucker - a different way to mess with transients

Post by David »

nice :)
Thank you
User avatar
kensuguro
Posts: 4434
Joined: Sun Jul 08, 2001 4:00 pm
Location: BPM 60 to somewhere around 150
Contact:

Re: Delta Fucker - a different way to mess with transients

Post by kensuguro »

synthedit has an alpha version of 64bit support so I'll see if I can export using that. It might be super buggy though.

btw, if anyone wants to do a scope verison, please feel free. the concept itself is very simple so I'm sure you can recreate it on any platform.
fra77x
Posts: 889
Joined: Tue Apr 17, 2001 4:00 pm

Re: Delta Fucker - a different way to mess with transients

Post by fra77x »

Can you post an image of the circuit?
Eanna
Posts: 616
Joined: Fri Dec 02, 2011 1:57 am
Location: Ireland

Re: Delta Fucker - a different way to mess with transients

Post by Eanna »

Hi Ken,

For me, the plugin stops emitting audio when Shape is over 3.75, when Amount is over 2.1, and when Slew is over 1.3.
The plugin emits a (very brief) noise burst (not loud - mostly high freq I'd guess), and in all three scenarios, the left-hand oscilloscope (what looks a bit like a Gain Reduction meter) paints a green horizontal line at -10 on the y-axis. The right-hand oscilloscope (must be the input monitor) continues to animate, but no sound passes thru.

Ableton 9.1, Win7 32-bit. Was playing a drum loop thru it, with not-so-hard transients.

Happy to try future builds of this...

Cheers, Eanna
Not because it is easy, but because it is hard...
User avatar
kensuguro
Posts: 4434
Joined: Sun Jul 08, 2001 4:00 pm
Location: BPM 60 to somewhere around 150
Contact:

Re: Delta Fucker - a different way to mess with transients

Post by kensuguro »

ya, that's a bug that I'm trying to work out. Something happens when internally the signal gets clipped, and the whole circuit stops working.

fra77x, I can post the equation I'm using. It's going to look like several lines of code, so it's not exactly a circuit, though I'm sure it can be represented as a circuit using atomic math parts.

like this:
delta = (u - curval); dir = x; out3 = dir; dscale= pow(z + y*dir * abs(delta/10), w); curval = curval + delta *dscale*v; out1 = curval; out2 = (dscale-1) * 10;
Post Reply