Granulation with Poly~

Nov 27, 2009 at 9:18pm

Granulation with Poly~

Hi there,

First post for me. Greeting to everyone at the Cycling74 forums.

I am trying to build a granulator from scratch (there is an actual practical reason for doing so :). I have built a single grain abstraction and am using it inside a poly~. However, no matter what I do, whenever I raise the density of the grains so that they overlap, I start getting clicks. I tried tweaking the individual envelopes and thispoly~ messages endlessly and still cannot find where the clicks are coming from. Can anyone help? I will be happy to share my patch.

Thanks

#46845
Nov 27, 2009 at 10:00pm

When I made a granulator a couple years back, called “The Mill,” I had the same problem, and someone suggested that I delay turning the voice off for a millisecond or five. The envelope in my case is a line~, and I have a delay 5 before the done output hits the thispoly~ to turn the voice off.

#168485
Nov 28, 2009 at 4:31pm

Thanks Chris! I tried it and unfortunately it didn’t work…
Going to build voice allocation myself and see what happens. The grains will have to be on all the time. At least I will be able to see if the problem is with poly~ or my grains.

#168486
Nov 28, 2009 at 4:51pm

Maybe you should post your patch?

#168487
Nov 29, 2009 at 12:17pm

are you dynamically allocating voices (with the note message to poly~)? and are you correctly setting the busy state with thispoly~?
aa

#168488
Dec 7, 2009 at 4:56pm

Thanks for the answers guys. Yes I was dynamically allocating voices. The problem had to do with windowing in MSP instead of in MAX (using wave~ with an envelope buffer driven by groove~, instead of line~), and also with some clashing send objects. I solved the clicking problem, but now I am having problems with changing parameters in real time.

How do I post patches to the forum? For some reason the link to the beginners FAQ is not working for me…

Thanks!

#168489
Dec 7, 2009 at 5:38pm

just hit ‘copy compressed’ from the file menu in max.
paste the result (which is copied into the clipboard) into your reply.

jml

#168490
Dec 7, 2009 at 5:56pm

Ok. Below are the two patches I am using. The first patch contains the poly~ and sits within a bigger performance patch that controls the parameters according to cues and records live input into a 2000ms buffer, “Olly”.

My aim is that the granulation happens all the time is faded in and out according to cues. At certain cues the contents of the buffer is re-sampled from the live input, while the granulation is still running but is silenced.

What happens right now is that when recording the live input into the buffer, for some reason the poly~ does not output any sound until I resend a “voice $1″ message to it – that is until I reset it. Then it works for a while, even when the buffer is changing, but stops after some time, and needs another reset of the voice number. I must be doing something wrong. I never learned how to construct a “proper” granulator, so will be happy to get any kind of advice.

Two patches. First, where the poly~ sits:

– Pasted Max Patch, click to expand. –

And the grain patch: GRAN_AG4

– Pasted Max Patch, click to expand. –

THANKS!!!

#168491

You must be logged in to reply to this topic.