VERSION 1 # Currently, this should only be 1.
# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME Roland R8
# Can be POLY, DRUM, MPE, or NULL
TYPE Poly
# Can be A, B, C, D, USBD, USBH, CVGx (x between 1&4), CVx, Gx, or NULL
OUTPORT NULL
# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN NULL
# 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
# This defines the default 'MAX RATE' for automation lanes.
# Can be NULL, 192, 96, 64, 48, 32, 24, 16, 12, 8, 6, 4, 3, 2, 1
MAXRATE 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]
[/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]
1 PTN00
2 PTN01
3 PTN02
4 PTN03
5 PTN04
6 PTN05
7 PTN06
8 PTN07
9 PTN08
10 PTN09
11 PTN10
12 PTN11
13 PTN12
14 PTN13
15 PTN14
16 PTN15
17 PTN16
18 PTN17
19 PTN18
20 PTN19
21 PTN20
22 PTN21
23 PTN22
24 PTN23
25 PTN24
26 PTN25
27 PTN26
28 PTN27
29 PTN28
30 PTN29
31 PTN30
32 PTN31
33 PTN32
34 PTN33
35 PTN34
36 PTN35
37 PTN36
38 PTN37
39 PTN38
40 PTN39
41 PTN40
42 PTN41
43 PTN42
44 PTN43
45 PTN44
46 PTN45
47 PTN46
48 PTN47
49 PTN48
50 PTN49
51 PTN50
52 PTN51
53 PTN52
54 PTN53
55 PTN54
56 PTN55
57 PTN56
58 PTN57
59 PTN58
60 PTN59
61 PTN60
62 PTN61
63 PTN62
64 PTN63
65 PTN64
66 PTN65
67 PTN66
68 PTN67
69 PTN68
70 PTN69
71 PTN70
72 PTN71
73 PTN72
74 PTN73
75 PTN74
76 PTN75
77 PTN76
78 PTN77
79 PTN78
80 PTN79
81 PTN80
82 PTN81
83 PTN82
84 PTN83
85 PTN84
86 PTN85
87 PTN86
88 PTN87
89 PTN88
90 PTN89
91 PTN90
92 PTN91
93 PTN92
94 PTN93
95 PTN94
96 PTN95
97 PTN96
98 PTN97
99 PTN98
100 PTN99
[/PC]
# CC
# Syntax: CC_NUMBER NAME or CC_NUMBER:DEFAULT=xx NAME
# DEFAULT_VALUE must be a valid number between 0 and 127
[CC]
1 MODULO
16 CTRL-1
17 CTRL-2
18 CTRL-3
19 CTRL-4
80 CTRL-5
81 CTRL-6
82 CTRL-7
83 CTRL-8
[/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]
1 CC:16
2 CC:17
3 CC:18
4 CC:19
5 CC:80
6 CC:81
7 CC:82
8 CC:83
[/ASSIGN]
# This section will be readable from Hapax.
[COMMENT]
Roland R8
[/COMMENT]
Hopefully this works - I had a question on a video I made about controlling the Roland R8 with the Hapax, so here’s the instrument definition file.
Few disclaimers:
- The R8 is quite limited with its MIDI. Each instrument can be freely assigned a note, and there are 8 available CCs you can freely assign to any instrument in order to control the instrument’s pitch, decay, nuance and pan, though only the first four CCs can be assigned to pitch (!!) - For example, assign CLSD_H1 to be note C4, and then map Ctrl-1 thru 4 to be Pitch, Decay, Nuance, Pan. The Hapax can then play CLSD_H1 and automate its values
- If an instrument is already part of a pattern, it will ignore incoming CCs - in the above example, if I’d already programmed a pattern on the R8 with hi-hats, sending CC ctrl won’t change its pitch. However, if I play the hi-hat on the Hapax (by sending note C4), I can change its pitch.
- You can record patterns made on the Hapax as patterns in the R8 by syncing the two together and real-time recording. This does pick up any CC changes you’ve programmed into the Hapax
- Using it this way is probably more like the R8M. If you want to use the internal sequencer, use PrgCh to change patterns
- Should also say, check in the manual about the MIDI Function Switches. By default, I think Prg Chg and Controller Chg are off, as is Sysex, and obviously you’ll need to work out your own channel/port config!!