Roland Juno 106 - I would appreciate help about Sysex

I’m working on a preset for the Roland Juno 106. Obviously, it involves a bit of Sysex. I have no problem with the faders, the syntax is easy, but regarding the switches I don’t get how to deal with them. I would appreciate some help about the bottom part of the Juno 106 midi chart: “3.4 Parameter Number Table / * for switches”

I tried a list with values for the “range” for instance (see the TEST ZONE group) , but without success. I’m fairly a noob with the Electra one… How do you understand this part of the chart, and how would deal with it?

Many thanks!!



Hello, I almost figure it out. Some strange behavior though (when changing “range” or “chorus type” list, PWM wave form is changing too).

Here is the new preset: Roland Juno 106 v1.2
Still WIP, since I have to add the parameter 17 switches.


I gave a quick look to your preset. Your solution won’t work.
It is causing the other values to change as well, but not based on their own values. Each time you change one of the bits of byte 16, you must reconstruct the whole byte 16 based on the individually settings and send them as one byte.

A way to make it work : create 4 virtual controls:

  • option list “chorus” has three values (1= off, 2 = chorus 1, 0 = chorus 2)
  • pad “saw” (1= on, 0 = off), default = 1
  • pad “pulse” (1 = on , 0 = off)
  • option “range” ( 1 = 16’, 2 = 8’, 4 = 4’) default = 2

give them all the same function ‘send16’

Then create lua function ‘send 16’

  • In the function you read the value of each of the 4 controls, using the parametermap, and you sum them together after having multiplied them decenty and according to their bit value in byte 16: range * 1 + pulse * 8 + saw * 16 + chorus * 32

  • Then use the sendSysex command to send that sum

1 Like

Be also aware in your sysex you gave to the faders, you have hardcoded the MIDI channel. You may regret this. If you happen to change the MIDI channel of your Juno 106, your Juno will no longer listen to your E1.

It’s better to create a function ‘getmidiChannel’ that returns the desired MIDI channel. And then add that function inside your sysEx instead of the harcoded “1”


Also, you gave VCF ENV a range from -127 to 127, which implies 255 steps, whereas in reality there are only 128 steps.
The range to set will be one of these:
- 64 to + 63
- 63 to + 63

Usually it’s the first one, but a little experimenting can’t hurt

Last but not least, I would set some of the default values differently:

  • set your filter open or almost open (value 127 or 100)
  • the same with VCA level
  • set attack, decay and release to approx 32
  • set sustain to approx 64

It’ll give you a better starting position as long as you haven’t applied sysEx parsing.

Hope you pull it off.

Good luck!

1 Like

thank you so much for your advices. I’ll have a look at all of them later on.

I did manage to make my preset work before reading your answers, but my way was very tedious…

Thanks again!!

1 Like

thank you @NewIgnis, I believe that everything is working fine now: ROLAND JUNO 106 v1.5


1 Like