Instrument Definition: Roland TR-8S

Since Hapax (currently?) only supports 8 drums per drum track, I had to split the TR-8S definition in 4. I decided to split the Toms, since I use those less frequent than all other instruments. Also made a “with Toms” and “without Toms” version for the alternate sounds.

TR-8S (without toms)
TR-8S Toms
TR-8S Alternate sounds (without toms)
TR-8S Alternate sounds Toms

TR-8S:

############# DRUM Example 1 #############
VERSION 1 # Currently, this should only be 1.

###### DEFINITIONS

# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME TR-8S

# Can be POLY, DRUM, MPE, or NULL
TYPE DRUM

# Can be A, B, C, D, USBD, USBH, CVGx (x between 1&4), CVx, Gx, or NULL
OUTPORT USBD

# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN 10

# Can be NONE, ALLACTIVE, A, B, USBH, USBD, CVG, or NULL
INPORT NULL

# Can be x (between 1-16), ALL, or NULL. This definition will be ignored if INPORT is NONE, ALLACTIVE or CVG
INCHAN NULL

# DRUMLANES
# Syntax: ROW:TRIG:CHAN:NOTENUMBER NAME
# ROW must be between 1 and 8
# TRIG can be between 0 and 127, or NULL
# CHAN can be a number between 1 and 16, Gx, CVx, CVGx (x between 1 and 4), or NULL
# NOTENUMBER can be between 0 and 127, or NULL
# NAME supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
# Please note this section will be discarded for tracks which are not DRUM tracks
[DRUMLANES]
8:NULL:10:51 RC
7:NULL:10:49 CC
6:NULL:10:46 OH
5:NULL:10:42 CH
4:NULL:10:39 HC
3:NULL:10:37 RS
2:NULL:10:38 SD
1:NULL:10:36 BD
[/DRUMLANES]


# PC
# Syntax: NUMBER NAME
# number must be either:
#   - A number (for simple PC)
#   - Three numbers, delimited by ':', which represent PC:MSB:LSB. You can put 'NULL' to not set the MSB/LSB.
# PC must be between 1...128
# MSB/LSB must be between 0...127
[PC]
[/PC]

# CC
# Syntax: CC_NUMBER NAME or CC_NUMBER:DEFAULT=xx NAME
# DEFAULT_VALUE must be a valid number between 0 and 127
[CC]
20 BD TUNE
23 BD DECAY
96 BD CTRL
24 BD LEVEL
25 SD TUNE
28 SD DECAY
97 SD CTRL
29 SD LEVEL
46 LT TUNE
47 LT DECAY
102 LT CTRL
48 LT LEVEL
49 MT TUNE
50 MT DECAY
103 MT CTRL
51 MT LEVEL
52 HT TUNE
53 HT DECAY
104 HT CTRL
54 HT LEVEL
55 RS TUNE
56 RS DECAY
105 RS CTRL
57 RS LEVEL
58 HC TUNE
59 HC DECAY
106 HC CTRL
60 HC LEVEL
61 CH TUNE
62 CH DECAY
107 CH CTRL
63 CH LEVEL
71 ACCENT
80 OH TUNE
81 OH DECAY
108 OH CTRL
82 OH LEVEL
83 CC TUNE
84 CC DECAY
109 CC CTRL
85 CC LEVEL
86 RC TUNE
87 RC DECAY
110 RC CTRL
88 RC LEVEL
91 REVERB LEVEL
16 DELAY LEVEL
17 DELAY TIME
18 DELAY FEEDBACK
19 MASTER FX CTRL
15 MASTER FX ON
70 AUTO FILL IN MANUAL TRIG
14 AUTO FILL IN ON
12 EXTERNAL IN LEVEL
9 SHUFFLE
[/CC]


