Overall: 7828 294
30-Day: 9945; 7-Day: 14908; Yesterday: 17460
FFT Randomizer is a JSFX script that does spectral randomization smoothly, both magnitude and phase, to shape audio randomly. It comes with similar settings as "cloud fractal noise" algorithms in imaging software (such as the layered cloud generation) but instead of generating images, you sculpt up the spectrum's both magnitude and phase with it. In effect, it's inspired by the Diamond-square algorithm, but it is not exactly the same, as it also allows you total control over each of the layers and obviously deals with sound, not images.
Be warned, this is a geeky and experimental effect, you will probably not understand it right away or find instant uses for it in your music. It's intended to design sounds or instruments and add some life to the basic noise types we're all used to, and shape up any sound you can think of randomly to make it more interesting. It's also an effect for perfectionists who like to fiddle around with sound in more bizarre ways.
This is not your conventional FFT randomizer/processor. Most of those FFT-based tools deal with FFT bins directly, for example by randomizing them all on each window, which doesn't have many uses in my opinion, because it's dependent on the window size for the underlying effects and limited to that "geometry". It uses mathematical models that are completely independent of the bins. The only time it affects the bins is at the end of the processing chain, when they are simply interpolated and smoothed based on the model calculated prior. Think of it as having a mathematical model that gets applied to pixels on an image with values between pixels interpolated — instead of randomizing each pixel itself, which is what standard and simple FFT tools would do. The latter is obviously worse, because its effect depends on the resolution of the image itself and is very limited in effect (it only makes high frequency noise!). As a result, the output on the sonogram can look like "clouds" if used on white noise input, but it works on any signal to shape it.
I strongly recommend that you use a Spectrogram/Sonogram to visualize what this effect does, best to start with white noise as input or while setting it up, and then replace it with the actual signal you wish to process. (for example I personally use Sonogram SG-1, an excellent and free Sonogram)
Since you're probably still confused about it and without having a video, follow the below two examples to get an idea of what it can do and start playing around with it.
And remember this is just one layer, try changing the layer from the drop-down menu and see the difference it makes (don't forget to also set that new layer's respective parameters, as all of the above are specific to each layer, except for Gain). Also remember that, while white noise is a good way to see and learn how this works, and even during designing the parameters and setting it up, the script can actually be used on any input! Please don't forget to turn Gain lower if you add multiple layers with more dB range, though.
Simple Example Showcase
Here's a very simplistic example of a nice evolving sound you can generate with it by just adjusting a few parameters:
Behold a nice atmospheric and evolving breathy texture! And so far we've only been demonstrating white noise as input, when in fact it can be used on any input. You can hear this example in the audio player. The same settings, but applied to an Octaved Supersaw can be heard in the second audio example.
There are way more things and parameters which won't be explained in this introduction. For more information, visit its dedicated page here. You can look at the comments below for a lengthy explanation if you are confused of its purpose, or read that "essay" on its page at the Closing Words & Another Example section. :)
Remember that you will need a JSFX processor that loads JSFX scripts to load it. ReaJS from ReaPlugs is free in VST format, while REAPER can also load JSFX natively. (technically I believe Cockos open-sourced the interpreter, so there could be more)
Please note that the mono mode does not work yet in ReaJS as of this time, until Cockos updates it to add fft_real, it will only work in REAPER. The stereo one works fine though so you can use it in any DAW with ReaJS, but will use more CPU, otherwise it is identical.
Lastly, because it is a fully open script with no obfuscation, feel free to take a look at it or even edit it, I tried to comment where I found necessary. Be WARNED, though, that I optimized the audio processing part for speed. If you find it unreadable in certain parts, it is not on purpose! Just a side-effect of the optimizations... Most of the math is, however, not commented, since it would take too long to explain and I'm not good at explaining math (I used Computer Algebra Software to devise it from ideas anyway).
Please log in to join the discussion
Submit: News, Plugins, Hosts & Apps | Advertise @ KVR | Developer Account | About KVR / Contact Us | Privacy Statement
© KVR Audio, Inc. 2000-2023