## FM frequency fine coarse and detune controls

Nov 15, 2012 at 10:57am

# FM frequency fine coarse and detune controls

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.

#65215
Nov 15, 2012 at 11:19am

Hi
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. –

Brendan

#235011
Nov 15, 2012 at 1:29pm

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

#235012
Nov 15, 2012 at 2:40pm

Hi

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. –

Brendan

#235013
Nov 15, 2012 at 4:35pm

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. –

Brendan

#235014
Nov 15, 2012 at 4:38pm

Thanks Brenden

#235015
Nov 15, 2012 at 4:44pm

Zen

: )

#235016
Nov 15, 2012 at 11:53pm

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 :)

#235017
Nov 16, 2012 at 10:05am

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:

http://cycling74.com/docs/max5/tutorials/msp-tut/mspchapter19.html

#235018
Nov 16, 2012 at 2:36pm

thanks Brendan ill check it out :)

#235019

You must be logged in to reply to this topic.