# ASSIGN
# Syntax: POT_NUMBER TYPE:VALUE or POT_NUMBER TYPE:VALUE DEFAULT=DEFAULT_VALUE
# POT_NUMBER must be between 1 and 8
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", "NRPN", or "NULL" (this won't assign the pot).
# Non explicitly-defined pots will be considered "NULL"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
# DEFAULT VALUE
#### For CC: DEFAULT_VALUE must be a valid number between 0 and 127
#### For PB: DEFAULT_VALUE must be a valid number between 0 and 16383
#### For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
#### For CV: DEFAULT_VALUE must be either a valid number between 0 and 65535, or a voltage between -5V and 5V, e.g. "-4.25V" or "1.7V"
#### Please note default value will be ignored for PB and AT messages.
[ASSIGN]

[/ASSIGN]


# AUTOMATION
# Syntax: TYPE:VALUE
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", or "NRPN"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
[AUTOMATION]

[/AUTOMATION]


# This section will be readable from Hapax.
[COMMENT]

[/COMMENT]

TR-8S Toms:

############# DRUM Example 1 #############
VERSION 1 # Currently, this should only be 1.

###### DEFINITIONS

# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME TR-8S Toms

# Can be POLY, DRUM, MPE, or NULL
TYPE DRUM

# Can be A, B, C, D, USBD, USBH, CVGx (x between 1&4), CVx, Gx, or NULL
OUTPORT USBD

# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN 10

# Can be NONE, ALLACTIVE, A, B, USBH, USBD, CVG, or NULL
INPORT NULL

# Can be x (between 1-16), ALL, or NULL. This definition will be ignored if INPORT is NONE, ALLACTIVE or CVG
INCHAN NULL

# DRUMLANES
# Syntax: ROW:TRIG:CHAN:NOTENUMBER NAME
# ROW must be between 1 and 8
# TRIG can be between 0 and 127, or NULL
# CHAN can be a number between 1 and 16, Gx, CVx, CVGx (x between 1 and 4), or NULL
# NOTENUMBER can be between 0 and 127, or NULL
# NAME supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
# Please note this section will be discarded for tracks which are not DRUM tracks
[DRUMLANES]
7:NULL:10:49 CC
6:NULL:10:46 OH
5:NULL:10:42 CH
4:NULL:10:50 HT
4:NULL:10:47 MT
3:NULL:10:43 LT
2:NULL:10:38 SD
1:NULL:10:36 BD
[/DRUMLANES]


# PC
# Syntax: NUMBER NAME
# number must be either:
#   - A number (for simple PC)
#   - Three numbers, delimited by ':', which represent PC:MSB:LSB. You can put 'NULL' to not set the MSB/LSB.
# PC must be between 1...128
# MSB/LSB must be between 0...127
[PC]
[/PC]

# CC
# Syntax: CC_NUMBER NAME or CC_NUMBER:DEFAULT=xx NAME
# DEFAULT_VALUE must be a valid number between 0 and 127
[CC]
20 BD TUNE
23 BD DECAY
96 BD CTRL
24 BD LEVEL
25 SD TUNE
28 SD DECAY
97 SD CTRL
29 SD LEVEL
46 LT TUNE
47 LT DECAY
102 LT CTRL
48 LT LEVEL
49 MT TUNE
50 MT DECAY
103 MT CTRL
51 MT LEVEL
52 HT TUNE
53 HT DECAY
104 HT CTRL
54 HT LEVEL
55 RS TUNE
56 RS DECAY
105 RS CTRL
57 RS LEVEL
58 HC TUNE
59 HC DECAY
106 HC CTRL
60 HC LEVEL
61 CH TUNE
62 CH DECAY
107 CH CTRL
63 CH LEVEL
71 ACCENT
80 OH TUNE
81 OH DECAY
108 OH CTRL
82 OH LEVEL
83 CC TUNE
84 CC DECAY
109 CC CTRL
85 CC LEVEL
86 RC TUNE
87 RC DECAY
110 RC CTRL
88 RC LEVEL
91 REVERB LEVEL
16 DELAY LEVEL
17 DELAY TIME
18 DELAY FEEDBACK
19 MASTER FX CTRL
15 MASTER FX ON
70 AUTO FILL IN MANUAL TRIG
14 AUTO FILL IN ON
12 EXTERNAL IN LEVEL
9 SHUFFLE
[/CC]


