FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 

Implementing Granular Synthesis
MUFF WIGGLER Forum Index -> Music Software  
Author Implementing Granular Synthesis
Hello! Have any of you guys ever built your own granular synth? If so, what would you recommend for doing so? I'm fairly proficient with C++ so that wouldn't be an issue but I'm wondering if that's overkill. Can PD or Max/MSP implement a good sounding (subjective, I know) granular synth? I know GS can get pretty processing intensive and ideally I'd want to use a technology that wouldn't limit me in having a large number of overlapping grains playing back at once.

It's not too bad to implement a granular synth in Max. The trick is to use a poly~ object so you can have multiple grain voices. Each grain voice will play a snippet of a buffer, and you can use an envelope to fade it in and out.

PureData should be very similar. It has buffers and a poly object that mirrors the Max one. (it's been awhile since I dove into PureData but I might pick it up again)

Performance-wise in Max you shouldn't have any trouble with a couple hundred voices. You could look into gen~ eventually to squeeze some additional performance out later.

Take a look at the "granularized" example that comes in Max (Help > Examples > Sampling > Granular > granularized). Here's some other links: tation-in-maxmsp/

And a tutorial for PureData:

I have a granular patch I made awhile back. I'll have to dig it up. I was inspired by this video to learn more about it (the DSP is done in Max)
I've built many over the years (pre-Gen) and there must be many lying around to pick as a starting point as well. It's pretty easy in max if you know what you need and even if you don't, you can easily experiment with window/no window types, sizes, what parameters to control as well as granular synthesis variations like glisson, pulsars, etc

Probably going c++ finding api's etc won't be worth it that much, plus if i understand correctly with Gen you can sort of "export" a vst version!
Also there are some granular tools in Supercollider:

I have experience just with default GrainBuf, but I found it useful & powerful enough (and fast) for live granulation of prerecorded samples controlled with gamepad:

If you want a really nice, easily dissectable Max patch to understand granulars you should check out Brendan McCloskey's Granary. Basically every granular I've ever made has had it as a reference point in some way or another. Also definitely get a copy of Microsound by Curtis Roads, which is also infinitely helpful and fascinating.
Reaktor has good granular modules and is a bit easier to understand than Max.
There are a few granular synths in the user library as well, that you can dissect to see how they work. Here's one: ibrary/entry/show/7775/

Grainstates is a classic, but things have moved on in 13 years! smile ibrary/entry/show/2523/
Have you read Ross Bencina's paper on C++ Granulators? tes310801.pdf

Source code here..
MUFF WIGGLER Forum Index -> Music Software  
Page 1 of 1
Powered by phpBB © phpBB Group