SysEx Formula for 4 Bytes of Nibblized Parameter Data?

Home Forums General Using Ctrlr SysEx Formula for 4 Bytes of Nibblized Parameter Data?

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #119401
    spiffo
    Participant
    • Topics: 12
    • Replies: 31
    • Total: 43

    So in the SysEx Formula Box, if I insert:

    LS MS it wil insert the Least Significant Bit followed by the Most Significant Bit, using all 7bits in each.

    ls ms and it will insert LSB followed by MSB but in Nibblized format (only using 4bits)

    What do I need to use in the SysEx Formula when I have FOUR Hex Codes to send, all in Nibblized Form, starting with the LSB and ending with the MSB?

    i.e. ls ?? ?? ms

    #119402
    spiffo
    Participant
    • Topics: 12
    • Replies: 31
    • Total: 43

    After searching for a bit longer I came across a post from Possemo saying he doesn’t know of a way to split the Parameter Value over 4 Nibblized Bytes using ls ms in the SysEx Formula.

    I guess I’ll have to use a LUA script then, unless someone knows different?

    • This reply was modified 1 month, 1 week ago by spiffo.
    #119412
    spiffo
    Participant
    • Topics: 12
    • Replies: 31
    • Total: 43

    For the record, on a Lexicon PCM80, that needs it’s parameters sending in 4 Bytes of Nibblized Data:

    local lfo_rate_value = BigInteger(mod_lfo_rate:getModulatorValue())

    local lsb1 = lfo_rate_value:getBitRangeAsInt(0,4)
    local lsb2 = lfo_rate_value:getBitRangeAsInt(4,4)
    local msb1 = lfo_rate_value:getBitRangeAsInt(8,4)
    local msb2 = lfo_rate_value:getBitRangeAsInt(12,4)

    local lfo_rate_SysEx = string.format(“F0 06 07 00 0B 01 01 00 %.2x %.2x %.2x %.2x F7”,lsb1, lsb2, msb1, msb2)

    panel:sendMidiMessageNow(CtrlrMidiMessage(lfo_rate_SysEx))

    This works a treat!

    #119413
    PossemoPossemo
    Participant
    • Topics: 14
    • Replies: 634
    • Total: 648
    • ★★★

    There are also other ways to do it (in a Lua script) but that’s the way I would do it too. Wow! Lexicon uses 16 Bit parameter resolution. I’d say that this is a bit crazy – 65536 values, phew. IMHO in most cases 8 Bit would be enough (256 values) and in special cases you could use 12 Bit (4069 values) or 14 Bit. Btw. standardized MIDI Pitchbend parameter has 14 Bit. They probably saw that 7 Bit is not enough for the Pitchbend parameter. On the other hand 7 Bit (128 values) is a bit sparse. Most parameters could benefit from 8 Bit res…

    #119415
    spiffo
    Participant
    • Topics: 12
    • Replies: 31
    • Total: 43

    Yep, the LFO Rate goes from 0 – 2500 (Decimal), 0 – 25 Hz in 0.01Hz increments!

    That’s the largest range I can see looking through the MIDI Implementation, so actually you could do that in 3 Nibblized Bytes rather than 4.

    I guess they knew 2 Bytes wasn’t going to cut it so just decided to go with 4, but as far as I can see so far, the highest MSB is always going to be 00.

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.
There is currently 0 users and 34 guests online
No users are currently active
Forum Statistics
Threads: 2,417, Posts: 17,040, Members: 57,372
Most users ever online was 12 on January 22, 2019 3:47 pm
Do NOT follow this link or you will be banned from the site!