Polyphonic granular music box.

Tool: PureData

PolyGrainBox is a PureData patch commissioned by composer Pierre-Luc Sénécal for his personal composition and sound design needs. Part sample player, part granulator and part music box, it comes with lots of hands-on controls for creating beautiful, self-generating soundscapes.

PolyGrainBox‘s main user interface

PolyGrainBox is based off Zeno’s Music Box, an MIT-licensed random sample player made with the deprecated Pd-extended. Pierre-Luc liked Zeno’s Music Box‘s general concept, but felt that some crucial features were missing and wanted a tool that would better suit his own specific needs. Never one to fear a challenge, I rewrote most of the patch, ported it to Pd-vanilla and added quite a few more features to it: PolyGrainBox was born. This new tool expands on its ancestor’s main concepts but pushes its capabilities to a whole new level, allowing for much more creative results.

Some of PolyGrainBox‘s internal mechanics.

In simple terms, PolyGrainBox is a sound file player that reads files at a specific interval. It can play back files from up to 12 different directories at random. The rate at which a new file is played back can be set anywhere between 9 seconds and 250 milliseconds; this allows PolyGrainBox to also act as a granulator, with each “grain” being a different sound file. The samples’ attack and release can be manipulated in real-time, and the whole patch is polyphonic, which means that a sample’s playback will never be interrupted or “cut off” by another sample.

As creative coder, building custom sound design tools for digital artists and composers is a big part of what I do. However, PolyGrainBox was a bit different, because I had to adapt an existing tool. I had to get inside an existing codebase, analyze the code and figure out which parts should be kept versus which parts should be thrown away. It was a great refactoring exercise and a really good way to solidify and expand my PureData expertise.