Proper granular audio manipulation without using any plugins!

I’m not sure if this is a commonly known trick, but i have just heard Renoise can’t do granular synthesis and i haven’t really thought about how a granular effect is being made.
The audio is chopped up into pieces of variable size with effects added to each ‘grain’, all in realtime and with parallell prosessing. I was almost lost at the chopping up part, but then i thought “why not use send tracks as ‘grains’?”
It sounded a bit far fetched, but when i tried it i was quite surprised how well this actually worked. In this example i use 6 ‘grains’, but you can make any number as long as your cpu is up for it.
Let me explain:

Add 6 send tracks for the grains and one as a bypass:
image
Add a gainer and set the output volume to -12 on all the grains tracks, but leave the bypass track as it is:
Grains:
image
Bypass:
image
Go to Track 01 (or any track for that matter) and add a Send device for all the grains like this:
image
Add a Send track for the Bypass in the front of the chain (turn it off and use it when you want to hear the dry signal):
image

Now for the actual splitting, let’s add an LFO that controls the grain sizes with it’s frequency slider. Let’s call it the master LFO:
image
Connect the LFO to a Hydra:
image
As you see, 6 LFO’s are controlled from this Hydra, so go ahead and make 6 LFO’s look like this:
image
image
image
image
image
image

Now, if you set everything exactly as i did here, then you should hear the exact same sound when you enable the bypass no matter which frequency you set the master LFO.
Now see what happens if you start adding different effects on the send tracks, then slide the frequency of the master LFO and you will hear the grains start changing size.
The higher the BPM and LPB the shorter you can make the grains.

GranularTest.xrns (578.9 KB)

3 Likes

Neat idea, how would one put this into the Effects section of the sampler, so more than one instance could be used, and maybe controlled via phrases instead of the main pattern sequencer?

2 Likes

For instance, I took your idea, and it works all the way up to getting the individual FX Chains to route to the final FX Chain for full-on granular madness. Please take a look at the screen-shot and file? Maybe there’s a way to do this yet, so one could eventually just load it in as an instrument on multiple channels.

Instrument FX Granular Chain.xrns (2.7 MB)

Screen Shot 2021-11-08 at 7.40.21 PM

2 Likes

@TheBellows - if the instrument FX Chain eventually works, maybe one day the Phrase LPB could be automated, it would be really neat to hear it slow down or speed up; an actual separate tempo-adjusted effect!

Not sure what you tried to do here, but here i made an instrument version of the effect with predefined FX for each grain:
Granular Instrument.xrni (437.4 KB)
image

image

If you want other effects you can swap them out and assign it to the respective macro. The sample is just a random sample i found on my disk, swap it out with whatever you want.

1 Like

You got it! I was trying to make what you just made, less the effects per grain, I saw each send as a playhead, and wanted to get all 6 play heads summed to the final FX chain. For some reason, I just couldn’t figure out the pathway. Personally, I don’t affect individual grain playheads- hopefully I’m able to remove the effects and just get a granulator! It’s still but as perfect as that app I posted a few weeks ago (hot-damn, Audiobulb :laughing:), but some sort of granules are better than no granules.

Pair this instrument with randomized phrases, and this’ll do for some of that rudimentary granular sound. Eventually, the addition of envelopes with shape-shifting abilities would round out some of the sound. This could probably be adjusted manually on the LFOs.

P.S. would I be able to move the send modules down to another FX chain ‘row’ and still maintain the functionality?

Not exactly sure what you mean by this? You can just delete the effects, but then you need to do some other stuff like vol/pan/width to make the effect audible. If you have some plugins that does pitch shifting you could use that too.

Simple answer: No. The audio from the sample is routed to FX Track 1. You could route it differently, but it can only be routed to one fx track.
You could potentially make 6 duplicates of the sample and route them to each their own track. This would allow you to pitch the samples individually and if you use the S00-SFF trick in a phrase i bet you could make some really crazy stuff with this. I’ll fiddle around with it a bit and see if i can come up with a good example.

Edit:
Ooh, that S00-SFF trick was a bit much for my CPU…

Crazy Granular Test.xrns (728.2 KB)
:stuck_out_tongue:

1 Like

dunno if you saw this already @TheBellows, but I made an interesting granular instrument a couple weeks back: •••ReGranulizer••• Granular synthesis xrni

I’ll have to test out your send method. the more audio madness, the better! :upside_down_face:

2 Likes

Very cool idea @TheBellows! Another gun for Renoise :wink: Thanx Guys

1 Like

Damn, i just realised i made a mistake and left the frequency of the custom LFOs at 64 while it’s supposed to be INF LPC.

I see what you mean, but this has no parallel processing, which is quite essential. By using send tracks i have solved that and i made it so that if you do not change any parameter or add any effect to the send tracks the signal will sound completely dry. By only slightly changing the panning or whatever of one of the send tracks you will start hearing some ‘granulation’. In the instrument version, by using duplicates of the input sound channeled to each their own send track and uses the S00-SFF trick in a phrase with a suitable sample, then you can also control the pitch without changing the speed of the sample. In theory this should be able to do some proper granular fx.
I have not figured out how to add envelopes to the ‘grains’ yet, or i mean a practial one as the custom LFOs are the envelopes, so you could change those, but that would only affect the volume anyway.
I might be able to make the custom LFOs control the amplitude or reset of other LFOs and then hook up these LFOs parameters…i’ll probably fiddle with it for a good while before i’m saying myself completely done with this, i think there are lot’s of room for improvement.

Glad you like it. :slight_smile:
So far i think it is most useful for pad sounds. By only changing the vol/pan/width of the different grains and the pads will get some new life into them. Careful with the mono compatibility though. Pads also sound very nice if you make the ‘grains’ very slow and add some different effects on each, like reverbs, flanger, chorus or whatever you like and the different grains will slowly fade from one effect to the other.

I don’t think that I would call this method granular synthesis. It’s basically amplitude modulated parallel signal processing. It’s cool, and potentially useful, but there isn’t much control over the individual grain characteristics in the time, pitch, or ampitude domains. I think if you wedded our two approaches (phrase-based granular playheads & parallel signal processing) it could be pretty interesting. In any case, renoise is a powerful beast and there are lots of ways to mangle sound, thankfully for all of us noise geeks :upside_down_face: I’m going to keep experimenting with your concept, though. I think it may have some interesting utility. Thanks for sharing!

That’s why i never called it granular synthesis. :wink:
But you do have as much control over the individual grain characterisics as you want, it’s all about which effect you decide to use on each grain. You can also put it either in front or after the gainer that makes the ‘grain’.
The problem is that it doesn’t do sampling per grain, so we can’t get that warping sound. You can sort of get that with the S00-SFF trick, but not really to a satisfying degree for normal use. It could be used for experimental stuff though and natively this is most likely the best approach for that type of effect so we will probably have to make it with that for now. Then we pray for Renoise to get a sample start and loop start/end. :slight_smile:

1 Like

amen, brother!

2 Likes

all the sample start/loop ends… yeahhh

1 Like

Different people with different ideas, all looking for new ways to handle sound.
In a period where tutorials and copy and paste dominate, this exchange of ideas and techniques are gold.
Anyway we need to pray for start/end loop :slight_smile:

3 Likes