Tiny Orchestra — time-stretching to reveal hidden symphonies within sound

What happens if you take a sound and stretch it out so much, it stops resembling itself entirely? Tiny Orchestra uses five granular modules running in parallel to reveal the hidden worlds of sounds within sounds. A sample and hold counter moves very slowly through a frozen buffer shared by all of the granular modules, shifting the grains forward or backward, transforming the buffer into swelling crescendos and long, sonorous calls, or strange, clicking rhythms and alien trills (and sometimes both).

The key to the patch is the ability of a granular module to section its buffer into grains smaller than the total — creating micro-loops within a loop, essentially. So, as the counter moves forward or backward through the buffer (by slowly changing the position control), the grains reveal different parts of the frozen sound. As these grains get smaller and smaller, they pass through a liminal space (beginning at about 50 milliseconds) where the length of the looped audio is so short that they begin to oscillate and resemble a kind of wavetable. One second of sound — the length of a granular module buffer — can be expanded into…. well, a much longer sound, with hidden depths as the oscillations of audio we hear as something continuous are broken down into smaller elements.

This patch is really great for creating soundscapes from… almost anything. But the limit of the buffer does mean that more harmonically rich sounds (some of my best results have come from spoken word) can yield more dynamic responses — you don’t have a lot of time to work with, so recording a whole phrase, unless played very quickly, is tricky. If you’re looking for something that uses a slightly different method, but allows for much longer results, check out my patch Deep Time, which pairs a looper with a granular module to offset the pitch changes that occur with slowing down audio (https://patchstorage.com/deep-time-a-time-stretching-loop-patch/). It’s also not great for keeping the sense of the original audio intact — if you want to, say, slow speech but keep the words recognizable, Deep Time might be better for that as well.

I almost named the patch David the Gnome, by the way, but I thought the reference would be too obscure and confusing. But you David the Gnome fans out there know what’s up.

The patch passes audio in stereo. The frozen signal is summed to mono before a stereo image is created.

NOTE: In some save conditions, the patch can freeze ZOIA. Loading the patch causes a _lot_ of granular module controls to be modulated at the same time, which spikes the CPU. Once the patch is loaded, it should not cause ZOIA to freeze (but no absolute guarantees; granular modules are veeeeeery computationally dynamic). If ZOIA should freeze upon loading, you can unfreeze it by placing any module and then deleting it.



Left — this freezes the buffer. Once the buffer is frozen, you will see two changes: a UI button in the bottom right corner will turn from green to blue. (You can also use this button to freeze the buffer.) Also, a pixel will light up on the second row of the control page. It will move over time. This represents the buffer position at the moment.

Middle — this can be used to change the SPREAD position of the granular modules at any time (more on that below).

Control page:

Across the top row are five PITCH controls, one for each of the granular modules. The arrangement of the pitch controls also reflects the position of the granular module in the stereo field (i.e. leftmost pitch control affects the leftmost granular module). Using these controls, you can create fairly complex harmonies. Changing the pitch of the granular module also changes its speed, which can affect other parameters as well.

The row below this is a representation of the BUFFER POSITION (as mentioned in the stompswitch section). Pixels will light up to give a crude estimate of where the counter is within the buffer.

The next row covers how the buffer is scanned.

SCAN SPEED controls the rate of the sample and hold buffer (technically, it controls the size of the value being counted; if I count 1, 2, 3, my total grows slower than if I count by tens — 10, 20, 30 — at the same pace). It can go veeeeeeeeeeeeery slow, with low values. I’m not sure how slow. But I feel pretty confident it can stretch a one-second buffer into at least five minutes of scanning. At 1, the buffer should be scanned at approximately the same speed as the original audio.

You also have control over the direction the counter moves using radio buttons — FORWARD, BACKWARD and PENDULUM (swinging from forward to backward). A couple of notes: the pendulum mode is my preferred method, because sometimes the transitions from one end of the buffer to the other can be jarring, due to the dramatic changes in amplitude and timbre. The backward mode doesn’t reverse the audio — granular modules can’t do that — but it does reverse the direction the grains are placed in, essentially reversing the order rather than the sound.

There is a fourth button called FREEZE BUFFER, which will stop the counter. This sounds cool, but it honestly usually isn’t. But it does make it easier to use the…

MANUAL SCAN control, which allows you to scrub the buffer by hand. You have to turn on the manual scan option using the MANUAL SCAN ON button next to it. The control is bipolar — negative numbers will move backward from the current buffer position, while positive numbers will move forward. It can exceed the range of the buffer, which will result in silences or drones, depending on what is found at the extremes of the buffer.

You can also use the manual scan option while the buffer is moving. The pixel representation of buffer position will change according to the combination of the counter’s current position and the manual scan control.

The DENSITY control is bi-polar. At 1 and -1 the density of all buffers as at its maximum. But as you approach 0, the behavior is different with positive and negative values. With positive values, density affects the granular modules at the extremes more dramatically as it drops toward 0. The granular module centered in the stereo field will always maintain maximum density with positive values. With negative values, however, each granular module is affected to the same degree. Density gives you some degree of control over the fullness of the signal, so changes in it can introduce rhythm silences, as well as more dramatic changes in sound.

TEXTURE controls the amplitude envelope of the individual grains and can be used to soften the sound somewhat. Increases in texture will result in a drop in volume, so you may need to compensate with the wet level control.

The GRAIN SIZE control is probably the most crucial. As mentioned in the introduction, as grain sizes pass above and below 50 milliseconds, the grains begin to act differently. This point on the control is at ~.7. Above this, and the original audio is more pronounced, with grains representing snippets of it. At 1, the grain size is more or less consistent with the length of the buffer itself, and the patch should be far less effective. As you move below .7, however, the grains become small enough that they function as a kind of wavetable oscillator. You will also hear the pitch increase as the grains — now functionally oscillators — oscillate at higher frequencies (shorter times). Other artifacts will begin to affect the sound as well. There are whole worlds to be discovered here.

The SPREAD control determines the range of randomly distributed offsets to buffer posiion found in the panned voices (the granular module in the center position will always reflect the buffer position of the counter plus any manual scan applied, i.e. what’s represented by the pixels in the second row). These offsets are created each time a new buffer is frozen. At 0, there is no offsets, and the granular modules will be essentially stacked on top of one another. At .5, the offsets are limited to the absolute range of the buffer scanning. As you go above .5, the offsets may overshoot the buffer scanning, which will create drones or silences as the counter approaches 1.

The benefit of these offsets is to allow for a more diverse sound as the different granular modules scan different parts of the same audio buffer. But stacking them on top of one another can be useful for creating harmonies and chord tones.

Along with being created at the start of each new frozen buffer you can use the RNDM PER CYCLE button to have the offsets be redistributed each time the counter reaches the beginning or end of its cycle. You can also redistribute the offsets at any time with the middle stompswitch.

The REVERB DECAY and REVERB MIX controls affect a stereo reverb lite at the end of the signal path. This can help smooth the sound, but the patch can be greatly improved by replacing (as in running the reverb mix at 0) or supplementing with an additional high quality reverb (I use an OBNE Screen Violence in some of the sound examples in the video).

The DRY LEVEL and WET LEVEL allow you to create a mix. There are a lot of things in the patch that affect amplitude, so you may find that as you change parameters (pitch, density, texture, grain size) you may have to adjust the wet level to compensate.

One comments on “Tiny Orchestra — time-stretching to reveal hidden symphonies within sound
  • sordel on said:

    This is super-impressive … one of the best patches yet for Zoia.

  • Leave a Reply

    • Platform:
    • Category: Effect Sound
    • Revision: 0.1
    • License: Creative Commons Attribution Share Alike 4.0
    • Modified: 2 years ago
    • Views: 2731
      Likes: 37
      Downloads: 1191