TG33 Sysex help

Home Forums General Using Ctrlr TG33 Sysex help

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #435
    aksoni
    Participant
      • Topics: 4
      • Replies: 26
      • Total: 30

      Summer is over, back to coding…

      Can someone give me advice how Sysex formula should look for Yamaha TG33?
      Let’s take parameter for "Element A – Wave type" for example. Manual says:
      [quote:2dk77x70]MIDI Parameter Change table (Voice Element Tone)
      $F0, $43, $ln, $26, $02, $ST, $0b, $F1, $F2, $B1, $B2, $V1, $V2, $F7
      note)
      n = device number
      b = element number (0=Element A, 1=Element B, 2=Element C, 3=Element D)
      V1 = MSB of parameter value
      V2 = LSB 7bits of parameter value[/quote:2dk77x70]
      [quote:2dk77x70]Wave type:
      ST=$00, F1=$00, F2=$00, B1=$01, B2=$7F[/quote:2dk77x70]
      So I tought Sysex formula should look like:
      [quote:2dk77x70]F0 43 00 26 02 00 00 00 00 01 7F ms LS F7[/quote:2dk77x70]
      ..nothing happens.
      I have also tried various options for $ln (device number?) and 4bit & 7bit MSB.

      Any clues what i’m doing wrong?

      #3256
      atom
      Keymaster
        • Topics: 159
        • Replies: 2945
        • Total: 3104
        • ★★★★★

        does the TG33 transmit any midi ? maybe you can catch some SysEx from the device to see how they should look like and compare with what you are trying to send.
        If it does not transmit anything my guess is you are getting some bytes wrong, it’s hard to debug without the actual device, i”d try to write this down in whatever format you find comfortable (the whole $F0 stuff is weird and unclear, for me $ means a variable and here i guess it means a static HEX value). Also the manual must say what is the $ln, i assume this will be some kind of device identifier for the TG33. Also i see that the JSynthLib software can talk to the TG33 so maybe try that and catch some output that it’s sending to the device, then you will be 100% sure how this should work.

        #3257
        aksoni
        Participant
          • Topics: 4
          • Replies: 26
          • Total: 30
          "atom":i8o2caeg wrote:
          does the TG33 transmit any midi ?[/quote:i8o2caeg]
          Only joystick movement as Midi CC + Voice/Multi dumps, so I can’t just copy information from MIDI Monitor how I normally would.

          "atom":i8o2caeg wrote:
          Also the manual must say what is the $ln, i assume this will be some kind of device identifier for the TG33.[/quote:i8o2caeg]
          There is a MIDI BULK Device# -setting, changing it & sending sysex dump will change $ln -part between values 00-0F (1-16), so $ln should work ok with 00, when set to 1 (?)

          "atom":i8o2caeg wrote:
          JSynthLib software can talk to the TG33[/quote:i8o2caeg]
          JSynthLib does not support voice editing for TG33, only banks & patches <img decoding=” title=”Sad” />

          I’ll keep trying.

          #3258
          atom
          Keymaster
            • Topics: 159
            • Replies: 2945
            • Total: 3104
            • ★★★★★

            well it’s hard to say then, $ln looks like a midi channel thing so yeah 00 up to 0f usually 00 means "everything" or "omni" and yes 00 is 1 (since everything in MIDI is 0 indexed)
            i guess you need to fiddle about with those bytes and see what works (this is hard work believe me i know) i always start with something that does not involve LSB/MSB splitting like a true/false parameter
            to get the right format of the total message, from that move to parameters that have LSB/MSB encoded values.

            #3259
            aksoni
            Participant
              • Topics: 4
              • Replies: 26
              • Total: 30

              YES!

              10=1, 11=2..(ln was 1n) <img decoding=” title=”Smile” />

              works now just how it should

              #3260
              atom
              Keymaster
                • Topics: 159
                • Replies: 2945
                • Total: 3104
                • ★★★★★

                ah yes yamaha does that a lot, the same is for DX7 and DX21 it’s a 8 bit message split into 4 bit blocks. it’s good that it works.

                #3261
                aksoni
                Participant
                  • Topics: 4
                  • Replies: 26
                  • Total: 30

                  Combination of MSB 4-bit and LSB 7-bit gives some trouble.
                  MSB should have only range of 00-0F, changing when LSB hits over 7F (or under 00).
                  MSB 7-bit works for parameters using only positive values, but when going to negative side, MSB should start from 0F instead of FF.

                  To be clear:
                  Parameter with value of "-1" should receive MSB value of "0F" and LSB value of "7F"

                  also I think there is a bug:
                  CTRLR wont send any midi on "-1" using sysex.
                  Simple sysex knob (like F0 MS LS F7) with range from -2 to +2 will show this

                  TG33 panel is almost ready for upload btw.

                  #3262
                  atom
                  Keymaster
                    • Topics: 159
                    • Replies: 2945
                    • Total: 3104
                    • ★★★★★

                    It’s not a bug, it’s just something that is not implemented in MIDI, there are no negative numbers in MIDI, you need to use the expression evaluator (top 2 properties for a modulator) to map negative values to the ones you want to appear in the midi message, and the other way around when you receive a message. If that doesn’t work for you, there is always LUA and you can do anything in it.

                    #3263
                    aksoni
                    Participant
                      • Topics: 4
                      • Replies: 26
                      • Total: 30
                      "atom":2szcfuyc wrote:
                      It’s not a bug, it’s just something that is not implemented in MIDI, there are no negative numbers in MIDI[/quote:2szcfuyc]
                      Yes, but scrolling on negative side should start at maximum values (MSB=FF, LSB =7F), just does not work on -1.
                      -2 will send MSB=FF, LSB=7E, like it should?

                      "atom":2szcfuyc wrote:
                      you need to use the expression evaluator (top 2 properties for a modulator) to map negative values to the ones you want to appear in the midi message[/quote:2szcfuyc]
                      Yup, TG33 has some quite odd implention of parameters, like basic volume knob for element work on 0-99 range, but 0-127 range in midi + it is backwards, so it need following expression to work: ((modulatorValue-99)*-1)/99*128
                      <img decoding=” title=”Very Happy” /> why yamaha did not just use maximum value of 99 for midi..
                      #3264
                      atom
                      Keymaster
                        • Topics: 159
                        • Replies: 2945
                        • Total: 3104
                        • ★★★★★

                        i was putting aside the sysex processor stuff, but i think i’ll dive into it and i’ll see what i can do about negative values in sysex.

                      Viewing 10 posts - 1 through 10 (of 10 total)
                      • The forum ‘Using Ctrlr’ is closed to new topics and replies.
                      There is currently 0 users and 88 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