effect from ni razor

M K's icon

in the synth razor from native instruments, there's a effect where the main synth voice gets "copied" multiple times and "spread around" at frequencies below and above the played note. Theres a dry/wet knob and a knob to control the "frequency-distance" between each of these voices. If i create f.x. 100 voices with "center" around a main frequency how would i be able to make an algorithm that allows me to change the "frequency-distance" between all of these? sorry for the bad explanation!

brendan mccloskey's icon

Hi
I'm not familiar with the synth you refer to, but this is how I would approach it: depth control of random deviation around a centre frequency (which itself does not deviate), all wrapped up in a poly~. A little simple, but simple is best, right?

HTH

polySines.zip
zip
M K's icon

thanks! looks good though i dont completely understand what you did.. how many deviations are there?

brendan mccloskey's icon

Well, I annotated the bits that might not have been crystal clear. In that example, I've used 8 voices, voice 1 doesn't deviate, and the others deviate between 0. and 100. Hz (depth = 0. ~ 1.) around the centre freq of voice 1. So, 7 voices are deviating.

M K's icon

what if i want the main voice to change and still have the deviations have the same amount of spreading around it?

Mark Durham's icon

You may also want to check out the innards of the BEAP Cloud oscillator - all in gen~ but the principle would be the same.

M K's icon

thanks just what i need.
why does it make clicking noises? even when the gen is not plugged to the outlet

Max Patch
Copy patch and select New From Clipboard in Max.

patch

Max Patch
Copy patch and select New From Clipboard in Max.

poly

Max Patch
Copy patch and select New From Clipboard in Max.

gen

brendan mccloskey's icon

Hi
in answer to your penultimate question, I devised that simple example patch so that it would deviate around the centre frequency, regardless of what the cf is. . . . .you can change cf and the deviation will shift with it. Did you even try it, or explore it? Try a modulation depth of 2, and sweep the centre freq, you'll clearly hear that the beats are constant. Unless you're asking about frequency-dependent modulation index, then we're into FM equations and Bessell functions which are beyond me I'm afraid.

Brendan

M K's icon

Hi
Sorry, i think i turned the depth up too high. Guess that's why i didn't catch it. Do you have any idea why this version doesn't work?

polysines2.zip
zip
brendan mccloskey's icon

Yes I do.

Max Patch
Copy patch and select New From Clipboard in Max.

You cannot convert a float/int to a signal simply by passing it to an MSP maths function. It must be converted to a [sig~] first:

Furthermore, you really need to work out how to correctly scale the output of each of the [wave~] objects in your [poly~], it is clipping badly. If one voice has 4 oscillators, then each must be scaled (*~) by

Brendan

M K's icon

thanks! that makes sense. [pak 0. 10.] -> [line~] would work as well right?

brendan mccloskey's icon