# ASSIGN
# Syntax: POT_NUMBER TYPE:VALUE or POT_NUMBER TYPE:VALUE DEFAULT=DEFAULT_VALUE
# POT_NUMBER must be between 1 and 8
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", "NRPN", or "NULL" (this won't assign the pot).
# Non explicitly-defined pots will be considered "NULL"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
# DEFAULT VALUE
#### For CC: DEFAULT_VALUE must be a valid number between 0 and 127
#### For PB: DEFAULT_VALUE must be a valid number between 0 and 16383
#### For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
#### For CV: DEFAULT_VALUE must be either a valid number between 0 and 65535, or a voltage between -5V and 5V, e.g. "-4.25V" or "1.7V"
#### Please note default value will be ignored for PB and AT messages.
[ASSIGN]

[/ASSIGN]


# AUTOMATION
# Syntax: TYPE:VALUE
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", or "NRPN"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
[AUTOMATION]

[/AUTOMATION]


# This section will be readable from Hapax.
[COMMENT]

[/COMMENT]

TR-8S Alt:

############# DRUM Example 1 #############
VERSION 1 # Currently, this should only be 1.

###### DEFINITIONS

# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME TR-8S Alt

# Can be POLY, DRUM, MPE, or NULL
TYPE DRUM

# Can be A, B, C, D, USBD, USBH, CVGx (x between 1&4), CVx, Gx, or NULL
OUTPORT USBD

# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN 10

# Can be NONE, ALLACTIVE, A, B, USBH, USBD, CVG, or NULL
INPORT NULL

# Can be x (between 1-16), ALL, or NULL. This definition will be ignored if INPORT is NONE, ALLACTIVE or CVG
INCHAN NULL

# DRUMLANES
# Syntax: ROW:TRIG:CHAN:NOTENUMBER NAME
# ROW must be between 1 and 8
# TRIG can be between 0 and 127, or NULL
# CHAN can be a number between 1 and 16, Gx, CVx, CVGx (x between 1 and 4), or NULL
# NOTENUMBER can be between 0 and 127, or NULL
# NAME supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
# Please note this section will be discarded for tracks which are not DRUM tracks
[DRUMLANES]
8:NULL:10:59 RC Alt
7:NULL:10:47 CC Alt
6:NULL:10:55 OH Alt
5:NULL:10:44 CH Alt
4:NULL:10:54 HC Alt
3:NULL:10:56 RS Alt
2:NULL:10:40 SD Alt
1:NULL:10:35 BD Alt
[/DRUMLANES]


# PC
# Syntax: NUMBER NAME
# number must be either:
#   - A number (for simple PC)
#   - Three numbers, delimited by ':', which represent PC:MSB:LSB. You can put 'NULL' to not set the MSB/LSB.
# PC must be between 1...128
# MSB/LSB must be between 0...127
[PC]
[/PC]

# CC
# Syntax: CC_NUMBER NAME or CC_NUMBER:DEFAULT=xx NAME
# DEFAULT_VALUE must be a valid number between 0 and 127
[CC]
20 BD TUNE
23 BD DECAY
96 BD CTRL
24 BD LEVEL
25 SD TUNE
28 SD DECAY
97 SD CTRL
29 SD LEVEL
46 LT TUNE
47 LT DECAY
102 LT CTRL
48 LT LEVEL
49 MT TUNE
50 MT DECAY
103 MT CTRL
51 MT LEVEL
52 HT TUNE
53 HT DECAY
104 HT CTRL
54 HT LEVEL
55 RS TUNE
56 RS DECAY
105 RS CTRL
57 RS LEVEL
58 HC TUNE
59 HC DECAY
106 HC CTRL
60 HC LEVEL
61 CH TUNE
62 CH DECAY
107 CH CTRL
63 CH LEVEL
71 ACCENT
80 OH TUNE
81 OH DECAY
108 OH CTRL
82 OH LEVEL
83 CC TUNE
84 CC DECAY
109 CC CTRL
85 CC LEVEL
86 RC TUNE
87 RC DECAY
110 RC CTRL
88 RC LEVEL
91 REVERB LEVEL
16 DELAY LEVEL
17 DELAY TIME
18 DELAY FEEDBACK
19 MASTER FX CTRL
15 MASTER FX ON
70 AUTO FILL IN MANUAL TRIG
14 AUTO FILL IN ON
12 EXTERNAL IN LEVEL
9 SHUFFLE
[/CC]


