major mkIII update for Density bus compressor released

[Read more…]

announcing Density mkIII – providing depth and dimension, mastering grade

As hinted earlier in a facebook post, the TesslaPRO update will be delayed and probably released after the summer break – it is just not there yet. Instead, a major update for the Density compressor plug-in already made it and it will going to see the light somewhere later this month.

So, lets talk about the Density mkIII update. During the last two years or so I’ve received quite a lot of feedback to the Density mkII release – mostly coming from mastering engineers – on how to improve its dynamic response towards todays mastering needs. Some very early efforts did not made it but with the learnings from the ThrillseekerLA compressor design and the emerging stateful saturation approach everything was possible, all of a sudden. [Read more…]

efficient tanh computation using Lambert’s continued fraction

Lambert's continued fraction for tanh(x)

The key for efficient implementations of rather complex functions such as the trigonometric ones is first to understand how much precision actually is needed (and in which range) and then choosing the proper math which approximates this goal the best. Instead of the go-to Taylor series approximations I’m showing a continued fraction series expansion for the tanh function as an example here. In addition some special cases and outlook are presented as well.

A complete and precise tanh computation as provided by some math libraries is computationally very, very expensive and in DSP land this is typically avoided whenever it’s possible. In my current example I was in need of a fast computation method but one which should also gives an absolute precise transfer curve and harmonic content match even if driven at around +12dBFS. [Read more…]

compressor, gate and expander

Some might get confused sometimes when compressor, expander and gate are discussed and especially when concepts like “upward”, “downward”, “parallel” or such-like are thrown in. Fortunately, things can easily be explained just by looking at the according transfer curves and as an added sugar some more sophisticated insights can be obtained es well.

typical downward compression curve

[Read more…]

those sexy curves again

proportional EQ curves

proportional EQ curves

What constitutes those smooth sounding equalizers some are raving all about? In fact the answer is pretty much simple but maybe disenchanting to someone else: It’s in the equalizers transfer curve and (almost) nothing else. That equalizer transfer curve determines the actual frequency and phase response and generally speaking, in an analog filter model the frequency response implies the according phase response (and vice versa). In the digital domain this holds not true in general as shown by linear phase filter implementations. Additional effects like the actual transient response or additionally generated harmonics are then the icing on top (if desired) but may appear quite subtle or even negligible if we just look into rather transparent devices. [Read more…]

towards stateful saturation

the static waveshaper y = tanh(x)

Still today, most developers are sticking to static waveshaping algorithms when it comes down to digital saturation implementations. This wasn’t very convincing to me from the very beginning and in fact it was one of the motivations why I’ve started my own audio effect developments – to come a little bit closer to what I thought what saturation and non-linearity in general is all about.

And so the Rescue audio plug-in was born in summer 2007 and was already an approach to relate audio transient events to the signal saturation itself. Not that much later TesslaSE appeared which was a different exercise leaning towards a frequency dependent non-linearity implementation coupled in a feedback structure. I still really love this plug-in and how it sounds and prefer it over much more sophisticated designs even today in quite some cases. Following, the pre-amp stage in BootEQmkII then focused on “transformer style” low-end weirdness and did feature oversampling on the non-linear sections of the device. A really great combination with the EQ – smooth and very musical sounding. The TesslaPRO thingy sums up all this and puts it into one neat little device with an easy to use “few knob” interface. Don’t let you fool by this simplistic (but so beautiful) design: It already features everything which makes a saturator to stand out from the crowd today: transient awareness, frequency dependency, dedicated low-end treatments. Sound-wise this results in a way smoother saturation experience and a better stereo imaging en passant.

With FerricTDS not only the notion of  subtle frequency dependent compression got extended to a core saturator algorithm. Since revision 1.5 I’ve ditched the oversampling based core and included a version which premiered the notion of memory into the non-linearity which transforms it from a stateless into a stateful algorithm. One could basically see this as a system which reacts different on the very same actual input signal depending on the recent history of events (on a very microscopical level). The input stage algorithms which I’ve included in NastyVCS and NastyDLA (both are actually the same) are a cpu and feature wise stripped down version of that to have the basic sound of it already as an option when mixing the tracks and its according fx.

Quite recently, I’ve started to look into implicit stateful models where memory is not applied from the outside of the algorithm but the algorithm itself contains a sort of memory. As an example, I’ve implemented a stateful version of the well-known tanh() function so that it is aware of recently occurred events but provides the very same harmonic structure compared to the original. Given some analyzer plots it even shows the very same transfer curve but in fact it does not limit strictly anymore but allows some minor overshots of some peak signals. Interestingly, the sound appears a little bit brighter (without letting you see that through the analyzer plot) and the low-end appears not to be that hard “brickwalled” but a little bit smoother. Lets be assured that I’m going to follow this path and then lets see where this will lead to in 2011.

NastyVCS – I can has dynamics

NastyVCS - compression controlThe upcoming NastyVCS virtual console strip VST plug-in will feature three pristine and complementary tools to shape the audio dynamics. This allows a vast variety of different dynamic treatments and here is a very first and brief overview: [Read more…]

the beauty of opto-electrical compression

PhotoresistorOpposed to VCA, Variable-Mu or FET based approaches, opto-electrical compression takes advantage of using a light-sensitive resistor and a small light emitter (a LED or electroluminescent panel) to obtain a gain reduction voltage in the sidechain path. This technique is well-known to add some smoother gain riding characteristics to the signal because of the specific attack and release response which comes from the inertia and inherent memory effect of the photoresistor element. [Read more…]

applying saturation through the sidechain

This short article gives a brief introduction on applying waveshaping algorithms not directly in the audio path but via a transformed equation through the sidechain and a VCA instead.

Typical saturation curves

Typical saturation curves

[Read more…]

Density mkII – reworking the audio engine

While working on the Density overall re-design I was working extensively on the audio engine as well but just for one single reason: The one thing I was missing in the original design was to have some more “responsive” gain riding possibilities but without the usual tradeoff of introducing more distortion or compromising the transparency. And (unsurprisingly) that turned out to be not that easy.

Developers friend: the oscilloscope

Developers friend: the oscilloscope

[Read more…]