Constant intensity FM-VCO

Are there any synths that provide for inversely linking frequency and volume in an FM module. The idea is I want lower pitches to be louder than higher pitches. Right now I use a polarizer to invert the fm signal and then offset and send it into level, but that is problematic, because now you have to have an external envelope… Also its difficult to control syncing etc.

Am I insane or are frequency and pitch roughly the same thing?

I am not sure what you’re trying to do - “lower pitches louder” : 10 - pitch CV would be larger for low pitches and smaller for high pitches. The formula (you can do it with Synthkit subtract and Little Utils multiply/divide.

But that is not at all linking frequency and pitch. So I don’t know what you mean.

Probably means to vary the volume so higher pitches are quieter and lower pitches are louder. Easy to do when just CV is involved. Problem is the frequency is being modulated and is constantly changing. It will always be somewhat wonky. Syncing the oscillators can help but problems with phase cancellation make 100% solutions mostly unobtainable. There’s a good discussion on Mod Wiggler that delves into this very topic with hardware.

I don’t understand either, and that muff wiggler post is about pitch to voltage conversion. A notoriously difficult problem, but unrelated to this I think?

When you are using CV/pitch it’s easy to control volume in this manner by inverting the CV Going the other way round isn’t much issue either. It’s the same as Hz/volt. With FM though frequency is not constant and the whole conversion gets messy.

I’m sure you are right, but I just don’t understand the issue.

Are we talking about this patch? VCO1 => VCO2 => VCA ? because if so you can put whatever you want into the CV for the VCA and not change any pitch or anything. So what is the patch we are talking about?

I’ve no idea other than what’s written in the initial post. In that respect we are equally clueless.

I’m pretty certain though that you’ll be of more assistance than I…

Hi dag2009, thanks for catching that yes, I mistyped. I meant pitch and volume, or frequency and volume. I edited the original post to reflect your correction.

1 Like

It would be pretty simple for an vco that has a cv input for level. It would be a function of the fm cv, and maybe one or two parameters.

double fm_cv_to_level(double fmcv, double maxlevel, double minlevel){ //assuming fmcv is range ±5v //though

return maxlevel-(fmcv/10)*(maxlevel-minlevel);


In a fm synth framework, the levels are very important, as they are the target frequency. For example, if you put a signal that is ±5 that has a level of 1v oscillating at 440 into another synth, then not only does it tell the other synths control voltage to change at a certain rate but it also says it should oscillate ± one octave.

Ideally, you’d be able to make the math work out so that setting the min level and max level would correspond to oscillating between two musical intervals. Say, max level is 1 and min level is .5 and the frequency is 1(v), then would correspond to operating at the frequency of middle C going between one octave up to a fifth down.

Dexter from Valley has Level CV input.

@Omri_Cohen made a video about it.

Yes, and it has a built in attenuverter on the level, so that it can be inverted easily.

does Terrorform also have the facility