MIDI DESIGNER
The only MIDI controller for iPad, iPhone, and Mac


Talk to other MIDI Designer users about MIDI Designer, iOS MIDI and related topics. Or share layouts, pages, and ideas.

Check out our Facebook Group.

Of course, if you want to send us an email, feel free.

Open problem reports

Summary of user requests
Roland TR-8S Sysex: What's what? - MIDI Designer Q&A
0 votes
in How does MIDI Designer work with X? by MIDI Designer Team (Dan)
edited 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
by jkhiser (21.4k points)
edited 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
by jkhiser (21.4k points)
edited 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
by jkhiser (21.4k points)
0 votes

Working SysEx Message Details


MIDI Target Manufacturer(s): Roland
Think this is starting to look pretty solid - filled in most of the step edit details, and able to get the board to respond to most things with the TR managers.  Images are overview - look in the file for the details.
Downloads: 263
TR6s - 8s SysEx Format 250302.pdf.zip - Starting to look pretty solid though step edit data
Downloads: 59

TR8s-6s SysEx format 250227.pdf.zip - (Old version, do not use)
Downloads: 44

TR6s TR8S SysEx Format 240505.pdf.zip - (Old version - do not use)
Downloads: 78

TR-8s TR-6s SysEx Implementation 24-04-17.pdf.zip - (Old version - do not use)
Downloads: 79
Images
Tr 6s / 8s Message Formats
Tr 6s / 8s Message Formats
Tr 6s / 8s Memory Overview
Tr 6s / 8s Memory Overview
Tr 6s / 8s Message Details
Tr 6s / 8s Message Details
Tr 6s / 8s Step Edit Overview.png
Tr 6s / 8s Step Edit Overview.png
by jkhiser (21.4k points)
edited by jkhiser
this is your own TR-6S and TR-8S MIDI manual?
... when we are done with it, will be public.
Love it, thanks thanks!
latest spreadsheet added
...