KRETS First Look

27/06/2020

KRETS is a new VST and AudioUnit from Klevgrand, but unlike a conventional plugin KRETS is a "Modular audio environment" which allows you to prototype and build your own effects from low level DSP functions.

Intro

Some time ago Klevgrand released the alpha version of their KRETS VST and AudioUnit, and I wanted to find out if it would be a useful tool for my own development workflow. This won't be an extensive review (KRETS is still being developed after all) but just a some thoughts and tips for anyone that might be interested in getting started.

KRETS is currently available to download for free at https://klevgrand.se/krets, and I would really recommend having a look through some of the documentation and examples they have there.

First Impressions

KRETS is opened from your DAW just like any other plugin, and presents a fairly clean UI that drops you straight into the "canvas" where you'll be designing your effects. It comes pre-populated with stereo inputs and outputs, as well as 8 macro like controls which are accessible from the DAW and can be mapped to various parameters in your algorithm.

One of the more interesting features is that from the top left menu you can not only save and recall your own patches, but share them online and download other patches that have been shared.



Adding a module is quick and easy using a menu accessed from a right click. There you'll find all the basic math operations, audio splitters and mergers, plus a few simple pre-built effects such as filters and distortions to get you started.

There are also a few visualisation tools, which will be very useful for debugging.



Quick Demo

One of first patches that I tried to build was a fairly simple envelope modulated distortion. This required a few basic parts, so lets look at recreating it.

KRETS provides it's own envelope follower module, but lets try making our own to see how some of the math and DSP operations work.

The envelope follower will be a simple design that works by squaring the input, passing it through a lowpass filter, then taking the square root of that. The signal created by this process will then be used to modulate the gain parameter of a distortion. The effect of this will be that as the input audio signal gets louder, more distortion is applied.

Just a quick note before we get started, KRETS currently only appears to support stereo input and output, so depending on your DAW it might not appear in the plugin list on mono tracks.

The first thing to do is split the audio signal so that we have one signal to process and send to output, and another to drive our envelope follower. Then we can add the "power of" module which we'll use to square the signal.



Now we'll add the low pass filter, using the "User Value" modules to set the cutoff and Q to 1000 and 0.5 respectively.



For the final part of the envelope follower we need to square root the signal, but to make sure everything is working we'll connect it to a "Value Monitor" module which will display the output visually.

Note that the output of this module needs to be connected to something for it to start working, so we connect it to the "Null Output".



After looking at the value monitor I've decided I'd like to increase the range of values being output by the envelope follower, so we'll use the "Multiply" module to increase the signal by a factor of 5.

Then for the last step we can add the "Tube Saturation" module, connecting its input to the signal that we split earlier, and connecting the envelope follower to the gain parameter.



This process should then be repeated for the right channel, to give a stereo effect with independent distortion modules for each channel (Note that you can copy a module by clicking and dragging on the module while holding the option key on macOS, I'm guessing alt on Windows).

Conclusion

There are a few areas of usability that I think could be improved, for example I couldn't seem to find a way to select/move/copy multiple modules simultaneously, but from some of the discussion on the forums (https://klevgrand.se/kretsforum/) this and many other improvements are in progress.

In general I've found that KRETS is really easy to get started with and could be a nice tool for experienced developers looking for new ways to prototype designs, but also an accessible entry point for anyone that has used existing audio plugins and wondered what it would be like to create some effects of their own.

Since KRETS is still early in development it should be very interesting to see how it develops and to see what Klevgrand has planned for it in the future.