Home › Forums › General › Using Ctrlr › TG33 Sysex help
- This topic has 9 replies, 2 voices, and was last updated 12 years, 8 months ago by atom.
-
AuthorPosts
-
September 8, 2011 at 12:19 pm #435
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?
September 8, 2011 at 12:35 pm #3256does 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.September 8, 2011 at 2:17 pm #3257"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 ” title=”Sad” />I’ll keep trying.
September 8, 2011 at 2:32 pm #3258well 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.September 8, 2011 at 2:57 pm #3259YES!
10=1, 11=2..(ln was 1n) ” title=”Smile” />
works now just how it should
September 8, 2011 at 4:03 pm #3260ah 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.
September 13, 2011 at 9:09 am #3261Combination 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 thisTG33 panel is almost ready for upload btw.
September 13, 2011 at 9:42 am #3262It’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.
September 13, 2011 at 10:03 am #3263"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
” title=”Very Happy” /> why yamaha did not just use maximum value of 99 for midi..September 13, 2011 at 10:18 am #3264i 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.
-
AuthorPosts
- The forum ‘Using Ctrlr’ is closed to new topics and replies.