Roland TR-8S Sysex: What's what?

0 votes
asked Apr 8, 2024 in How does MIDI Designer work with X? by MIDI Designer Team (Dan)
edited Apr 10, 2024 by MIDI Designer Team (Dan)

4 Answers

+1 vote

Part 1: SysEx Format


The current TRs use Roland "four byte model ID" format.  Use another four byte detailed MIDI Implementation manual (RD-2000, Jupes, etc.).  Or just use the cheat sheet below.

From these other manuals, or being too much of a MIDI geek, you learn the Roland data memory map format.  We have to decode it, but I already have much laid out.  Coming in part 2.
Images
Screenshot 2024-04-08 at 12.19.03 PM.png
Screenshot 2024-04-08 at 12.19.03 PM.png
answered Apr 8, 2024 by jkhiser (19,810 points)
edited Apr 8, 2024 by jkhiser
+1 vote

Part 2: Memory Map Overview


Part 1 discussed the message format.  What goes in the address bits?  If we had a Roland MIDI Implementation, they would first show the overall memory layout.

Here is what I have decoded so far.  My focus was on the sequencer, so I haven't decoded where instrument and maybe sample data lives.

A complicator with the TRs is that there is no scratchpad memory (or maybe the entire unit is scratchpad).

On many synths (all Roland I have worked so far), if I want to edit the sound in part 1, it will be found in a fixed memory location TEMP - Part 1.

The TR does not copy data to a TEMP buffer, but plays directly from original memory locations.  So if I want to edit the instrument in the Bass Drum slot, I cannot go to TEMP - BD.  Instead, we have to look up which kit that is, determine the memory offset for that, then a memory offset for the Bass Drum, then send (or req) value to that address.

Looking at the example message, the address data is 10 59 18 10    
- Using the table, we can see this is kit data, kit 59h, or kit 90 (89 + 1)
- The data is two bytes.  The highest value is 0F - 0F.   This appears is a value that goes 0-255 (00-FF) using what I call Roland nibble encoding.  They are using only the four least significant bits of each MIDI byte.  NP, we have a NAMED TICKS table for that.

Part 3 starts listing specific setting addresses.

Images
Screenshot 2024-04-08 at 3.34.55 PM.png
Screenshot 2024-04-08 at 3.34.55 PM.png
Screenshot 2024-04-08 at 4.00.34 PM.png
Screenshot 2024-04-08 at 4.00.34 PM.png
answered Apr 8, 2024 by jkhiser (19,810 points)
edited Apr 8, 2024 by jkhiser
This is fantastic. "Roland nibble encoding" is slightly annoying. I wonder how common it is and whether we should build it into the App. But for the lazy side right now, please share the spreadsheet -- or a CSV, or whatever --  if you feel it. THANKS for the support so far. I'm excited to get my one knob working.
0 votes

Part 3: Roland Nibble Formats


The image shows how we recognize the nibble formats in a Roland MIDI Implementation chart - 0000 in left hand nibble, xxxx in right hand.
- Address 00 01, Type, is Roland two nibble
- Address 00 07, Parameter 1, is Roland four nibble
- We also occasionally see Roland three nibble - the TRs use this for tempo
- Roland one nibble is a don't care - this is just a 0-15 control
- For an additional twist, the Parameter values shown below may start with an 8_, such as 8x 0x 0x 0x.  
  (Looking at right column, we see it covers a - to + range, doing the math, 0 is at 80 00 00 00.  Negative values rarely appear, so we ignore the leading 8 in math, just add at end.)  I have not seen the 8x format in the TRs, but I haven't been into effects yet, which is where it often appears.

Converting from the MIDI (Rn) to V
- Multiply MSB by 16, add next digit, repeat until LSB is added
- Four digit version (((((V3 * 16) + V2) * 16) + V1) * 16) + V0

Converting from V to Rn
- to load MD Named ticks (two digit): Rn = int(V/16) * 128 + mod(V,16)
- three and more get complicated, have to deal with remainders.  Gotta remember where I have it captured.  (Got too many Roland spreadsheets.)
Images
Roland Nibbles shown in MIDI Implementation Chart
Roland Nibbles shown in MIDI Implementation Chart
answered Apr 9, 2024 by jkhiser (19,810 points)
0 votes

Part 4: First cut at some specific message addresses


First cut at some specific message addresses
Downloads: 24
TR6s TR8S SysEx Format 240505.pdf.zip - Updated spreadsheet as of May 5. Starting to make some progress on how the step edit data is stored.
Downloads: 10

TR-8s TR-6s SysEx Implementation 24-04-17.pdf.zip - (Old version - do not use)
Downloads: 10
Images
4/17/24 update now avail.
4/17/24 update now avail.
answered Apr 10, 2024 by jkhiser (19,810 points)
this is your own TR-6S and TR-8S MIDI manual?
... when we are done with it, will be public.
Love it, thanks thanks!
...