Instrument Definition: Roland System 1(M)

The alternative waveshapes that were added in a later firmware are somewhat hard to get to, so I’ve pre-assigned them to knobs, and added some more oscillator related CCs while I was at it, just to have them in one place. Preset bank selection is kind of unintuitive as well, so I’ve added a list of all 64 preset slots. Feel free to thin them out a little if load times annoy you.

VERSION 1 # Currently, this should only be 1.

TRACKNAME SYSTEM-1
TYPE POLY

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

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

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

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

[PC]
1:0:0 1-1
2:0:0 1-2
3:0:0 1-3
4:0:0 1-4
5:0:0 1-5
6:0:0 1-6
7:0:0 1-7
8:0:0 1-8
1:0:1 2-1
2:0:1 2-2
3:0:1 2-3
4:0:1 2-4
5:0:1 2-5
6:0:1 2-6
7:0:1 2-7
8:0:1 2-8
1:0:2 3-1
2:0:2 3-2
3:0:2 3-3
4:0:2 3-4
5:0:2 3-5
6:0:2 3-6
7:0:2 3-7
8:0:2 3-8
1:0:3 4-1
2:0:3 4-2
3:0:3 4-3
4:0:3 4-4
5:0:3 4-5
6:0:3 4-6
7:0:3 4-7
8:0:3 4-8
1:0:4 5-1
2:0:4 5-2
3:0:4 5-3
4:0:4 5-4
5:0:4 5-5
6:0:4 5-6
7:0:4 5-7
8:0:4 5-8
1:0:5 6-1
2:0:5 6-2
3:0:5 6-3
4:0:5 6-4
5:0:5 6-5
6:0:5 6-6
7:0:5 6-7
8:0:5 6-8
1:0:6 7-1
2:0:6 7-2
3:0:6 7-3
4:0:6 7-4
5:0:6 7-5
6:0:6 7-6
7:0:6 7-7
8:0:6 7-8
1:0:7 8-1
2:0:7 8-2
3:0:7 8-3
4:0:7 8-4
5:0:7 8-5
6:0:7 8-6
7:0:7 8-7
8:0:7 8-8
[/PC]

[CC]
117 LFO TRIG
118 CLK SYNC
26 LFO SPD
27 LFO FADE
28 LFO FLT
29 LFO RATE
30 LFO AMP
35 LFO TYPE

119 MONO-POLY
47 O1 RANGE
105 O1 VAR 0-1
46 O1 TYPE
50 O1 COLR
60 O1 MOD
52 O1 XMOD
62 O2 RANGE
106 O2 VAR 0-1
61 O2 TYPE
55 O2 COLR
56 O2 TUNE
63 O2 MOD
111 O2 RING
112 O2 SYNC

113 SUBOSC TYPE
114 NOISE TYPE
16 MIX OSC1
17 MIX OSC2
18 MIX SUBO
19 MIX NOIS

22 PITCHENV
23 PITCHATK
24 PITCHDEC

79 HPF CUT
115 LPF TYPE
3 LPF CUT
9 LFP RES
82 LPF KEYTRK
81 LPF ENV
83 LPF ATK
84 LPF DEC
85 LPF SUST
86 LPF REL

89 AMP ATK
90 AMP DEC
96 AMP SUST
97 AMP REL
69 AMP TONE

12 BITCRUSH
91 REVERB
94 DELAY
13 DLY TIME

1 MODWHEEL
5 PORTA
11 PEDLCTRL
64 SUSTAIN
116 LEGATO
[/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:105 #Osc 1 Variant 0-1
2 CC:46 #Osc 1 Waveform
3 CC:106 #Osc 2 Variant 0-1
4 CC:61 #Osc 2 Waveform
5 CC:50 #Osc 1 Colour
6 CC:55 #Osc 2 Colour
7 CC:16 #Osc 1 Mix
8 CC:17 #Osc 2 Mix
[/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]
OSC VAR values 0-1 switch between alt waveshapes
[/COMMENT]