Midi Control

VST, AU, AAX, etc. plug-in Virtual Instruments discussion
Jeff242
KVRer
28 posts since 30 Apr, 2004 from Denver, Co USA

Post Wed Dec 22, 2004 1:38 am

My keyboard controller has a few assignable knobs that i can use to tweek the Parameters on my vsti's. But the thing I hate about using those knobs is this: Whenever I use my midi knob to control let say, the Filter cutoff, its seems to sound jumpy on some of the synths. And when I use my mouse to change the filter, it makes a smooth transition.

Here is what I am thinking: The Fact that the midi knob uses a value of 0-127, then, when it controls a filter that has the values from 20hz-20khz, the midi knob , as its being turned up, has to jump in increments of (hold on, I'm getting the calculator) 156hz, right or wrong?. Although most filter controls seem to have a steeper curve toward the high end, my little calculation I'm sure is inaccurate. But the point I'm trying to make is this: Is my, or all midi controllers skipping up in steps causing the sound to skip in steps?
Another thing I notice is that my keyboard controller has a value display. This display show the value (0-127) of the controller that I'm controlling. So when I start turning the knob fast, the value, on the display, jumps even more. So the faster I turn the knob, the more values are skipped(at least on the display) I'm not sure if the controller is still sending out all the values in between the numbers that are displayed. So when i turn the knob as fast as I can, the value jumps straight from 0 to 63 to 127, and it sounds like it too.
Are my guesses right?. If they are, then that would seem to make all midi control surfaces worthless.
But sometimes I think its up to the instrument because in some VSTi's, the skipping or jumping does not occur, like in the free Synth1!!!

Does any one else have this problem? Is there a solution?
Please Reply
Jeff242

Solarfall
KVRist
65 posts since 21 Nov, 2004

Post Wed Dec 22, 2004 2:04 am

this is known problem. even some hw virtual analogs have it (yamaha an1x for example, virus has special smoothing function to solve it)

behringer claims that their bcr2000 midi controller has "high resolution" rotary encoders but i dont know what it means :)

asseca
KVRAF
1985 posts since 29 Feb, 2004

Post Wed Dec 22, 2004 2:09 am

Route the Midi-Controller thru MidiOX, and check out it's MIDI input monitor while turning a knob on the MIDI-controller. That should tell you if it is a MIDI-controller fault or a VST-plugin fault...

Jeff242
KVRer
28 posts since 30 Apr, 2004 from Denver, Co USA

Post Sun Jan 02, 2005 2:28 am

asseca wrote:Route the Midi-Controller thru MidiOX, and check out it's MIDI input monitor while turning a knob on the MIDI-controller. That should tell you if it is a MIDI-controller fault or a VST-plugin fault...
what is MidiOX?

asseca
KVRAF
1985 posts since 29 Feb, 2004

Post Sun Jan 02, 2005 3:22 am

Jeff242,

MidiOX is a MIDI diagnostic tool. Just check out their site for more info, also have a look at MidiYoke on the same site.

mffs
KVRist
32 posts since 1 Apr, 2004 from Athens, Greece

Post Sun Jan 02, 2005 1:43 pm

Solarfall wrote:behringer claims that their bcr2000 midi controller has "high resolution" rotary encoders but i dont know what it means :)
Has the usual 7 bit resolution (0-127) but can also be programmed to send values with 14 bit resolution, which resolves to 2^14=16384 steps, which should be enough for smooth operation ..
When in this mode you have to turn the knob a lot of turns to reach the end, though ..
Also, it's fast enough (I experimented a little after reading the above) and sends a lot of updates to be smooth enough ..

And, for scientific proof ( :) ), here's my MIDI-OX input from the controller after turning the knob as fast as I could to the right:

TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT
0010080C 1 -- B1 68 01 2 --- Control Change
00100814 1 -- B1 68 02 2 --- Control Change
00100817 1 -- B1 68 03 2 --- Control Change
0010081F 1 -- B1 68 04 2 --- Control Change
00100821 1 -- B1 68 05 2 --- Control Change
00100827 1 -- B1 68 06 2 --- Control Change
0010082A 1 -- B1 68 07 2 --- Control Change
0010082F 1 -- B1 68 08 2 --- Control Change
00100831 1 -- B1 68 09 2 --- Control Change
00100834 1 -- B1 68 0A 2 --- Control Change
00100837 1 -- B1 68 0B 2 --- Control Change
0010083A 1 -- B1 68 0C 2 --- Control Change
0010083E 1 -- B1 68 0E 2 --- Control Change
00100842 1 -- B1 68 10 2 --- Control Change
00100845 1 -- B1 68 12 2 --- Control Change
00100849 1 -- B1 68 14 2 --- Control Change
0010084D 1 -- B1 68 16 2 --- Control Change
00100850 1 -- B1 68 19 2 --- Control Change
00100853 1 -- B1 68 1B 2 --- Control Change
00100856 1 -- B1 68 1D 2 --- Control Change
0010085A 1 -- B1 68 1F 2 --- Control Change
0010085F 1 -- B1 68 22 2 --- Control Change
00100862 1 -- B1 68 25 2 --- Control Change
00100865 1 -- B1 68 27 2 --- Control Change
00100869 1 -- B1 68 28 2 --- Control Change
0010086D 1 -- B1 68 2A 2 --- Control Change
00100870 1 -- B1 68 2C 2 --- Control Change
00100873 1 -- B1 68 2D 2 --- Control Change
00100877 1 -- B1 68 30 2 --- Control Change
0010087B 1 -- B1 68 32 2 --- Control Change
0010087F 1 -- B1 68 35 2 --- Control Change
00100883 1 -- B1 68 38 2 --- Control Change
00100887 1 -- B1 68 3B 2 --- Control Change
0010088B 1 -- B1 68 3E 2 --- Control Change
0010088F 1 -- B1 68 41 2 --- Control Change
00100893 1 -- B1 68 44 2 --- Control Change
00100897 1 -- B1 68 47 2 --- Control Change
0010089B 1 -- B1 68 4A 2 --- Control Change
0010089E 1 -- B1 68 4D 2 --- Control Change
001008A3 1 -- B1 68 51 2 --- Control Change
001008A7 1 -- B1 68 55 2 --- Control Change
001008AB 1 -- B1 68 59 2 --- Control Change
001008B0 1 -- B1 68 5D 2 --- Control Change
001008B4 1 -- B1 68 61 2 --- Control Change
001008B8 1 -- B1 68 64 2 --- Control Change
001008BC 1 -- B1 68 68 2 --- Control Change
001008C0 1 -- B1 68 6B 2 --- Control Change
001008C4 1 -- B1 68 6E 2 --- Control Change
001008C7 1 -- B1 68 71 2 --- Control Change
001008CA 1 -- B1 68 72 2 --- Control Change
001008CE 1 -- B1 68 75 2 --- Control Change
001008D1 1 -- B1 68 76 2 --- Control Change
001008D5 1 -- B1 68 78 2 --- Control Change
001008D9 1 -- B1 68 7A 2 --- Control Change
001008DD 1 -- B1 68 7C 2 --- Control Change
001008E1 1 -- B1 68 7E 2 --- Control Change
001008E4 1 -- B1 68 7F 2 --- Control Change
001008E7 1 -- B1 68 7F 2 --- Control Change
001008EA 1 -- B1 68 7F 2 --- Control Change

The values we care about are the ones that change from 0 to 7F (hex, that is) .. these are about 70 from 128. Smooth enough in my opinion when treating the knobs this way :lol:

Norbert
KVRist
101 posts since 19 Oct, 2001 from Murka

Post Wed Jan 05, 2005 1:25 am

I have a 'Doepfer Pocket Dial' with endless rotary knobs. If you move the knobs slowly, it increments the MIDI in really small steps. The faster you turn them, the larger the jump in steps. (like velocity messages, sort of)

The software you're using (including VST's) has to be coded to use this kind of controller info (called "inc./dec."). Otherwise you have to change the controllers output to the standard 0-127 increment type of MIDI message output.

So far the only stuff I've been able to use this type of hi-res control with, is NI's 'FM-7' and 'SoundDiver'.

Anyone know of other VST's that can recieve inc./dec. controller messages.
------------------------------------------------------------------
If the world didn't suck, we'd all fling off.

mystahr
KVRAF
7550 posts since 9 Nov, 2003 from Netherlands

Post Wed Jan 05, 2005 1:30 am

unless you'll be using continuous controllers this will be a problem that will always exist.

This is why before I start a recording I make sure that all the controllers are in the right starting position (hard or soft).

It's something to learn to live with I guess.

mffs
KVRist
32 posts since 1 Apr, 2004 from Athens, Greece

Post Wed Jan 05, 2005 6:07 am

Norbert wrote:I have a 'Doepfer Pocket Dial' with endless rotary knobs. If you move the knobs slowly, it increments the MIDI in really small steps. The faster you turn them, the larger the jump in steps. (like velocity messages, sort of)

The software you're using (including VST's) has to be coded to use this kind of controller info (called "inc./dec."). Otherwise you have to change the controllers output to the standard 0-127 increment type of MIDI message output.

So far the only stuff I've been able to use this type of hi-res control with, is NI's 'FM-7' and 'SoundDiver'.

Anyone know of other VST's that can recieve inc./dec. controller messages.

Well, not exactly a VST Plugin, but Live 4 works really good with this controller and can map 14-bit (not only incremental but also absolute) encoders with vst parameteres, so that *any* plugin parameter can be driven with a knob with parameter feedback and high resolution control .. absolute fun! ;)

krhen
KVRist
138 posts since 8 Jul, 2003

Post Wed Jan 05, 2005 6:24 am

The faster turn = steppier is because electronics must poll the pot positions at some rate, then if they have changed from the last value, send the new data point out. Better equipment can poll at a faster rate. Some are pretty terrible (Oxygen8 was pretty bad if I remember correctly so I sold it) It would be a nice spec to publish in product literature I think. I'd think that rotary encoders would not poll but be more 'interrupt' driven, so when they send a pulse, something happens on each pulse, regardless of timing (within the cpu limits of response of course).

Return to “Instruments”