NRPN

Home Forums General Using Ctrlr NRPN

Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • #68946
    punkrev
    Participant
    • Topics: 1
    • Replies: 3
    • Total: 4

    Hi

    Im trying to make a 32 bit editor for the novation circuit I can do CC fine but NRPN is a problem.
    In the Midi Implementation chart they are listed as two numbers such as 0:3 how do i get that to work.
    I think it has to be a multi message but that’s all I can work out.

    #68947
    goodweather
    Participant
    • Topics: 45
    • Replies: 550
    • Total: 595
    • ★★★

    Hi, I looked at the circuit midi implementation at https://us.novationmusic.com/sites/default/files/novation/downloads/12118/circuit-midi-parameters-v4.pdf and indeed saw this strange notation 0:3 for example.
    Don’t know what it means.
    Do you have MidiOX or Sysex Librarian?
    Use it to check which NRPN messages are sent for example when you change Env2 Sustain (0:3).

    If we know the meaning, it should be easy to configure Ctrlr:

    • MIDI message type= Multi
    • MIDI controller number
    • Multi message list: take the NRPN template from the second button “Insert predefined”
    #68948
    Possemo
    Participant
    • Topics: 14
    • Replies: 638
    • Total: 652
    • ★★★

    0 could be MSB and 3 LSB. Just a guess. As these seem to be 7-bit values you have to delete the last line of the NRPN template and change the third to “direct”. like this:

    CC,ByteValue,MSB7bitValue,99,-2
    CC,ByteValue,LSB7bitValue,98,-2
    CC,Direct,Direct,6,-1

    #68949
    punkrev
    Participant
    • Topics: 1
    • Replies: 3
    • Total: 4

    Thanks trying midi ox out I a bit.
    But if you look on the debug on the max editor the message sent looks like this 176 99 0 176 98 1 176 6 (that’s env 2 attack 0:1 on the midi chart).

    #68952
    Possemo
    Participant
    • Topics: 14
    • Replies: 638
    • Total: 652
    • ★★★

    I don’t know max and don’t know what 176 is good for. But the other numbers seem to match: cc 99 is MSB (0) and cc 98 is LSB (1), cc 6 is the value (is there no value?)

    #68953
    punkrev
    Participant
    • Topics: 1
    • Replies: 3
    • Total: 4

    No 6 is not the value that comes up after that line of numbers I think that corresponds to the 6 in CC,Direct,Direct,6,-1
    So where do I put the MSB and the LSB and how do I find the CC number? Or for that do I just use Midi OX (still getting the hang of that)

    #68984
    Possemo
    Participant
    • Topics: 14
    • Replies: 638
    • Total: 652
    • ★★★

    yeah, that’s what I meant (cc number 6 sends the value of the parameter selected with MSB and LSB).

    Values for MSB/LSB are set in the field “Midi Controller number” (enter decimal values here).

    MSB 0 and LSB 1 represents the decimal number 1. MSB 1 and LSB 0 represents the decimal number 128. It is not that hard to understand if you have minimal knowledge of binary notation. The calculator in Ctrlr (Tools -> Midi Calculator) helps you to find out the right number. Set the checkbox “16bit” and Enter 127 in the field “Decimal”. You see that it will display 0000000001111111. Ignore the last two zeroes (NRPN CC’s are 2x7bit = 14 bit). So look at it like 00000001111111. The zeroes are the MSB (most significant bits) and 1111111 are the LSB (least significant bits). Another example: 3:127 represents the decimal number 511: MSB = 0000011, LSB = 1111111.

    #68986
    goodweather
    Participant
    • Topics: 45
    • Replies: 550
    • Total: 595
    • ★★★

    If you assume that you want for example to enter 3:127 and if this means 511 (127+128+256) then the easiest is simply to follow the procedure I explained above:

    • MIDI message type= Multi
    • MIDI controller number= 511
    • Multi message list: take the NRPN template from the second button “Insert predefined” and keep all 4 lines as is

    You will only have to translate your x:y notation into a decimal and enter that decimal value as controller number for each parameter.

    #68987
    Possemo
    Participant
    • Topics: 14
    • Replies: 638
    • Total: 652
    • ★★★

    @goodweather: according to the midi implementation chart these seem to be 7Bit values at max. I mean the parameter values, not the NRPN CCs, these are indeed 14bit. So you would only need one 7Bit parameter value:

    CC,ByteValue,MSB7bitValue,99,-2 — MSB part of NRPN
    CC,ByteValue,LSB7bitValue,98,-2 — LSB part of NRPN
    CC,Direct,Direct,6,-1 — 7Bit value of the parameter

    #69046
    punkrev
    Participant
    • Topics: 1
    • Replies: 3
    • Total: 4

    Still trying to get my head around it but thanks for all the help

    #69052
    Possemo
    Participant
    • Topics: 14
    • Replies: 638
    • Total: 652
    • ★★★

    If you don’t want to care about binary notation you could simply do it that way:

    for CC’s from 0:0 to 0:127 -> just enter the LSB value in the field “Midi Controller number”. So for 0:56 enter 56.

    1:0 to 1:127 -> add 128 to the LSB value. So for 1:45 enter 45+128 = 173

    2:0 to 2:127 -> add 256 to the LSB value. For 2:3 enter 3+256 = 259

    3:0 to 3:127 -> add 384 to the LSB value. For 3:127 enter 127+384 = 511

    I attached a screenshot showing the MIDI setting of a slider for NRPN 1:37.

    Attachments:
    You must be logged in to view attached files.
Viewing 11 posts - 1 through 11 (of 11 total)
  • The forum ‘Using Ctrlr’ is closed to new topics and replies.
There is currently 0 users and 60 guests online
No users are currently active
Forum Statistics
Threads: 2,495, Posts: 17,374, Members: 77,605
Most users ever online was 12 on January 22, 2019 3:47 pm
Ctrlr