Sunday 24 January 2016

Generating audio soundscapes...

A few weeks back, I revisited my old Reaktor workspace and started reworking some of the ideas in there for M4L. Here's the second output from that project...


Saw4Generator_Dark is a sound generator with preset memories. It does not respond to MIDI inputs - it just sits there and makes noises continually...

The basic idea is very simple. There are two sections: a sound generator that produces the raw sounds; and a mix processor that controls how those sounds are formed into a stereo sound stage. Both sections have manual controls that can be tweaked, as well as LFOs that allow some changes to be made cyclically over time (although this version does not allow the sound generator modulation settings to be controlled by LFOs, which is something for a future version)


The sound generator section starts with a sawtooth wave oscillator with and and LFO to modulate the pitch and the output is frequency modulated by another similar oscillator, which is modulated by another similar oscillator, and another one on top of that... The result is a simple FM vertical arrangement that is often referred to as a 'stack'. There are a lot of controls!

The mix processor is a flexible output stage with even more controls! The output allows mixing of four deliberately-harmonically-diverse outputs: the final oscillator itself ('Saw'), the ring modulated output of the third and final oscillators ('Ring'), the output of the third oscillator 'sample & hold' processed by the final oscillator ('S&H'), and the output of the second oscillator 'sample & hold' processed by the final oscillator ('H&S'). In other words there are four separate outputs, each with its own unique harmonic content. The output stage has LFO modulation of the mixing, plus LFO panning as well.

There's a lot of power here to control the sound, and a lot of LFOs providing the bulk of that automation. As always with LFOs (and often with VCOs, and especially with digital versions of these building blocks...), the 'never the same twice' rule applies - so don't set all the LFOs to the same rate or the same modulation, instead go for values that won't 'collide' too frequently: ratios that are prime numbers are good. Here's why:

If you think about two LFO were one is twice the speed (rate) of the other, then they will 'collide' or repeat (have the same values at the same time) every cycle of the slowest LFO. In the diagram I've simplified the LFO to show only two output states (0 and 1):

01010101010101  (rate = 1)
00110011001100  (rate = 1/2)
^   ^   ^   ^   (the pattern repeats quickly) 

But if the rates (or the ratios between them) are prime numbers, then the collisions take much longer to happen:

00011100011100011100011100011100011  (rate = 1/3)
00000111110000011111000001111100000  (rate = 1/5)
^                             ^      
(the pattern repeats more slowly)

So by setting values like these:
0.01
0.02
0.03
0.04
You will get lots of places where the LFOs are in sync, and digital systems are pretty precise with timing for LFOs, and so you tend to get short repetitive patterns, which normally isn't what you want when you are controlling a complex sound generator...

Better values for getting long times between repeats would be more like:
0.03
0.05
0.07
0.11
Which takes quite a long time to repeat, and sounds a lot more complex when you hear the controlled output.

Getting Started

A good way to start with Saw4GeneratorDark is to turn all the controls to the leftmost minimum position, and then to select the Saw button, adjust the volume to your preference, and choose the pitch you want in Oscillator 4 (there's just a Pitch control there, so it is easy to find! You will also find the 'preset' store buttons here. 'Shift & Click' to store, Just Click to recall. Saving this 'All leftmost' preset is a good place to start again when you get lost).

Using just one oscillator is a good way to learn the output options: LFO modulation of volume, plus LFO panning. Once you have gt your head around the controls (some ping-pong echo is very often applied to the output of this type of generator...) then there is the LFO modulation of the pitch of the oscillator to try out. Saving a simple sound like this is often a good starting point for further exploration.

When you are comfortable with all of that then you can try moving to the left and try exploring the pitch and modulation controls for Oscillator 3, then the LFO pitch modulation for that oscillator, and so on to the leftmost Oscillator. Because Oscillator 1 is at the top of a stack of FM then it can cause big changes to the oscillators underneath it, so be cautious at first with the pitch and modulation controls. If everything gets too much, then just go back to the 'all leftmost' and start again from Oscillator 3.

Further processing

The screenshot above shows one possible chain of audio processing that you can add after Saw4GeneratorDark. A 'Saturator' is used in the 'wave shaper' mode, followed by an 'Auto Filter' set so that a resonant filter peak scans across the frequency spectrum, then a limiter to avoid problems with a peaky filter on the resulting rich audio material, and then the ubiquitous 'Ping-Pong Delay'.


The thinking behind this type of audio processing chain is straightforward: generate a harmonically-rich sound source, and then dynamically filter it down into a simpler sound. The Saw4GeneratorDark output already has a lot of harmonic content, and so the Saturator doesn't need very much drive in order to get a lot of frequencies, but it can be useful for a little bit of thickening or 'colouring' of the output. The low-pass peaky filter lets some low frequencies through, and so tends to give a stronger sound, but try using a peaky band-pass (or high-pass) and see the difference that it makes to the sound landscape that is produced. You can replace the simple Limiter with a Multiband Compressor if you want more control over the output frequencies, but you might think that there are already enough controls! The final Ping Pong Delay just pushes things together, and could be replaced (or augmented) with some Reverb.

This is just one possible chain of post-generator processing. There are many more possibilities to play with, and when combined with Saw4GeneratorDark, you can create a wide variety of unusual soundscapes. There's a lot to explore in Saw4Generator, and a lot of sounds waiting to be created. Recording the output and processing it further is thoroughly encouraged!

(As always, this is a work in progress, so it may not be perfect, and early versions tend not to have very much help on controls included in the M4L. Please feel free to report bugs via the comments, and I will try to fix them when I can find time.)

No comments:

Post a Comment