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: 38
      • Total: 50

      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: 38
        • Total: 50

        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 3 years, 7 months ago by spiffo.
        #119412
        spiffo
        Participant
          • Topics: 12
          • Replies: 38
          • Total: 50

          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
          Possemo
          Participant
            • Topics: 14
            • Replies: 638
            • Total: 652
            • ★★★

            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: 38
              • Total: 50

              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)
            • The forum ‘Using Ctrlr’ is closed to new topics and replies.
            There is currently 0 users and 42 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