sine waves with envelope in poly~ clipping

ubu's icon

Hi!

I am having troubles with the poly~ object.
Basically I built a sampler for sustaining sine waves. I have a cycle~ with envelope inside a poly~ and I am giving it different frequencies through a $1 message.
This works fine for a few minutes then suddenly it starts clipping and sometimes even the sound stops. I then have to turn off the audio and switch it back on to continue playing.

Anyone any idea why this is happening? (see attachment)

Thanks,

Lilian

polymainpatch.maxpat
Max Patch
dots.maxpat
Max Patch
Wetterberg's icon

I think it's getting too loud - running up to 1000 voices of anything typically requires quite controlled envelopes.

The breaking up you're hearing might also be caused by heavy cpu load? I know that if I max out your patch my 2.66ghz i7 mbp reaches at least 140% cpu.

It seems as if the only thing that'll truly stop a note in the patch is note stealing... and that happens @ 1000 poly. Reducing that to 100 seems to completely solve the problem.

ubu's icon

Thanks for your answer!

I had reduced the voices to 100 before - without success though. Even if I reduce to 20 I still get the hearing knock out, while my CPU (in Max) shows no more than 1 or 2 %.
The overdrive / knockout happens faster when I am using higher frequencies (like above 8000Hz). It seems as if they are "ganging up" among themselfs like a feedback loop.
So my guess would be that they somehow create intermediate tones. I don't understand it though.

Wetterberg's icon

I definitely am not seeing that response here.

The ganging up, does that still happen if you deactivate the adc~-triggered notes? As in, starting some notes, and then not letting more get triggered?

I'd also start looking at the envelope - that function looks very odd indeed, all the values are bunched up off to the side, and if I'm reading it correctly it's a very fast envelope, too? - try swapping it out with a straight "0, 0.05 1000" message, perhaps?