I noticed I can assign a midi cc to control a plugin parameter and I can set low and high limit from 0,0 to 1,0. Is there a way to auto-convert this to parameter values? What is the most convenient way?
For example I want midi cc 11 control a cutoff parameter on a synth but I want to limit it from 200Hz when cc1 value is 0 to 2000Hz when cc1 value is 127 (let’s assume the synth parameter gui shows Hz for the cutoff parameter).
Do I really have to eyeball and then repetitively fine-tune the value from 0-1 or is there a more convenient method?
Thanks and best regards,
It depends on the full sweep value of your parameter and whether it’s log or linear in nature. Also, is 200 to 2000 Hz the full value of the parameter or an arbitrary value you want to assign to a parameter that has a larger full scale value?
It seems to me if it were a question of a linear control then some math should do it. I’m making assumptions here so ignore anything that’s not on point. For example the total value of the parameter is 60 to 4000 Hz and you wanted to apply your range of 200 to 2000 Hz to that control binding.
First the total sweep value / 100 (the number of increments between 0.00 and 1.00)
3940 / 100 = 39.40
So each MIDI CC increment (0~127) has a Hz value of 39.4 Hz or approximately 40 Hz
Low frequency = 60 = 0 on the control scale
200 - 60 = 140
140 Hz / 40 Hz = 3.5
so the low end of the parameter in the binding should be set to 3 or 4 cause that’s the resolution of the control.
The high end equation would be
2000 - 60 = 1940
1940 / 40 = 48.5
So the high end would be set to 48 or 49 in the binding.
binding looks like this
These equations don’t apply to logarithmic controls.
The non linear controls we encounter in various plugins have various tapers so your question if these were involved required a more easy approach so i came up with this idea. I built a tester for the values using the onscreen keyboard buttons and some bindings.
First you would need to have a MIDI input and output for the onscreen keyboard made in the main option ports section.
Then you create 2 buttons on the Control Bar,
The first one is set to be a pop up slider set to CC#11 for expression and has an expression in the caption box to give the CC value readout between 0 and 127 on the button.
Next to it I put another button that is just a readout of another CC number I randomly picked for use in the tester. It doesn’t control anything, justs gives a readout. I chose CC#12. It has an expression in the caption box to give the readout of the CC#12 value which will be set up in my bindings to be 0~100 to reflect the VST Knob range values. This value is multiplied by .01 to give the desired VST range value.
When the buttons are made you make some bindings to link the tester together
The top binding takes the CC11 value of the pop up slider and converts it to CC12 and scales the 0~127 MIDI to the 0~100 needed by the readout of the tester. Again this readout is multiplied by .01 to obtain the actual value you seek.
The second binding goes to the filter frequency control on my DMG Eq band no 3 is this case. I can open the GUI for the Eq and watch the readout on the eq band as I move the pop up slider and the corresponding readout of the Vst range value appears in the button we made. You can now map any control regardless of the logarithmic value it has.
Note the values of the 3rd band of the eq and the readout of the VST range value.
When done you would be able to get your 2 values you need to the exact closest number. In the case of my EQ the proper values were .40 for aprox 200Hz and 69 for aprox 200 Hz. The final binding would look like this to get what you describe.
It takes a bit to set up but gives extremely accurate readouts for setting custom bindings you might need to make.
Thanks very much!
But still hope some learning or true parameter values will be available in future.