Tuesday, 30 August 2016

Audio environments from frozen spectral grains...

Atmospheric sounds

You hear them all the time, but mostly they slip under the radar. Environmental sounds are the background 'atmosphere' that pervades spaceships, control rooms, power stations, busy offices, streets, and everywhere else. The classic 'bridge sound' from the original Star Trek is a perfect example: if you hear a few seconds of it you know exactly what it is, and yet most of the time you aren't are of it. Like a lot of audio that underpins moving pictures, your eyes are distracted, and the sound plays a strong supporting role. But remove the sound, and suddenly the pictures aren't as compelling or interesting.

Music uses background sounds too. On stage, the atmosphere built up by the right sound gradually rising from subliminal to noticeable can make the reveal of the musicians all the more an event. Staging isn't just lights... And during a set, the right background sounds can control mood as well as provide links between songs.

Crafting atmospheric sounds requires a lot of knowledge about the way that sounds work on people. It also eats up source material, which is why making background sounds is a challenge, and it explains why some of the most popular plug-in downloads aren't what you might expect. 'Sound Generators' are a key part of the tools that creators use, along with the audio editing software and sound effects library that you were probably expecting.

Grainy spectrums

Granular synthesis is very popular at the moment, and there are a lot of software instruments that are devoted to producing sounds using little fragments of sound. But creating frozen spectrum grabs is only part of the solution, mainly because freezing a sound produces a static spectrum, and that quickly gets boring. Just as movement makes movies engaging, evolution makes sounds interesting. Recently, I've been looking at various ways of capturing spectral fragments, and I've struggled to turn them into something that I can use.

So, my latest Max For Live plug-in for Ableton Live is specially designed to turn audio fragments into atmospheric background sounds. It is a sound generator based on grains instead of the longer samples (or FM or feedback algorithms) that are often used. gFreez_mr allows the capture and playback of four separate grains of frozen spectra, and then uses a four-phase LFO and LFO-controlled panning to animate those four components into a constantly shifting atmospheric sound. gFreez_mr is particularly good for synthetic, electronic sounds, and it has a number of functions that are specifically designed for live use.

First things first - you need to be able to play the audio samples in Live, and Simpler is perfect for this, although you can use Sampler and any other sample player you like. gFreez_mr is an audio effect, and so goes after the sample player:

gFreez_mr has four horizontal 'slots' for the grains, and those empty boxes on the left hand side are where these will appear. The first thing to do is to set the 'Dry/Wet' mix control to slightly dry, and the 'button underneath it to 'Input' instead of 'Mute'. This button routes the input of gFreez_mr to the output so that it can be heard whilst the grains are being captured (the 'Mute' setting is used during playback). The top slot control buttons should also be set to 'On', so that the output of that slot is permanently audible. When you play a sound from Simpler (either via MIDI, or the virtual keyboard: A, W, S, E, D, F, etc.), then you should hear the sound in the output of the gFreez_mr effect. To actually capture the audio, you click on the 'GRAB' button on the far left. This will grab the spectrum of the sound (in stereo) and you should hear this as the output of the effect, and the spectrum will be shown in the slot:

The 'top slot control buttons should now be set to 'Mute' so that the sound is no longer heard, and the second slot should be set to 'On' and a new spectrum grain grabbed. When you have repeated this for all four slots then gFreez_mr will look like this:

Note that since we have now captured all of the four slots, then the 'Input/Mute' button on the far right has been set to 'Mute' so that we will no longer hear any audio from the sample player. The small row of buttons in the centre of the four slots affect all of the slots, and so clicking in the 'Mute' column will set all of the slots to muted, and so no audio will be heard at the output. You can also just click on the slot control button if you wish.

Playback

The easiest way to set all of the four slots playing at once is to use the small row of buttons in the centre again - this time in the 'LFO' column:

This sets gFreez_mr playing all of the slots, an you will se the four volume indicators in the centre right moving back and forth. The larger the block, the louder the volume, and the LFO has four phases, so each slot fades in and out in order. The 'Fade Time' rotary control sets the rate of the LFO, and because the actual time for a complete cycle is important in this type of sound generator, then the time for a cycle is indicated in large numbers - '34 seconds' in the screenshots here.

As well as smoothly fading each slot in and out in sequence, there are pan controls for each slot. The rate controls the rate of auto pan of the left and right channels of the stereo spectrum grains. The 'phase' controls alter the relative phase of the panning LFO for the two stereo channels - so hen they are the same, then you get conventional panning of the stereo grains, but if you set them to '180' degrees apart, then the two channels will be panning in anti-phase, and you will hear the two channels separately (assuming the spectra are different enough!). Setting the pan controls can make the output sound animated and interesting, and can helps to hide the repeats of the main 4-phase LFO cycle. If you set the pan rate to zero, then there is no panning...

Live updating

As an additional way to hide the repetitions, you can update the slots whilst gFreez_mr is playing. The process is as follows:

1. Wait for the volume block in your chosen slot to drop to zero, then 'Mute' that slot. You can now 'Grab' a new spectrum, although you won't be able to hear it because the 'Input/Mute' button will be set to 'Mute' to prevent this. (You can always set the 'Input/Mute' switch to 'Input' so you can hear it, but your audience will hear it too!) I tend to go by the spectrum display when I'm doing this live updating, and you should quickly get the hang of assessing kind of what a grain will sound like based on the spectrum.
2. Play the sound you want to grab, and click on the 'GRAB' button. The spectrum display will update with the new grain. (If you don't like th look of th spectrum, then just grab the spectrum of another sound by repeating this step!)
3. Wait for the volume block for that slot to get to zero again, and quickly click on the 'LFO' button. The new slot will then be included in the new cycle.

This process isn't as tricky as it might sound, and it enables much longer sounds to be generated live.

Sounds

Remember that gFreez_mr does not capture samples - it captures the spectrum of a very short piece of audio: a grain. So the sound that you hear from each slot is that spectrum turned back into sound - a very simple resynthesis process. This type of sound generation has limitations, and there is a distinctive character to the sounds, but there is a pretty wide variation of timbres, and mixing in real samples can provide additional variation in an audio editor.

This first version of gFreez_mr does not save the spectral grains, and so it is intended for live use. Future versions may add additional functionality, of course. Anyway, have fun with this first version, available as usual from MaxForLive.com.