Forums > MaxMSP

FM frequency fine coarse and detune controls

Nov 15 2012 | 10:57 am

Hi, i’m new to max and i am in the middle of building an FM Algorithm, based on Algorithm three of the Yamaha DX7. I have the patch working without these controls but am having difficulty with implementing the frequency fine, course and detune to each operator. i have been at this for a couple of weeks and am getting nowhere. i would be very grateful for any help with this.

Nov 15 2012 | 11:19 am

I’m not familiar with the algorithm you mention (I only have a DX9) – but here’s how to implement coarse and fine detune (on the carrier):

-- Pasted Max Patch, click to expand. --


Nov 15 2012 | 1:29 pm

Thanks very much noob meister I’m going to have a go at implementing this tonight, ill let you know how i get on :)

Thanks again

Nov 15 2012 | 2:40 pm


ignore that last – it was a little amateurish!

here is a more mathematically robust version, using 0-127 to control fine and coarse tuning across the octaves:

-- Pasted Max Patch, click to expand. --


Nov 15 2012 | 4:35 pm

added "local or global" detune – not sure if this is a feature of the DX, I seem to remember it may be just local….

-- Pasted Max Patch, click to expand. --


Nov 15 2012 | 4:38 pm

You just answered a few other questions i had, without me even having to ask! :)

Thanks Brenden

Nov 15 2012 | 4:44 pm


: )

Nov 15 2012 | 11:53 pm

Hi, I have the fine and coarse controls working and the first operators nearly complete :). i have got one problem left to complete this, i need to build a super fine control -7 to+7 range. the problem is i dont understand what the math means in the fine control. I need to adapt the maths in the fine control to make it super fine for very mild detuning. If its not to much hassle could you explain the maths a little so i can adapt the fine control to be super fine. i dont understand the maths in the expr pow object and what the split object is doing.

Thanks again i have achieved more with this project tonight with your help, than in the last two weeks :)

Nov 16 2012 | 10:05 am

If an output ranges from 0 to 10 and you want to scale it down to a smaller range, then multiply by < 1.

All the explanation you need is here:

Nov 16 2012 | 2:36 pm

thanks Brendan ill check it out :)

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

Forums > MaxMSP