Forums > MaxMSP

Help combining detuned saw objects?

April 6, 2010 | 3:07 pm

I’m trying to write a "supersaw" jp-8000 style synth in maxmsp.
All I’m doing is adding together 16 saw objects each that are detuned differently (by sawnumber*detuneamount) and then dividing the output by 16 to keep the volume down. This is placed into a patcher and played using poly.

The problem is, when I do this I get a lot of flanging… I’m not sure why but I think it has to do with each oscillator starting at a slightly different time? Anyone have any idea how I can fix this? Or is there some other kind of spacing I need between the oscillators? I tried making the same patch in Reaktor (with the same detune amounts) and didn’t get any of the flanging effects, so I’m confused. Thanks! See text code below, also i made a screenshot: http://www.kupex.com/supersawattempt.jpg

– Pasted Max Patch, click to expand. –

April 11, 2010 | 8:26 pm

Hi jinxpx,

I do not understand why you detune each oscillator with the same offset from the previous oscillator to the next one (as I understand from the * 1. , * 2. , * 3… series.). It’s hard to be sure without knowing what sort of values are coming into the detune inlet, but I suspect you’d get better results by using random values in a specific range rather than this series.

Also, I’d use multiplication instead of addition, so the detuning is relative to frequency. See modified patcher below.

– Pasted Max Patch, click to expand. –

Hope this helps.

Roald Baudoux
http://www.roaldbaudoux.org


April 11, 2010 | 10:51 pm

 
without looking at the patch i can tell that flanging is the exspected behaviour.

phase offsets will not make a difference here, but the tuning can.

on one had i would use relative frequency offsets (think per cent) and on the
other hand each of the oscillator frequencies need a slight modulation;
try triangular LFO and/or little random instabilities.
their job will mainly be to modulate the phases and not the pitches, if oyu
know what i mean.

-110
 


Viewing 3 posts - 1 through 3 (of 3 total)