# ASSIGN
# Syntax: POT_NUMBER TYPE:VALUE or POT_NUMBER TYPE:VALUE DEFAULT=DEFAULT_VALUE
# POT_NUMBER must be between 1 and 8
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", "NRPN", or "NULL" (this won't assign the pot).
# Non explicitly-defined pots will be considered "NULL"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
# DEFAULT VALUE
#### For CC: DEFAULT_VALUE must be a valid number between 0 and 127
#### For PB: DEFAULT_VALUE must be a valid number between 0 and 16383
#### For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
#### For CV: DEFAULT_VALUE must be either a valid number between 0 and 65535, or a voltage between -5V and 5V, e.g. "-4.25V" or "1.7V"
#### Please note default value will be ignored for PB and AT messages.
[ASSIGN]

[/ASSIGN]


# AUTOMATION
# Syntax: TYPE:VALUE
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", or "NRPN"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
[AUTOMATION]

[/AUTOMATION]


# This section will be readable from Hapax.
[COMMENT]

[/COMMENT]

TR-8S Alt Toms:

############# DRUM Example 1 #############
VERSION 1 # Currently, this should only be 1.

###### DEFINITIONS

# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME TR-8S Alt Toms

# Can be POLY, DRUM, MPE, or NULL
TYPE DRUM

# Can be A, B, C, D, USBD, USBH, CVGx (x between 1&4), CVx, Gx, or NULL
OUTPORT USBD

# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN 10

# Can be NONE, ALLACTIVE, A, B, USBH, USBD, CVG, or NULL
INPORT NULL

# Can be x (between 1-16), ALL, or NULL. This definition will be ignored if INPORT is NONE, ALLACTIVE or CVG
INCHAN NULL

# DRUMLANES
# Syntax: ROW:TRIG:CHAN:NOTENUMBER NAME
# ROW must be between 1 and 8
# TRIG can be between 0 and 127, or NULL
# CHAN can be a number between 1 and 16, Gx, CVx, CVGx (x between 1 and 4), or NULL
# NOTENUMBER can be between 0 and 127, or NULL
# NAME supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
# Please note this section will be discarded for tracks which are not DRUM tracks
[DRUMLANES]
7:NULL:10:47 CC Alt
6:NULL:10:55 OH Alt
5:NULL:10:44 CH Alt
4:NULL:10:48 HT Alt
4:NULL:10:45 MT Alt
3:NULL:10:41 LT Alt
2:NULL:10:40 SD Alt
1:NULL:10:35 BD Alt
[/DRUMLANES]


# PC
# Syntax: NUMBER NAME
# number must be either:
#   - A number (for simple PC)
#   - Three numbers, delimited by ':', which represent PC:MSB:LSB. You can put 'NULL' to not set the MSB/LSB.
# PC must be between 1...128
# MSB/LSB must be between 0...127
[PC]
[/PC]

# CC
# Syntax: CC_NUMBER NAME or CC_NUMBER:DEFAULT=xx NAME
# DEFAULT_VALUE must be a valid number between 0 and 127
[CC]
20 BD TUNE
23 BD DECAY
96 BD CTRL
24 BD LEVEL
25 SD TUNE
28 SD DECAY
97 SD CTRL
29 SD LEVEL
46 LT TUNE
47 LT DECAY
102 LT CTRL
48 LT LEVEL
49 MT TUNE
50 MT DECAY
103 MT CTRL
51 MT LEVEL
52 HT TUNE
53 HT DECAY
104 HT CTRL
54 HT LEVEL
55 RS TUNE
56 RS DECAY
105 RS CTRL
57 RS LEVEL
58 HC TUNE
59 HC DECAY
106 HC CTRL
60 HC LEVEL
61 CH TUNE
62 CH DECAY
107 CH CTRL
63 CH LEVEL
71 ACCENT
80 OH TUNE
81 OH DECAY
108 OH CTRL
82 OH LEVEL
83 CC TUNE
84 CC DECAY
109 CC CTRL
85 CC LEVEL
86 RC TUNE
87 RC DECAY
110 RC CTRL
88 RC LEVEL
91 REVERB LEVEL
16 DELAY LEVEL
17 DELAY TIME
18 DELAY FEEDBACK
19 MASTER FX CTRL
15 MASTER FX ON
70 AUTO FILL IN MANUAL TRIG
14 AUTO FILL IN ON
12 EXTERNAL IN LEVEL
9 SHUFFLE
[/CC]


