The TesslaSE Remake

There were so many requests to revive the old and rusty TesslaSE which I’ve once moved already into the legacy folder. In this article I’m going to talk a little bit about the history of the plugin and its upcoming remake.

The original TesslaSE audio plugin was one of my first DSP designs aiming at a convincing analog signal path emulation and it was created already 15 years ago! In its release info it stated to “model pleasant sounding ‘electric effects’ coming from transformer coupled tube circuits in a digital controlled fashion” which basically refers to adding harmonic content and some subtle saturation as well as spatial effects to the incoming audio. In contrast to static waveshaping approaches quite common to that time, those effects were already inherently frequency dependent and managed within a mid/side matrix underneath.

(Later on, this approach emerged into a true stateful saturation framework capable of modeling not only memoryless circuits and the TesslaPro version took advantage of audio transient management as well.)

This design was also utilized to supress unwanted aliasing artifacts since flawless oversampling was still computational expensive to that time. And offering zero latency on top, TesslaSE always had a clear focus on being applied over the entire mixing stage, providing all those analog signal path subtleties here and there. All later revisions also sticked to the very same concept.

With the 2021 remake, TesslaSE mkII won’t change that as well but just polishing whats already there. The internal gainstaging has been reworked so that everything appears gain compensated to the outside and is dead-easy to operate within a slick, modernized user interface. Also the transformer/tube cicuit modeling got some updates now to appear more detailed and vibrant, while all non-linear algorithms got oversampled for additional aliasing supression.

On my very own, I really enjoy the elegant sound of the update now!

TesslaSE mkII will be released by end of November for PC/VST under a freeware license.

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.

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…]