Back
 

         ROLAND SCB-55

           This information is just taken from the thin manual
         that comes with the Roland sound card (specifically pgs
         24-30), and a help file provided with Canvasman. You can
         read these SysEx best with a sequencer, which will show
         these strings of numbers in the 'event' window (for
         whatever track(s) contains any SysEx commands). [You
         could enter these by hand, particularly small setting
         changes, but the initial bunch of SysEx (the overall
         settings for the song) is best produced with an editor,
         saved as a .syx file, and then copied into the MIDI using
         the sequencer program – it's easier than any attempt to
         'hand code'. But if you want to hand code, you'll have to
         calculate the checksum. (see bottom of page)]

           SysEx can be used to set things typically set with a
         MIDI sequencer program, which would use 'controller'
         values, instead. You can use SysEx to set the level of
         chorus and reverb, channel volume, even which instruments
         to use. But these are things you typically want to set in
         the sequencer, not with SysEx editor. There are a few
         other things, as well, like this. Generally, SysEx is
         placed at the very beginning of the MIDI sequence. And
         you'll move the initial controller settings (volume,
         chorus, &c) to just after the SysEx has been executed
         (say SysEx takes almost all of the first measure of the
         song to execute, then you start the initial controller
         values at the start of the 2nd measure, we'll say).
         Anyway.

           One SysEx string, in particular, is used to initialize
         the synth to GS, and another to GM (which loses all GS
         stuff, but gains backward compatibility - ugh).

             GS reset     F0 41 10 42 12 40 00 7F 00 41 F7
             GM reset     F0 7E 7F 09 01 F7

           Clearly, hexadecimal values are shown, here. The F0
         leads a SysEx string. The F7 closes it off (terminates
         it; called EOX [end of exclusive]). These two are always
         there.

           In the GS message, the first 41 is the Roland
         manufacturer ID, the 10 is a generic device ID, and the
         42 is the ID for GS. [The GM ID, 7E, is generic, and GM
         messages don't have all the stuff found in GS SysEx
         messages.] This 42 ID tells the software/hardware that
         SysEx commands are found in particular memory banks. The
         12 is the code (DT1, or DaTa 1) to start sending data.
         The 41 at the end is the checksum, which here, in this
         case, is coincidentally the same as the manuf ID.

           So an actual GS SysEx, the real core of the message,
         consists of the bit between this header, and these two
         trailing bytes (the checksum and the F7). That bit in the
         middle consists of an address field of three bytes, and a
         data field of varying length. In this case, the GS reset
         command has the address at 40007F and the only data is
         just one 0 byte.

           Addresses beginning at 4001xx send data for voice/note
         reserve (for each channel, and up to 24 instruments
         reserved overall for all 16 'parts', even while maximum
         'polyphony' – number of simultaneous notes – is 28),
         overall reverb, and overall chorus settings (the SCB-55,
         unlike the newer Yamaha XG machines, can't set
         reverb/chorus characteristics for each of the 16 channels
         - only overall, for all 16 at once). The GS reset, above,
         uses a default/standard setting of Hall 2, and a Chorus 3
         (see below). The low byte (xx) for reverb settings is
         between 30 and 36, inclusive. For chorus it's between 38
         and 3F; as you can see.

             Reverb   ( F0 41 10 42 12 … cksum F7 )

             Type             40 01 30       00 Room 1
                                             01 Room 2
                                             02 Room 3
                                             03 Hall 1
                                             04 Hall 2
                                             05 Plate
                                             06 Delay
                                             07 Panning Delay

             Depth            40 01 31       00-07
             Pre-LPF          40 01 32       00-07
             Level            40 01 33       00-FF
             Time             40 01 34       00-FF
             Delay            40 01 35       00-FF
             Chorus level     40 01 36       00-FF


           Each of these 8 types (or 'macros') uses preset values
         for each of the six reverb settings. One need only define
         the type, itself – not the SysEx for the six settings, or
         parameters. However, it's usually the case you'll want to
         fiddle with the settings, beyond this default, standard,
         preset. The standard settings are:

          Reverb presets

                   Depth    Pre-LPF  Level   Time   Delay   Ch. level

          Hall 1      3         4     64     72       0        0
          Hall 2      4         0     64     64       0        0
          Room 1      0         3     64     80       0        0
          Room 2      1         4     64     56       0        0
          Room 3      2         0     64     64       0        0
          Plate       5         0     64     88       0        0
          Delay       6         0     64     32      40        0
          Pan Delay   7         0     64     64      32        0



             Chorus   ( F0 41 10 42 12 … cksum F7 )

             Type           40 01 38         00 Chorus 1
                                             01 Chorus 2
                                             02 Chorus 3
                                             03 Chorus 4
                                             04 Feedback
                                             05 Flanger
                                             06 Delay
                                             07 Delay (FB)

             Pre-LPF        40 01 39         00-07
             Level          40 01 3A         00-FF
             Feedback       40 01 3B         00-FF
             Delay          40 01 3C         00-FF
             Rate           40 01 3D         00-FF
             Depth          40 01 3E         00-FF
             Ch. Send       40 01 3F         00-FF


       Chorus presets

                  Pre-LPF  Level  Feedback  Delay  Rate  Depth  Ch. send

       Chorus 1       0      64       0      112     3      5      0
       Chorus 2       0      64       5       80     9     19      0
       Chorus 3       0      64       8       80     3     19      0
       Chorus 4       0      64      16       64     9     16      0
       Feedback       0      64      64      127     2     24      0
       Flanger        0      64     112      127     1      5      0
       Delay          0      64       0      127     0    127      0
       Delay (FB)     0      64      80      127     0    127      0


           As for what these settings do, how they sound, really
         the best thing is to get an editor (like Canvasman), play
         the MIDI through the editor, while you adjust these
         various settings. That's the way to tell. You'll hear the
         difference – how some instruments start to interfere with
         others, how some seem to lose a little range, how the
         sound seems to 'open up', and so on.

           Okay. That's the overall chorus and reverb, including
         flanger. It affects the whole song, the whole MIDI
         sequence. It affects all 16 channels at once. But you can
         set the delay/attack envelope, and the vibrato rates,
         etc. for each channel, separately – that is, for each
         instrument, or 'patch'.

           Roland refers to these chorus/reverb settings (and
         voice reserve, not charted above), as common patch
         parameters (commands); common to all 16 channels at once.
         Those actually affecting the separate channels, with
         whatever patch, are called part parameters (or commands).
         Roland's idea of a 'part', by the way, isn't technically
         the same as a channel. You can reassign a part to any
         channel (a lil confusing). Anyway, I'll just look at the
         SysEx for the part's envelope and vibrato type
         parameters.

           These sorts of parameters, for the SCB-55 memory
         scheme, specify the channel using the middle byte of the
         address. The high nibble of this byte is 1, the low is a
         channel value from 1-16 (0-F). Some of these 1x
         parameters can change the pitch and even ignore various
         of the controllers in the MIDI (volume, pan, expression,
         you name it). The envelope commands use 34-36 for the low
         addr byte:

           Envelope   ( F0 41 10 42 12 … cksum F7 )

            Attack          40 1x 34          0E-72 40 default
            Delay           40 1x 35          0E-72 40 default
            Release         40 1x 36          0E-72 40 default


           The attack might typically be one less than the
         default, standard – 3F rather than 40. It helps remove
         the sharp click, which most instruments don't have in
         'real life'. And it's often useful to increase the delay
         and release a bit, as well, to give something of a
         'sustain pedal' on each note (particularly for an
         electric guitar, say). The actual sustain time of the
         note, by the way, is simply the length of that note,
         which is something you set with the sequencer, not the
         SysEx editor.

           Vibrato   ( F0 41 10 42 12 … cksum F7 )

            Rate            40 1x 30          0E-72 40 default
            Depth           40 1x 31          0E-72 40 default
            Delay           40 1x 37          0E-72 40 default


           Other tone params   ( F0 41 10 42 12 … cksum F7 )

            Cutoff Freq     40 1x 32          0E-72 40 default
            Resonance       40 1x 33          0E-72 40 default


           The cutoff might go one or two steps higher, giving a
         brighter sound. And the resonance, for certain selected
         instruments, if you go just slightly higher than the
         default, will give the instrument something of a buzz.
         You generally don't want to reduce the resonance. But you
         might bump down the cutoff, a bit, if you raise the
         resonance, to help 'mellow out' the instrument.

           That's really about all, from here. With this, you can
         easily make sense of the manual provided with the Roland
         PC card. The last 401x(xx) addresses are used to either
         up or detune each note for that channel; like a detuned
         guitar part, for example. Haven't used it, myself - but
         neat feature. And the 402x commands go to obscure,
         synthesizer-type controls and settings, impossible to
         guess the effects of which on the MIDI beforehand – best
         tackled with the MIDI playing through the SysEx editor,
         or from experience with old hardware synthesizers,
         perhaps. And there's even a way to tweak the drums on
         channel 10 (which, again, I've never used, myself). [ For
         this more detailed stuff I'd refer you to the separate
         Windows help file on Roland SysEx, which comes with the
         Canvasman editor. ]

           So to conclude, it seems, to me, that the power of
         these SysEx commands are simply not tapped by anyone much
         outside of Roland, itself; when they produce their demo
         MIDIs. There's a whole lot you can do with these little
         command strings.



         Checksum:

           Want to manually write a SysEx string? Very easy. You
         know the standard header, you've found the command
         address, and know what data you want to use. All you need
         is the checksum. Call up the little calculator that comes
         with Windows. Switch on HEX mode. And just add up the
         bytes from the address and data fields (see above).
         Divide that sum by 80 (decimal 128). Then, lastly,
         subtract the remainder of that division from 80. That's
         your checksum. Goes right before the F7.
   

Back