Improved resolution/granularity of parameters

  • First of all, after using the hell out of my A for almost 10 years, I finally got a TI; thanks for making such awesome products. :)

    The only thing that hasn't been improved from A to TI is a way to circumvent the limits of MIDI in order to provide a more fine-grained resolution for parameter values; the current granularity of some parameters is a bit frustrating.

    Example: LFO1->Osc Pitch modulation is far too coarse to dial in accurate semitone modulations. For chiptune-type sounds, it would be quite useful if I could have LFO1 set to square and modulating Osc Pitch by +/- 6, 12, 18, 24, etc. semitones, so that the osc pitch would jump between octaves.

    Unfortunately, this isn't possible because of the current discretization; the closest setting of LFO1->Osc Pitch is +/- 68.8, which will _almost_ produce a +/- 6 semitone jump, but it sounds slightly off (not quite a perfect octave), and more importantly the resulting notes don't fall on exact semitone values, they're off by maybe 40-50 cents. This means that such an effect can't be used on Osc1 since there's no way to bring it back into tune (as there are only semitone-increments for patch pitch adjustment, no cents), this type of modulation can only be used with Osc2 using detune to bring the pitch back onto exact semitone values. And using the Mod Matrix or Osc2 Assign to modulate osc pitch is even worse, the granularity is super-coarse.

    For the specific case of LFO1->Osc Pitch, you might implement a "semitone" mode (similar to how LFO clock can be either free or BPM-sync'd) so that amounts are quantized to semitone values. But this is more than likely a waste of resources since it's a big change for a small/specific effect.

    A better solution would be to add some sort of generally applicable fine-tune solution which could be applied to any parameter. For many parameters it would be *QUITE* useful to be able to dial in a more precise value, since when you only have 127 values to use, the actual value you want is often impossible to select because it lies between one of the 127 selectable values.

    One possible implementation would be to add a "fine tune" parameter which spanned the range between adjacent values of the "coarse" (current) parameter. For instance, each adjacent LFO1->Osc1 Pitch value jumps by 1.5-1.6%; a fine-tune knob would let users add a value between 0% and 1.6% so that the space between values on the main knob is covered. Basically, each parameter would be represented as a 7.7 fixed-point number rather than simply a 7bit integer. I hope this makes sense :)

    Since such a change is likely to be quite involved, a simpler alternative would be to add a range of "Constant" modulation sources to the Mod Matrix. These would function similar to the "Random" source, except that they would add a constant value to the destination rather than a random value; the reason that multiple "Constant" sources might be useful is that there could be a range of magnitudes, i.e Constant01 would produce values in [-0.1,+0.1] while Constant1 would produce values in [-1,+1], Constant10 would produce [-10,+10], etc. This seems more or less trivial to implement, but it would make a *huge* difference for anyone who's struggling with the current resolution of some parameters.

    Thanks for your time :)

  • +1 zillion. I want an OSC implementation in VC, for exactly this reason mainly.

    ˙ɯǝɥʇ ǝsooɥɔ ǝɯ ʇǝl ʇ,uoʍ ɯnɹoɟ pıdnʇs sıɥʇ ʇnq 'ɹǝɔuǝnbǝs puɐ SO ʇuǝɹǝɟɟıp ɐ ǝsn I