5 – Create a Grain Sampler

Learn how to create your own homemade grain sampler. This allows you to take a single sample, and affect the playback, sample start position, Repeat length, Grain Length, and Filter Frequency, among other things.

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

  1. Start by creating a Combinator, and in the Combinator create an NN19, Subtractor, and Matrix in that order. 
  2. 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.
  3. 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.
  4. 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.
  5. On the Matrix, change the number of steps to “1,” and raise the gate to 127 on the first step.
  6. 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.
  7. The basic cabling for our Grain Sampler
    The basic cabling for our Grain Sampler
  8. 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

The modulation for the NN19 Sampler (Left) and the Subtractor (Right)
The modulation for the NN19 Sampler (Left) and the Subtractor (Right)

Here is an example of the various things you can do with a basic grain sample:
[ti_audio media=”277″ repeat=”1″]

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!

11 thoughts on “5 – Create a Grain Sampler”

    1. Sterio,
      You’re absolutely right! I fixed it in the text. This is what happens when you write these things at 1am on a Saturday Morning. Wait a minute… I just realized how sad that is to write a software tutorial on friday night/saturday morning. I really need to get out more.

      Thanks for pointing out the error!

    1. Thanks Benedict.
      Indeed it does sound broken. I love these glitchy type of effects. That’s basically what it is: an effects processor for a sound source. Load up any sound you like, and damage and morph it to your heart’s content. All inside a sweet little combi. Now if I can package up my christmas gifts as neatly as this, I’d be all set.

      All my best!

  1. Really love that Thor Triple! I know this has already been Tweeted once, but this deserves another shout around the world.

    1. Douglas,
      By all means help me get the word out please. ūüėČ Glad you like that one. The deeper I delve into CV, the more I learn, and the more I realize just how powerful Reason can be. Thanks for the vote of confidence.

  2. What kind of samples work best for this? Do shorter samples work better or longer ones? I tried a couple different samples (a submarine dive bell and a fire truck siren) but they both sounded really similar. Great blog!

    1. Adam,
      Thanks for the comment. It’s a hard question to answer. And I think the only way to answer this is by A) Experimenting with various samples and B) Understanding the routing of what’s going on. There’s a few different Grain samplers in here that do various things, but if you’re looking at the basic grain sampler, you’ll see that Rotary 1 controls the speed at which the sample is played back, and Rotary 2 controls from which start point the sample is played. Rotary 3 is attack, and 4 is release. And then there’s the envelope controlled by the pitch wheel and the key button which will track the sample along the keyboard. If both the dive bell and the siren are sounding similar, it could be that you are playing them both very fast (speed rotary is set very high), or the start location of the sample is set very high so that only a short duration of each sample is played, OR it could be a combination of both. Hard to say, but that’s my thinking.

      I think it all depends what you want to get out of the combinator. If you want a lot of variation from a single sample, then you’re going to need a sample with a lot of varying content. Try a glitchy sample with lots of fluctuation in pitch/tone/attack, etc. and you might be able to get a little more out of it. Using it on a long slow bell-like sound may not give you a lot of variation, but it doesn’t mean you can’t get something useful out of it. Try it on a lot of different samples and experiment, and I’m sure you’ll find some sounds that you like. From my own standpoint, the quirkier the sample, the better it is. But I’ve had some very interesting sounds when using some of the horn samples in the factory soundbank. So you can still use traditional samples in this combinator. The combinator is just the template to house the sounds. What sounds you put in there and finding some interesting ways to mess around with those sounds is really up to you as the artist.

      I hope that helps. I know it’s a little general, but it’s also a hard question to answer because it’s a matter of personal taste.

  3. Thanks for your reply Rob! I figured experimentation was the key. You pretty much answered my question. I’ll play around with samples that have more variations to them and see how that goes. Thanks for the help and keep on writing great articles!

    If you have any creative uses for using ReGroove write an article on that!

Leave a Reply

Your email address will not be published. Required fields are marked *