Home Forums General General MIDI discussion Two CC numbers for one knob (not NPRN). Need help creating such a parameter.

This topic contains 3 replies, has 2 voices, and was last updated by  human fly 1 week, 1 day ago.

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
  • #71888


    Hey guys

    I want to make an editor for my synth Bass Station II from Novation. Some knobs use two CC numbers to get a resolution of 256 but in an unusual way. I know how it works in theory but I don’t know how to create such a parameter in Ctrlr. I will explain it to you. I also attached a midi monitor screenshot:

    The filter cutoff for example use CC16 and CC48. The cutoff value goes from 0-255. If I open the cutoff, CC16 sweeps from 0-127 once. CC16 increases only by the even numbers of the cutoff:

    Cutoff: 0 CC16: 0
    Cutoff: 1 CC16: 0
    Cutoff: 2 CC16: 1
    Cutoff: 3 CC16: 1
    Cutoff: 4 CC16: 2
    Cutoff: 5 CC16: 2
    Cutoff: 6 CC16: 3

    CC48 jumps between the value 0 and 64. Even cutoff numbers are 0, uneven are 64:

    Cutoff: 0 CC16: 0 CC48: 0
    Cutoff: 1 CC16: 0 CC48: 64
    Cutoff: 2 CC16: 1 CC48: 0
    Cutoff: 3 CC16: 1 CC48: 64
    Cutoff: 4 CC16: 2 CC48: 0
    Cutoff: 5 CC16: 2 CC48: 64
    Cutoff: 6 CC16: 3 CC48: 0

    Can somebody tell me how to create such a parameter? I already managed to create such a parameter in the cubase midi editor. I used a message called “control change”. I hat to set the max value to 16383. With this message CC48 don’t jump between two numbers. CC48 sweeps from 0-127 every time CC16 increase by one. And it works.
    If I could create this type of message it would be fine! I don’t mind a high resolution of 16834.

    Here is a screenshot of my midi monitor. I moved the cutoff from 0 – 20.

    Any help is appreciated


    human fly

    this is 14bit MIDI CC – it uses MIDI CCs in pairs, as MSB/LSB
    to obtain 0-16k range. you’ll see they are always CC pairs
    numbered 32 apart, ie: 15 + 47, 16 + 48 etc.
    and can be thought of as coarse/fine, and the values are sent
    out interleaved, ie: cc15,cc47,cc15,cc47 etc.

    as far as i know. may differ depending on device, but i think
    this is how CC pairs work.

    look at atom’s synth lite II panel (and check its output to midiox)
    not all controls are 14bit. some are regular 0-127 range, others
    are 10?bit or 14bit – these use msb/lsb.

    look at the first knob, Cutoff: the MIDI message type is ‘Multi’,
    and the Multi Message List has 2 entries, msb and lsb.


    i don’t know what the -1 is for (or understand the note in the dialog)
    yet, but if you do ‘insert pre-defined’ and select NRPN, it inserts
    the format needed but with the nrpn CC numbers and ‘-2’.

    i could not have figured out how to do that from the dialog, or
    without the panel example.
    so is the bassstationII all 14bit MIDI CC? or is it nrpn as well?
    does the manual give an nrpn list?



    Hey human fly

    Thank you very much for your help. The cutoff from the synth lite II panel works for me! It works like this now: The parameter has a max value of 16383. If I increase the value of the parameter by one, CC48 also increases by one. When CC48 reaches 127, it jumps back to 0 and CC16 increases by one (and so on..). With this method the parameter has bigger resolution than the cutoff of the synth, but it still works. Now I have to increase the value of the parameter by 64 until the cutoff of the synth increases by one. I hope you understand what I mean.

    Is there a way to tell CC48 to alternate between 0 and 64 and don’t increase just by one? So every step CC48 increase by 64? That would be perfect. Then the parameter only has a resolution of 256 and not 16384. This would be better for automation etc.

    The BS II does not only have 14bit messages. It has normal CC messages, NRPN messages and those like I explained. Here are all messages listed in this manual: http://media.aadl.org/files/catalog_guides/1447741_instructions.pdf#page=20&zoom=110,-869,8



    human fly

    you could try making the increment interval 64 instead of 1?

    if you look at the synthliteII panel, there is a mixture of
    value ranges: some have 0-1023 (10bit?) – so you don’t have
    to use the full 0-16535 range. try the combined CC for each
    with the range you want and see what happens when you increment.
    i’m thinking the novation must interpret it according to its
    own OS.
    note: i just checked: not easy to see exactly how it is counting
    with that resolution. i think there may also be an error in that
    panel for osc1+2 level, which only seems to be sending out one CC.
    i think it may have the wrong max value assigned, need to check
    the manual.

    edit: yep i checked the synthliteII manual: the Level controls
    are 7bit (0-127) – those value ranges there are wrong, and you’ll
    note that the ‘multi message’ box is empty.

    interesting that Novation have managed to exploit the limited
    number of CCs available for 14bit, combining them with regular
    CCs. i’m not very keen on this implementation for synths, but
    there’s no other option with MIDI, other than sysex or NRPN.
    don’t know how their RemoteSL boxes are supposed to talk to
    the BS II: they don’t support 14bit combined CCs.

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.

Comments are closed.