So between writing manuals and responding to tester feedback on my my infinity plugin I decided to work on yet another plugin. Aka I got distracted X_X.
The seed of this plugin started with a single post from came from @rigo wistfully suggesting I make something "in the granular reverb world"
. The idea grew after @Omri_Cohen described my free module Ice Tray as capable of being "quite granular"
.
But before I bore half of you to sleep with my first foray into granular, let me show you all what Cheese Grater can do:
When I started working on Cheese Grater I knew very little about Granular Synthesis. I had done some reading on pitch shifting for Ice Tray but ended up just reusing an open source pitch shifter from Bidoo.
Ice Tray also left me with the painful scars of debugging a multitude of weird clicks. Samples would end early, super fast clocks messed things up, and sometimes samples would be playing while also being recorded to. All of this lead me to very a simple decision for Cheese Grater: A single sample that can only either be recording or playing, but not both. That design constraint shaped Cheese Grater and gave me a good place to learn and explore granulating sound.
The very basics of granular is taking a sample and chopping it up it very small grains and then adjusting how you play those back. That basic description prompted me to start with length and overlap parameters. Length controls how long each grain is and overlap controls how many grains are playing at once. These two parameters form the top section of Cheese Grater.
My method of prototyping these parameters created a happy accident. My prototype knobs were bi-polar, allowing me to set the both of them to negative values. The result behavior was interesting enough that I refined them further. Negative overlap became a more rhythmic drum-machine like sound. Negative grain length was just bazaar. I still am not sure what its doing, but I drew a picture of swiss cheese on the panel and called it good
The next thing I started playing with was offsetting where the grain pulled from the input sample. After some experimentation I landed on a sine wave distorting the offset as well as some randomness. All of these controls are in the lower left of the panel and I cheekily called it “spread” and drew a knife and some butter for it.
The final section I added was a way to layer more grains into the output. This came about as complement for the drum machine and swiss chees settings. Those settings by themselves were feeling empty and dry. So I added a way to add up to 11 times as many total grains. This got labeled “slices of toast”. I experimented with other parameters here and found two that worked well. One adds a delay to the start of each of the repeated grains. The other offsets the position from the sample. Together I found these can create a lot of interesting texture and rhythm depending on the input sample.
All told I am really happy with how Cheese Grater is shaping up. I feel like the limitation of record or play is offset by the breath of different parameters it has. That said I’m always open to feedback and improvements so if you are interested in helping test Cheese Grater, please message me directly.