HomeMIDIMIDI Tutorials

Creating User Drum Sets on the Roland Sound Canvas

To create User Drum Sets on the Roland Sound Canvas, you could use a utility to do the work for you, however, if you want to get your hands dirty you need to be familiar with using System Exclusive Messages (SysEx).

As you know, on the part assigned to a drum set (usually part 10), different notes play different percussion instruments. There are different preset drum sets available by sending a Patch Change on the percussion part. Drum sets 65 and 66 of the SC-88 map are set aside as "user drum sets" which retain their settings even after a GS reset.
Creating a user drum set is a fairly simple matter of telling the Sound Canvas what instrument to use when each note is played. You can specify a number of other parameters at the same time, as listed in the manual.

According to the Roland SC-88VL manual pg. 82:
  *d: drum set number (0H = User drum set number 65, 1H = GS Variation number 66)
  *rr: drum part note number (00-7F)

Address(H)  Size(H)   Data(H)  Parameter                   Description
21 d0 00    00 00 0C  20-7F    User drum set name     [88] 32-127
   :                  (ASCII 12 characters)
21 d0 0B#
21 d1 rr    00 00 01  00-7F    Play Note              [88] 0 - 127
21 d2 rr    00 00 01  00-7F    Level                  [88] 0 - 127
21 d3 rr    00 00 01  00-7F    Assign Group           [88] 0 - 127
21 d4 rr    00 00 01  00-7F    Pan                    [88] 0 - 127
21 d5 rr    00 00 01  00-7F    Reverb Send Level      [88] 0 - 127
21 d6 rr    00 00 01  00-7F    Chorus Send Level      [88] 0 - 127
21 d7 rr    00 00 01  00-01    RX Note Off            [88] Off/On
21 d8 rr    00 00 01  00-01    RX Note On             [88] Off/On
21 d9 rr    00 00 01  00-7F    Delay Send Level       [88] 0 - 127
21 dA rr    00 00 01  01-02    Source Drum Set# (Map) [88] 1 - 2
21 dB rr    00 00 01  00-7F    (PG#)                  [88] 0 - 127
21 dC rr    00 00 01  00-7F    Source Note Number     [88] 0 - 127

By default user drum set 65 is the same as the SC-88 drum set called "STANDARD Set1", while user drum set 66 is the same as the SC-55 drum set called "STANDARD".
Each drumset may contain a maximum of 84 instruments.
The user drum set name must be sent as a packet of 12 bytes, even if the name is shorter! Pad it with spaces. (Character 32 / 20H)

Example 1: Easy

To change the "first" note in user set 1 from "Snare Roll" to "Finger Snap", that is, make the first two notes play the same sound, send the following message:

F0 41 10 42 12 21 0C 19 1A 20 F7
The address is 21 0C 19 which is the first (by default) assigned note with a sound associated with it. (You can assign sounds to notes that have no default assignment.)

The data is 1A (note 25) which is "Finger Snap"

All I did was change the "source note number" parameter, everything else remained the same including the default drum set of "Standard Set1".

Example 2: More complex

To change the "first" note in user set 1 from "Snare Roll" to "CM Kick Drum", from the "CM-64/32L Set" drum set.

First send the SysEx to change the map from 88 to 55 (the "Source Drum Set# (Map)" parameter):

F0 41 10 42 12 21 0A 19 01 3B F7
Then send the SysEx to change the drum set (the "PG#" parameter):
F0 41 10 42 12 21 0B 19 7F 3C F7
Then send the SysEx to change the "source note number" parameter:
F0 41 10 42 12 21 0C 19 23 17 F7
These three SysEx messages cannot be combined into one message because their addresses are not consecutive.

By way of demonstration here are three MIDI files. The first selects Drum Set 65 and plays Db three times, which by default should be "Snare Roll". The second file changes Db to "Finger Snap", the same instrument as D, as seen in example 1. The third file changes Db to "CM Kick Drum" as seen in example 2.
Play the first MIDI file and note what instrument plays. Play the second MIDI file and then play the first MIDI file again. Note the difference? Now try playing the third MIDI file and then the first yet again. Hear how the same note has been assigned a different instrument?

Drum Set 65

Finger Snap

CM Kick Drum

After playing the third file, play the second file again and then the first file again. Hear anything? No you haven't gone deaf. The second MIDI file only changes the "Source Note Number" parameter. The third MIDI file changes three parameters as detailed in example two. When you play file two after playing file three, file two is suddenly trying to access an instrument that doesn't exist and therefor no sound is heard at all. Moral of the story is "be careful" or more importantly, "be specific!"

That's it! You can build up a user drum set with any percussion instrument on any note of your choice!!

Note that to hear the changes you make with SysEx, you need to send a patch change on the drum channel. This tells the Canvas to read and use the new values.

If you know for a fact that I have made any mistakes above, please let me know.

Feed back on clarity and semantics will also be greatly appreciated.

Thanks, Eddie Lotter

Registered and Non-Registered Parameter Numbers MIDI Tutorials