MUFF WIGGLER Forum Index
 FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 
WIGGLING 'LITE' IN GUEST MODE

Implementing Granular Synthesis
MUFF WIGGLER Forum Index -> Music Software  
Author Implementing Granular Synthesis
rishin
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.

Thanks!
rjungemann
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:

https://docs.cycling74.com/max7/tutorials/11_polychapter02

https://www.keithmcmillen.com/blog/granular-synthesis-a-basic-implemen tation-in-maxmsp/

And a tutorial for PureData: http://www.pd-tutorial.com/english/ch03s07.html

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 https://www.youtube.com/watch?v=HyNhEc4VYmk (the DSP is done in Max)
peripatitis
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!
beaver
Also there are some granular tools in Supercollider: http://doc.sccode.org/Browse.html#UGens%3EGenerators%3EGranular

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:

astrodislocate
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.
nrrrd
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:

https://www.native-instruments.com/de/reaktor-community/reaktor-user-l ibrary/entry/show/7775/

Grainstates is a classic, but things have moved on in 13 years! smile
https://www.native-instruments.com/de/reaktor-community/reaktor-user-l ibrary/entry/show/2523/
widdly
Have you read Ross Bencina's paper on C++ Granulators?

http://www.cs.au.dk/~dsound/DigitalAudio.dir/Papers/BencinaAudioAnecdo tes310801.pdf

Source code here..
http://www.rossbencina.com/static/code/granular-synthesis/RB-GST-07-SE P-2001.zip
MUFF WIGGLER Forum Index -> Music Software  
Page 1 of 1
Powered by phpBB © phpBB Group