Particlechamber by Derek Holzer

Particlechamber is a 32-voice asynchronous granular synthesizer for real-time transformation of a soundfile. It is loosely based on the famous Travelizer instrument from Reaktor 3, however I think it’s much better because it is FREE!

This abstraction can be used to time-stretch or time-compress a soundfile, although there are other tools [such as Frank Barknecht’s synchgrain object] which do this “nicer”, but it’s main strength is in generating clouds of sonic particles, time-scrambling a file, or creating abstract textures. If one does a bit of reverse engineering, it can also be used as a tool for learning about the techniques of granular synthesis. I have left a subpatch inside the granreader subpatch where others can add their own grain-level events, such as randomized or constant-Q filters or windowed envelopes, to see what is possible with this technique. Of course, I can only highly recommend Curtis Road’s amazing book Microsound for those interested in learning more about granular synthesis.

Download Particlechamber here:

Particlechamber Audio Example

Particlechamber was used to process the gongs on the following track:

Derek holzer-metallophone drift by macumbista

Running Particlechamber

Particlechamber requires a few externals to run. It uses freeverb~ for its reverb section [although you could easily replace it with another reverb], and uses the grid external as a major GUI element [although you could hack your way around it if you can’t install grid by sending numbers directly to the table_locator subpatch. Look inside for details…]

NOTE: the reverb section is currently broken, due to a change in the freeverb~ object which took place since I originally published this. It will be fixed in the new 2010 release.

I recommend using the current Pd-Extended version for your computer to run Particlechamber, found here:

For those new to Pure Data, I can also recommend the Pure Data FLOSS Manual as an introduction:

Using Particlechamber

Open the Load subpatch and click the bangs to load samples. It is better to do this before you start playing, because loading soundfiles can cause audible glitches in Pd’s performance. Sorry…

The red buttons mute and un-mute the file granulator and the reverb. The large vertical sliders are gain for each section. The reverb is post-fader from the file granulator, and can be bypassed either by muting it or with the wet/dry slider.

The envelope is a linear ramp, so a length of 0 means a pure triangular “window” for each grain. [(envelope x 2)+length=average grain length in ms]. Stereo_spread randomly pans each grain to a wider or lesser field. The range feature randomizes each parameter as a percentage plus or minus the given number.

Asynch randomizes which grains are passed through, from almost none to all. Vox activates or deactivates each of the 32 voices. Grain_spread makes small adjustments in the read position, which can be used to either add a reverb- or chorus-like effect, or to completely time-smear a file. Jitter makes larger adjustments in the read position, resulting in various degrees of time-scrambling.

The XY controller at the bottom determines the read position in the sample. This controller has an interpolation scale, adjustable by the gear-shift on the right. This means that Particlechamber will scan more slowly or quickly through the file depending on the cursor’s Y position multiplied by the interpolation factor.

Warranty & License

Particlechamber is free software and comes without any warranty that it will do ANYTHING like what I say it will. Enjoy it all the same. It is released under the GNU General Public License.