Anyone managed to switch events paramaters live via PC

7 posts / 0 new
Last post
Francois Greeff
Francois Greeff's picture
Anyone managed to switch events paramaters live via PC

I use Sonar and would like to use a certain patch and and controllers to the Midi so that it would control the for example the amount of overdrive, or to switch is on or of.
The manual and the midi implematation chart is not of much help.

Thank you in advance.

Francois Greeff
Francois Greeff's picture

Sorry I got it sort of right using the 8 assigns, is that the only way?


Mark van den Berg
Mark van den Berg's picture

Hi Francois,

There are two ways to control the parameters of the GS-10's current patch "live":

1. System Exclusive messages:
Specifically these must be DT1 messages (described on p. 90 of the GS-10's Owner's Manual), and the address must be in the "Temporary Buffer: Individual" area, starting at address $09 $00 $00 $00 (cf. pp. 109-113). [I'm adding the "$" prefix to indicate a number in hexadecimal notation.]
For instance, to switch the Overdrive/Distortion effect off, you would need:
$F0 $41 $10 $00 $63 $12 $09 $00 $02 $00 $00 $75 $F7
And to switch it on:
$F0 $41 $10 $00 $63 $12 $09 $00 $02 $00 $01 $74 $F7
(Note: in these messages the third byte must indicate the GS-10's Device ID. In these examples I've chosen the default $10, which means that the number shown on the GS-10 (and indeed GS-10 Manager) must be 17 (i.e. in decimal notation!): the shown number adds 1 to the internal Device ID: so $10+1 = 16+1 = 17.)
The advantage of these DT1 messages is that they can control each and every parameter of the current patch.
However, they also have two drawbacks:

  1. They are long: each DT1 message for a GS-10 consists of 13 bytes. So this can cause problems in a live situation with a lot of other MIDI traffic along the same path.
  2. Each combination of parameter address ($09 $00 $02 $00 in the examples above) and value ($00=off or $01=on in the examples above) requires a specific checksum byte in front of the terminating $F7. That's why the first example needs $75 and the second $74. So the entity sending these messages (e.g. a computer program, or indeed you!) must calculate the correct checksum for each message. Calculating these checksums is quite complicated, and (as far as I know) cannot be done from within Sonar. However, my own GS-10 Manager (in particular its "Temporary patch" and "Effects" windows) does send these DT1 messages.

 2. Control Change messages:
These are messages consisting of three bytes:
$Bn (where n is the MIDI channel (1-16) minus 1)
$cc (a number from 1 to 95, which must be equal to the Source parameter of one of the GS-10's eight Assigns)
$vv (the parameter's value, from 0 to 127)
These Control Change messages have two advantages:

  1. They are short, so won't easily cause MIDI traffic jams.
  2. Unlike the GS-10's DT1 messages, they are generic, so all MIDI controllers can send them, e.g. DAWs like Sonar, or hardware MIDI controllers like the Behringer FCB1010 foot controller.

However, these Control Change messages also have one drawback: since each GS-10 patch only has eight Assigns, you can only control eight patch parameters simultaneously.

So to summarize: using the eight Assigns is indeed the primary way to go with Sonar (e.g. via its automation lanes). However, if you want to change more than eight parameters in a particular song, you'll have to find a way to send DT1 messages too.

Hope this helps,

Francois Greeff
Francois Greeff's picture

Super Mark, I will have a look at it and play around.
Thanks once again for the great software.
Best regards


Mark van den Berg
Mark van den Berg's picture

I forgot to mention: the MIDI Tools application can construct particular DT1 messages (crucially including the checksum!) for you:
In the main window of MIDI Tools, execute View -> "System exclusive messages".
This opens the "MIDI System Exclusive messages" window.
In this window, execute Edit -> "Insert Roland" (or press the R toolbutton).
This opens the "Roland System Exclusive message(s)" dialog box.
This dialog box can generate any DT1 message.
E.g. to generate the message switching the GS-10's Overdrive/Distortion effect on (see my previous post), you have to set the following values:
Device: 17 (i.e. the number shown by the GS-10 itself)
Model: 00 63 (=GS-10)
(Address/size length: 4 (default))
(Command: DT1 (default))
Address: 09 00 02 00
(Max. data size per message: 256 (default))
Data: 01
The dialog box then automatically generates the correct message:
F0 41 10 00 63 12 09 00 02 00 01 74 F7
Then you can copy-paste this message as desired.

An alternative method, which avoids the tedious task of looking up the parameter's address and value in the GS-10 Owner's Manual, is a kind of "learn" operation:
Simply change the parameter to the desired value on your GS-10 itself, and capture the DT1 message output by the GS-10 in the "MIDI System Exclusive messages" window of MIDI Tools.

Or you can do what I did to generate the examples in my previous post: change the parameter in GS-10 Manager's "Temporary patch" or "Effects" window, and route the outgoing DT1 message to MIDI Tools, e.g. via a virtual MIDI device (I used loopMIDI). This way I didn't even need to connect my GS-10 smiley.


Francois Greeff
Francois Greeff's picture

Thank a lot Mark.
Midi Tools are great.
It will help me decipher my Boss SE-70 as well. No Midi Implementian info anyware available.

2 things I have noticed on the GS-10 (please correct me if I am wrong)
1- If the USB cable is plugged in it disables the MIDI 5 PIN DIN ports.
2 - The GS-10 does not allow you to remotely form Sonar request a full memory dump. You must start it on the GS-10

I am battling to comprehend all this new info lately, this 62yr old brain has seen better days wink


Mark van den Berg
Mark van den Berg's picture

1- If the USB cable is plugged in it disables the MIDI 5 PIN DIN ports.

 Yes and no:

If the USB cable is not connected, communication with the settings of the GS-10 itself goes via its MIDI I/O sockets.

If the USB cable is connected, communication with the settings of the GS-10 itself goes via the USB cable. (Depending on the device driver on the computer, the pertinent MIDI I/O devices are called "GS-10 Control" or "BOSS GS-10 Control", at least on Windows.)
However, if the USB cable is connected, the MIDI I/O sockets can be used too, namely for communication between any external device(s) connected to these MIDI I/O sockets and the computer. So in this respect the GS-10 functions as a "dumb" MIDI-to-USB device. (The pertinent MIDI I/O devices on the computer are usually called something like "GS-10 MIDI IN" and "GS-10 MIDI OUT".)
If you want to simultaneously control the GS-10's settings by a computer program (e.g. GS-10 Manager or Sonar) and an external controller (e.g. the Behringer FCB1010), you have to route the output from the external controller (connected to the GS-10's MIDI IN socket) to the computer's "GS-10 MIDI IN" device, and from there to the "(BOSS) GS-10 Control" output device (thus: back to the GS-10, but this time to control the GS-10 itself), which can be achieved by a "MIDI Thru" connection. On Windows, you can set up such a MIDI Thru connection in GS-10 Manager.

2 - The GS-10 does not allow you to remotely form Sonar request a full memory dump. You must start it on the GS-10

 Again, yes and no:
There is no "full memory dump" request command, but you could send a sequence of dump request (RQ1) commands. In fact, that's how GS-10 Manager's "Receive ..." operations work.
It may be necessary to build in a delay of about 100 msec between requests, to give the GS-10 time to process each request. Whether you can do this from Sonar is another matter. If I remember correctly, in GS-10 Manager this is not an issue, because GS-10 Manager simply waits for the GS-10's response before sending the next request.

Hope this helps,