preenfm Forum

PreenFM => preenfm2 and preenfm3 => Topic started by: ItalianOx on January 26, 2015, 09:43:04 PM

Title: FM Questions
Post by: ItalianOx on January 26, 2015, 09:43:04 PM
I thought it might be nice to have a dedicated thread where people can ask any questions they have about FM synthesis, especially how it works on the PreenFM, and hopefully answered by wise sages of the forum. We can also share resources for more information that people can study on their own.

I'll start with one of my own: so when you press the Algo button you get the IM (Index Modulation) page. IM is the amount of modulation from one operator to another, yes? The biggest question I have, though: what is the "v" on the IM page? Volume? I've never seen IMs until I found the PreenFM, is that because a lot of "FM" synths (DX7, FM8, etc.) use phase modulation?

Here's a great book on FM synthesis (technically PM): http://yates.ca/dx7/The%20Complete%20DX7/The%20Complete%20DX7.pdf

It was written for the DX7, but there's still a lot of great information for anyone interested in making FM sounds (which should be everyone on this forum!)
Title: Re: FM Questions
Post by: ItalianOx on January 26, 2015, 09:52:49 PM
Oh, I have a couple more! Is there a quick way to turn off operators in the PreenFM? Or do you have to go the IM page and turn all the values to 0?
Title: Re: FM Questions
Post by: clément on January 26, 2015, 10:20:06 PM
Hello, the "v" is for "velocity", it determines how much the according IM is responsive to keyboard velocity.
To turn an operator off, just set the wave of the operator to "none". I suppose that should do the trick?
Title: Re: FM Questions
Post by: Xavier on January 26, 2015, 10:22:47 PM

Most FM synth, use the volume to modulate more or less the follwoing operator.
With the preenfm, you have direct access to IM : Modulation indices.
That's a bit different, just closer to FM theory.

I just added a line that was missing for v : v = velocity.
http://ixox.fr/preenfm2/manual/synth-edit-mode/
v is the amount of modulation that is injected by the velocity of the note you pressed.

You can silence an operator by selecting "none" as its shape.

Title: Re: FM Questions
Post by: Xavier on January 26, 2015, 10:23:15 PM
Clement beat me ;)
Title: Re: FM Questions
Post by: clément on January 27, 2015, 12:08:57 AM
Hé hé :)

Hey ItalianOx, I'd love to take a look at this pdf but the link seems to be down (or even the whole website actually), did you download it a long time ago? I'll check again tomorrow morning.

EDIT: it's fixed, downloading now!
Title: Re: FM Questions
Post by: ItalianOx on February 20, 2015, 06:00:49 PM
Hi! So I found this chart that converts DX7 output (with other FM synths) to IM values: http://www.angelfire.com/in2/yala/t2dx-fm.htm

Looking at these, would you say they're accurate for the Preen? If so, this can be a great resource for people such as myself who are used to the output levels of synths like the DX/SY series and FM8.
Title: Re: FM Questions
Post by: clément on February 23, 2015, 01:24:47 PM
I have no idea if this is accurate for the Preen, but I'd be curious… thanks a lot for sharing this, that will be useful!
Title: Re: FM Questions
Post by: 6581punk on February 26, 2015, 10:24:34 PM
The big difference in Preen vs Yamaha is the lack of feedback.
Title: Re: FM Questions
Post by: Xavier on February 27, 2015, 12:20:01 AM

Yes lack of feedback.
But also FM vs phase modulation which does not give the same timbre where there are 3 operators in a row.
Yamaha also has a special attack mode... Very fast.
And the way it works makes eveything non linear. Requires big table to make the conversion from yamaha operator output to Modulation indices.
See the code in preenfm2 code to convert Yamaha parameter to preenfm2 parameter:
https://github.com/Ixox/preenFM2/blob/master/src/utils/Hexter.cpp
I spend a lot of time on it, even if what i do is based on the Hexter sysex decoder code.
http://dssi.sourceforge.net/hexter.html

As the engine inside the preenfm2 are very different, i don't think we can do much better than how it is currently is without rewriting the preenfm2 engine.