Thursday, 6 November 2014

Sound Design Toolbox Part 3: Random Slice Container

This is my favourite of the toolbox players so far. As the name suggests, instead of playing complete sounds from start to finish the container plays a slice from a random point in the file. Further controls can randomly adjust pitch and the length of slice played along with a few other options. What excites me about this device is how useful it is for creating a non-linear or generative system for aiding the design process. In short: designing the system to design the sound rather than designing the sound itself.

This patch is based on an old idea I started to develop a few years ago - a machine which would take a bunch of sounds and combine them together in new ways. I got quite far with its development, then Twisted Tools released the S-Layer instrument that was basically the device I was working on, finished and better than anything I thought I could make! Looking back, this wasn’t really a good reason to stop, but I ended up working on other projects and that all got stuffed in the ‘half finished things’ folder. Thinking again about the concept now though, I can see new life for the idea if it is part of a modular system. So instead of creating a finished device I’m now aiming for small modules that can be strung together by the user to create more complex architectures.

In its basic state, the patch implements one of the most simple sound design techniques of them all: combining more than one sound to create a new sound. This is still the most fundamental process we have, and it is still often a manual process: loading up a DAW, browsing libraries, combining sound on multiple tracks, making adjustments in pitch, position etc. Because of their complexity, some sounds require more layers and the process can become very time consuming. This tool comes in useful is when you have many sounds to combine but there is no specific combination necessary, so it works well for abstract sounds or layers such as impacts or sweeteners.

The patch itself is delightfully simple to use:

1.     Drop a folder of sounds into it.

2.     Set polyphony to whatever seems sensible

3.     Choose envelope shape

4.     Set slice size parameters

5.     Set pitch variation and reverse chance

6.     Trigger with a bang in the left inlet or trigger with Uzi to fire off combinations of multiple sounds

Here are the patches:

Random Slice Container 0.9

Polyphony is set on the dial at a maximum of 64, but this can be changed in the patch itself if you need more voices. Polybuffer~ is at the heart of this patch, I’m finding it such a useful object for sample based work like this. The patch itself is fairly well annotated so it should be fairly easy to understand what is happening.

To give you a flavour of how I’m using this I've put together some example sounds thrown together very quickly during the testing phase. I tend to find some settings I like, set the patch running with a metro and then record out a string of those sounds. 

Please let me know if you have any problems or suggestions, these patches are still a work in progress and are likely to change before I call them finished.

These patches are licensed under: 

This license lets others remix, tweak, and build upon your work non-commercially, as long as they credit you and license their new creations under the identical terms.

1 comment:

  1. hi mark, i have some trouble running your patch with max 6.1.9.
    just put a dac~ object at the output of your random-slice-bpatcher. load a folder of sndfiles, hit trigger: no output.
    change some parameters values, hit trigger. still no output.

    max window says: no buffer~ nope.

    looked into the patcher. how do you get the envelope (from the function obj) to the poly object?
    via scriptingname?
    thanks, johannes