Juno-106 SysEx in detail |
In general, the Juno-106 does not use the Midi Command "Control Change" (Bn hex).
Instead, it uses System Exclusive (SysEx) messages.
The only Control-Change messages which were used (and documented in the Owner's Manual) are:
Control Change: Modulation |
code (hex) | meaning | comment |
Bn | Control Change | n = Midi channel (0-F) |
01 | Modulation | |
vv | value | 00 = Modulation off 7F = Modulation on |
Example:
B0 01 00
Set Modulation off
|
Control Change: Pedal |
code (hex) | meaning | comment |
Bn | Control Change | n = Midi channel (0-F) |
40 | Pedal | |
vv | value | 00 = Pedal hold off 7F = Pedal hold on |
Example:
B0 40 7F
Set Pedal hold on
|
|
When controllers (faders, switches) are changed, a SysEx message will be sent.
Some of the switches were grouped together and the data are bit-masked.
SysEx: Control Change |
code (hex) | meaning | comment |
F0 | Begin SysEx | |
41 | Manufaturer ID | 41 = Roland |
32 | Message Type | 32 = Control change |
0n | channel | n = Midi channel (0-F) |
cc | Control | number of control
00 = LFO rate
01 = LFO delay time
02 = DCO LFO
03 = DCO PWM
04 = DCO Noise
05 = VCF Freq
06 = VCF Res
07 = VCF Env
08 = VCF LFO
09 = VCF Kybd
0A = VCA Level
0B = ENV A
0C = ENV D
0D = ENV S
0E = ENV R
0F = DCO SUB
10 = Switches 1 (see below)
11 = Switches 2 (see below)
|
vv | Value | value for that control see next table for possible values |
F7 | EOX | end of SysEx |
Example:
F0 41 32 00 01 40 F7
sets LFO rate to 64 (about center position of fader)
|
|
When the user changes the Bank, the Patch or to "Manual", a SysEx message will be sent.
SysEx: Bank / Patch Change |
code (hex) | meaning | comment |
F0 | Begin SysEx | |
41 | Manufaturer ID | 41 = Roland |
30 | Message Type |
30 = Bank/Patch change
31 = User changed to Manual mode |
0n | channel | n = Midi channel (0-F) |
pp | bank/patch number | 0..63 Bank A 64..127 Bank B |
dd | control 01 | LFO rate |
dd | control 02 | LFO delay time |
dd | control 03 | DCO LFO |
dd | control 04 | DCO PWM |
dd | control 05 | DCO Noise |
dd | control 06 | VCF Freq |
dd | control 07 | VCF Res |
dd | control 08 | VCF Env |
dd | control 09 | VCF LFO |
dd | control 10 | VCF Kybd |
dd | control 11 | VCA Level |
dd | control 12 | ENV A |
dd | control 13 | ENV D |
dd | control 14 | ENV S |
dd | control 15 | ENV R |
dd | control 16 | DCO SUB |
dd | control 17 | Switches 1
bit 0: 16' on/off
bit 1: 8' on/off
bit 2: 4' on/off [in theory bits 0..2 are mutually-exclusive]
bit 3: Pulse on/off (1=on)
bit 4: Tri on/off (1=on)
bit 5: 0 => Chorus on
bit 6: 0 => Chorus level 2 (if on), 1=> level 1
|
dd | control 18 | Switches 2
bit 0: 0=>DCO PWM=LFO, otherwise =MAN
bit 1: 0=>VCA ENV, otherwise GATE
bit 2: 0=>VCF Polarity +, otherwise -
bit 3+4: 00 => HPF=3, 01 => HPF=2, 10 => HPF=1, 11 => HPF=0
|
F7 | EOX | end of SysEx |
|
Note: if you have a PC sequencer where you can enter SysEx data, it's likely that you don't have to enter the leading "F0" and the trailing "F7" - they mark the beginning and the end of the data and your program may wrap the data into these bytes.
|