If you’ve ever used the Malstrom in your projects, you’ll undoubtedly see the benefit of grain synthesis. It’s like sound design under a microscope, as you can take a very short piece of sound and chop it up into little bits and start/stop the playback where you like. The fact that you can’t add your own grains into the Malstrom is somewhat disconcerting, but there’s a simple way you can create your own grain sampler, where you can add any sound and use that sound as a grain. This can be very effective in adding some new creative spark to your musical projects. And it opens you up to adding any sound you like and deconstructing it as you see fit. So let’s see how we can do this.
The files used for this project can be downloaded here: grain-samplers. It includes 4 Combinators that are set to play a clip of random notes on the sequencer. To try each one out, you’ll have to mute all the other Combinators via the Main mixer channel. I’m sure this is self-evident, but it never hurts to explain it here. As always, this is open source so feel free to use it in your own projects. Just please provide a link back here or a credit or kudos of some kind. After all, I do this for free.
Creating the Basic Grain Sampler
- Start by creating a Combinator, and in the Combinator create an NN19, Subtractor, and Matrix in that order.
- The NN19 is what we will use to contain the sample or “Grain Table.” This is our sound generating device. So starting there, initialize the device so we have a base from which to start. Bring the Polyphony down to “1,” and set the Spread Mode to “jump.” Finally, change the Pitch Bend Range to “0.” Don’t worry, I’ll explain why we made all these settings after we’ve set everything up.
- Load up your favorite sample into the NN19. You only need one. Alternately, you can wait until the end of the setup to load your favorite sample. If you load the sample at the end of this procedure you can then test out the various samples and play around with them at will using the Combinator rotaries that are going to be setup in just a minute. But for now, just have something loaded so you hear some sounds.
- Moving to the Subtractor, bring the polyphony down to “1,” and change the Pitch Bend Range to “0.” More importantly, change the Mod Envelope settings to the following: A=0, D=0, S=127, R=0.
- On the Matrix, change the number of steps to “1,” and raise the gate to 127 on the first step.
- Turning to the back of the rack, there’s really very little to cable. First, cable a CV connection between the “Mod Env” in the Modulation Ouptut section of the Subtractor to the Level input on the NN19. Also, raise the pot next to this input to 127. Second, cable a CV connection from the LFO1 on the Subtractor to the Gate input on the NN19. Third, cable a CV connection from the Gate CV on the Matrix to the Subtractor’s Sequencer Control Gate input.
- Now comes the fun part: Programming the Combinator. Flip the rack around to the front and show the Combi’s programmer. Here are the settings that we have to make:
For the NN19 (Grain Sampler):
Rotary 1 > Sample Start: 0 / 127
Rotary 3 > Amp Env Attack: 0 / 75
Rotary 4 > Amp Env Release: 0 / 90
Button 2 > Filter Res: 0 / 90
Button 2 > Filter Freq: 127 / 90
Button 2 > Filter Mode: 3 / 1
Button 3 > Osc Kbd Track: 0 / 1
Button 4 > Stereo Spread: 0 / 127
Pitch.B > Osc Env Amount: -63 / 63
Mod.W > LFO Amount: 0 / 127
For the Subtractor (LFO):
Rotary 2 > LFO1 Rate: 40 / 127
Button 1 > LFO1 Wave: 0 / 2
Here is an example of the various things you can do with a basic grain sample:
Explanation of the Functionality
Now for some explanation. The NN19 acts as the grain sampler and the heart of everything. This is why it’s so heavily programmed. The amplitude is controlled by the Subtractor because we set up the Mod Envelope’s Sustain to 127, and cabled the cv from the mod envelope to the level input. And the mod envelope of the subtractor remains “on” because we are sending a gate signal from the matrix. This is simple and effective, and makes our grain sampler very ”light weight” by only containing 3 devices.
But don’t let this simple setup fool you. The way we programmed everything gives you a very wide degree of control over the sound — and that sound can be any sample you choose to load into the NN19. Let’s take a peek at what’s going on at the front of the Combinator.
Pitch Wheel: This is set to control the oscillator envelope amount from the NN19. This is probably one of the coolest and freakiest uses of the Pitch Wheel you could have, and is great for mangling sounds into weird and wonderful effects.
Mod Wheel: This is set to control the LFO amount on the NN19, for more strangeness, giving the sound a warped and warbled effect.
Rotary 1: Controls the Grain Index, much like the Malstrom’s “Index” function operates. What this is doing is controlling the start position of the sample on the NN19
Rotary 2: This controls the rate of the LFO from the Subtractor, or the speed of the grain playback. All the way left and you get a very slow speed, but turn up the knob and it can get extremely fast.
Rotary 3: Controls the Amp Envelope Attack of the NN19. All the way left gives you fast attack, and all the way right gives you a slow attack.
Rotary 4: Controls the Amp Envelope Release of the NN19. All the way left gives you a short release, and all the way right gives you a long release.
As for the buttons, they are all set up to provide some further sound morphing capabilities.
Button 1: Switches the LFO Type on the Subtractor. You can program this button to switch between any 2 of the 6 LFOs available on the Subtractor, depending which ones you like best.
Button 2: Controls the Filter mode of the NN19. When off, it uses the default LP12 settings, with a fully open frequency and no resonance. Turn it on, and it turns into a HP filter with the frequency somewhat open, and the resonance dialed up high.
Button 3: This is a very important button in my estimation. It controls the Keyboard Tracking of the Grain Sampler’s Oscillator. This is going to largely depend on how you want the notes in your sequencer to be played by the Grain Sampler. If you look at the project files included here, you’ll see I placed a bunch of random 1/32 notes in a clip on the sequencer. The notes are all different pitches between C2 and C4. If you leave the Key Track button off, the pitch of the notes do not affect the sound. The sound remains constant. If you turn the Key Track button on, then the pitch of the sequencer notes affect the Grain Sampler’s oscillator, and have an affect on the pitch heard. To me, this gives you a great deal of control over how you play your sequencer clips. All with a simple switch.
Button 4: This controls the Stereo Spread of the Sample playback. With this button turned off, there is no spread. With it turned on, full spread is applied across the entire stereo field. Also, since “jump” was selected on the NN19′s Spread mode, it will jump back in a random fashion between the left and right fields.
Exploring Alternate Grain Sampler Ideas
Now that we have the basic grain sampler idea laid out, there’s a few variation Combinators that are included in the project file which you can explore in greater detail. I’ll lay out some of the highlights here.
Mal Grain Sampler: This Combinator inserts a Malstrom and uses it’s “A Curve” in place of the Subtractor’s LFO. It’s then tied to the Rotary 3 on the Combi, so you can use any one of the 31 Curves to affect the gate of the Grain Sampler. The “B Curve” is also plotted to the Oscillator Pitch on the Grain Sampler, and is also plotted to the Rotary 3 on the Combinator. Button 1 on the Combinator turns the B Curve on or off. This means that when you press button 1, it creates all kinds of weird sound morphing (or pitch morphing) to the sample, based on the position of the Rotary 3 knob.
Thor Grain Sampler: This Combinator uses the Thor’s LFO in place of the Subtractor. This isn’t that big of a deal or much of a change. But what’s nice about the Thor is that you can map the Thor’s Sequencer Curve 1 to affect the Oscillator Pitch of the Grain Sampler. Turning on Button 1 on the Combinator starts Thor’s sequencer to Run and provides some Pitch shifting to the sample. The added benefit of using the Thor is that you’re not limited to using the Global parameters. Since the Thor Gate is always on, you should be able to utilize any of the Thor parameters to affect your sample sound. You just need to program them in the Modulation Bus Routing System (MBRS).
Triple Thor Grain Sampler: This Combinator layers 3 Grain Samplers together, all playing different samples. The curves on the 3 Thor’s are all different, and the Mode of the step sequencers in them are set to play randomly. This creates a lot of pitch variation when you press button 1 on the Combinator. Instead of Rotary 3 and 4 affecting the Attack and Decay of the Grain Samplers, I set them to control the level of Sample B and C respectively through a line mixer at the top of the Combi stack. This way, the sample you add into the “Sample A” NN19 is always playing at full level, while Sample B and C’s levels can be adjusted (I didn’t want to give up the functionality on either of the first two rotaries, so that’s why Sample A is always at full level. However, you can create a sequencer track for the Line mixer and adjust the level via automation in the sequencer if you like). Try adjusting the programmer settings on the first two rotaries if you want to have the various samplers playing at differing speeds and at different index points. This can create some pretty elaborate sound designs.
As a final tip, you can try automating the Rotaries for any of the Combinators to randomize things. I would also suggest you read a great article by Lewis72 on the art of Granular Synthesis on his blog. He also created a very nice grain sampler which you can download for free. If you find any other ideas out there on the web on the art of Grain Sampling within Reason and Record, please feel free to post them here in a comment. And if you find these useful or create something interesting with them, please let me know. I’d love to hear how you can use these in your own work. All my best!