JK's Sample Swarm

Type: Module

Category: Source

Updated: Jan 18, 2021

Manufacturer: JKphobic


JK's Sample Swarm turns a single recorded piece of audio into a looping drone/texture/noise. Load a sample into the little window below the module title, choose your settings, then hit process. After a moment, your loop is ready and begins playing, with some basic volume and V/Oct controls available.

To be more specific, the PROCESS button triggers a non-realtime processing of the audio. The module essentially copies and "mix-pastes" your loaded sample against itself at random spacing over a chosen output length (wrapping around to the beginning when reaching the end) a chosen number of times. At the highest settings (as initially intended) this results in a sound similar to a blur effect, convolution with noise, a grain cloud, or perhaps a reverb tail set to a freeze mode. Lower settings are allowed, however, resulting in more of the shape of the initial sound coming through, making sometimes for interesting textures.

Short and simple demo

Processing controls

  • Length Knob: This determines the length of the resulting output loop, 1 second minimum and 20 seconds maximum. Remember that if you use, for example, a ten second sample with a one second output, the sample will already overlap itself ten times after only a single iteration.
  • Reverse % Knob: This controls the probability that any single instance of the audio will be added to the output in reverse. At 0%, each iteration remains forward, while at 100% every iteration is mixed in reverse.
  • Iterations Knob: This controls the number of iterations the process runs through - in other words, this is the number of instances of the individual sample that will occur in the final output. Default 1x to 100x.
  • Iteration Multiplier: This is simply a 10-times multiplier for the number of iterations, thus allowing up to 1000 total iterations.
  • Normal/Wide Switch: This switch determines how stereo information is handled. Normal mode simply treats the input audio as a single entity, keeping left and right channels synced together as usual (or, in the case of mono input, leaving the right channel silent). Wide mode, however, handles each channel separately. What this means with mono input is that each iteration will place the sample at different random locations in the left and right channels. For stereo input, this just means that a different location will be chosen for left and right channels, rather than staying together as usual.

Playback controls

  • V/Oct: While the initial intent was to only provide a knob to adjust the final pitch, a jack input is also provided for those users that may wish more real-time control of pitch.
  • Vol: The knob controls the final amplitude of the signal. The input jack is just a convenient way to apply an envelope or LFO to the volume.

How the process function works

Assuming you have a sample loaded, clicking the PROCESS button begins copying the input sample to the output loop depending on the set parameters. During processing, the processing controls are disabled and the red LED to the left of the PROCESS button will be lit to indicate that the swarm process is currently running. This operation runs in the background and does not affect the normal operation of this or other modules.

Note that at the end, the process will also perform quick adjustments to remove any accumulated DC shift and then normalize the output.

When the swarm process is complete, the red LED turns off and the green LED lights up, indicating that there is output data ready. The output plays and loops automatically, just like any typical oscillator.

In many cases, processing will complete almost immediately. However, in cases where the user chooses a long sample and a high number of iterations, processing can seem to take a long time (still typically less than a minute). In cases of panic or regret, the user must seek therapy elsewhere, but at least the PROCESS button can be clicked again, while the red LED is still on, to immediately quit processing and toss out any output currently in progress. Any output from a previous swarm process is not overwritten until the process completes.

Final note: processed data will automatically save with the module, so your patches won't break. As a convenience, the last used sample path is also reloaded (unless it can't be found).

Post any comments, questions, concerns, feature requests, or bug reports on the forum or send an email here. And finally, have fun with it!


Feb 4, 21

Grain freezer? Heck yes

JK's Sample Swarm really nails the grain-freezer sound with hardly any effort required - just load the sample, alter what seems to be the grain window and direction, and out comes the magic.

Although sometimes the processing can take a little longer than you'd expect, I thoroughly enjoy using this module just to see what textures will come out on the other side. I really dig this thing!

Title of Song

  • 3 examples - pre and post process
  • 6 Swarm Instances and No FX beyond volume modulation