# ASSIGN
# Syntax: POT_NUMBER TYPE:VALUE or POT_NUMBER TYPE:VALUE DEFAULT=DEFAULT_VALUE
# POT_NUMBER must be between 1 and 8
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", "NRPN", or "NULL" (this won't assign the pot).
# Non explicitly-defined pots will be considered "NULL"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
# DEFAULT VALUE
#### For CC: DEFAULT_VALUE must be a valid number between 0 and 127
#### For PB: DEFAULT_VALUE must be a valid number between 0 and 16383
#### For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
#### For CV: DEFAULT_VALUE must be either a valid number between 0 and 65535, or a voltage between -5V and 5V, e.g. "-4.25V" or "1.7V"
#### Please note default value will be ignored for PB and AT messages.
[ASSIGN]

[/ASSIGN]


# AUTOMATION
# Syntax: TYPE:VALUE
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", or "NRPN"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
[AUTOMATION]

[/AUTOMATION]


# This section will be readable from Hapax.
[COMMENT]

[/COMMENT]

6 Likes

@Maarten the trackname of the first one has “Alt” in it.

Thanks for creating these.
I just wanted to create one myself for the TR-8S.
I was also thinking to leave the 2 toms out :slight_smile:

Thanks! Fixed it :slight_smile:

OK - Im trying to set up a TR8s defintion. I DONT HAVE A CLUE… Even with this - no idea what to do with it.

Why can I not just open a difintion on the hardware, select a note, and save it. So much easier.
Im so lost, Ive not even TRIED to sequence the TR8s in the 6 months Ive had Hapax… I just sequence my suynths and used the TR8s own sequencer.

I need to move away from that - but no clue. Even looking at this information - Im like WTF does that mean.

I have no clue on this stuff - except I know wat a CC is. files? nope. strings? nope. Files … nope lol.

Desperately need help

Are you on Win pc or Mac?

If on Win pc:

  1. Insert your Hapax SD card into your computer.

  2. Open the Hapax folder inside.

  3. Right-click anywhere on the background in the folder and select Create new > Notepad file

  4. Open the newly created Notepad file and copy-paste the code provided in the first post of any of these Instrument Definition topics.

  5. Save the Notepad file and insert the SD card into your Hapax.

  6. Select the Instrument Definition by holding Shift + Track [number] and click the 7th encoder to select it

I noticed a typo in your Toms and Alt Toms definitions:

4:NULL:10:48 HT Alt
4:NULL:10:45 MT Alt

You have the MT and HT on the same pad.

Tr8s owners… I’m a new Hapax owner (loving it so far) but seem to have an issue setting up automation with the tr8s in that the automation data seems to transmit on the same channel as kit change, which causes the following issue.

If I don’t transmit a kit change command (IE don’t use the kit change channel) and just rely on the assigned kit to the pattern I’ve chosen, automation doesn’t seem to work. If I set the kit change channel to 10, as for pattern change, automation works but if my kit and pattern are on different numbers to wrong kit plays.

The obvious solution is the have kit and pattern on the same number, but if there’s a solution to this I would like to know it. Anyone else experienced this?

Never had this issue with the Octatrack

Edit:
I’ll add that I’m using the above definition (1st one)

You’re right, well spotted.

Would like to edit the first post to fix the errors, but I can’t…