windowsmusic computerphillipreesepc visit our online shopaudio plugin
Phil Rees Music Tech
musicmidi accessoriessoft synth
Essential MIDI accessories MIDI home
MIDI products
MIDI service
MIDI sales

C16 compatibility

MIDI controlC16 product description

C16 preset Targets and sliders chart
C16 Target Sliders book - in Adobe Acrobat format
MIDI controlExtended device support with the C16 User Targets

Will the C16 work with such-and-such?

The answer is almost invariably ‘yes’ in some way, provided the target device (usually some sort of music synthesiser) has a MIDI In port. The real question, therefore, concerns the extent of control possible – this usually depends more on the MIDI implementation in the target device than on the capabilities of the C16.

C16 will generate all the MIDI Controller (control change) messages, Channel Aftertouch and Pitch Bend. It can also generate most of the System Exclusive (SysEx) messages intended for patch editing only on particular synths. By consulting the MIDI implementation chart of your target synth, a lot of its 'hidden' capabilities can be discovered. These features may not be mentioned anywhere else in the manual, nor may there be any guidance on how to utilise them!

Continuous Controllers:
There are 128 potential MIDI Controllers (Controller numbers) — of which C16 can send all 128. The most commonly used and implemented of these, which are of interest to us, are:

Also don't be surprised to see the following ‘Sound Controllers’ tucked away in the MIDI implementation chart on newer synths:

Portamento time: This normally controls the speed of a pitch glide or slur effect between notes and can only work on synths that have a portamento feature available AND respond to Controller 05. The feature usually is switched on and off by Controller 65.

Volume:
This controls the volume of a sound playing on that MIDI channel. This Controller is implemented on every MIDI synth made since the mid 1980's but there are a few exceptions such as Yamaha's DX7 and Roland's JX3P. To be fair though, they were two of the first synths to ever have MIDI built in. If your synth does date back to the early to mid 1980s, do check its MIDI implementation chart — just in case its not there!

Pan Position:
This is implemented less than volume especially on older synths that are mono-timbral (ie can only play one sound at a time). More recent synths since the early 1990s do implement it as many of them are multi-timbral (ie can play several sounds across several MIDI channels).

Expression:
Generally implemented more on recent General MIDI (GM) synths, but most people never use or even know what it is. Expression is effectively another volume control and idea was to use Controller 7 to set the 'average' volume level of a sound on a MIDI channel and then use Expression to do fade ins and fade outs of that sound without upsetting its average volume.

Reverb and Chorus:
Most synths made since the mid 1990s have a system where each instrument, on each MIDI channel can have its own effects send to each of these effects, much like the auxiliary sends on a hardware mixer. Regarding GM modules this is almost always the rule, so can be expected to work. Note that some synths have a GM mode as well as other modes (eg single, and multi etc...) and this mode may need to be enabled first to work best.

Variation Send:
Many GM synths now offer an extra third simultaneous effects send in addition to just reverb and chorus, which can do many more variations, and often these GM synths also carry an GS or XG logo. If a GM synth offers this third effect it is often arranged on an auxiliary bus configuration.

Sound Controllers:
Controller numbers 71 to 79 were designated Sound Controllers in a revision to the MIDI specification, and 71 to 74 have specified default assignments. These designations have been supported by a growing number of synths. Usually ‘Brightness’ (number 73) refers to the filter's cut off frequency, and ‘Harmonic Variation’ (number 71) to its resonance. They may do slightly different things on synths without filters, in keeeping with their more vague names.

GM, GS and XG:
Originally GM was designed to make standard MIDI file playback more predictable between manufacturers and their synths and appeared on less-expensive synths. But since its introduction, so many synths of all price ranges and specs offer a GM mode, the MIDI Controllers intended for GM sound parameter tweaking are very often understood by these, avoiding the need to resort to using System Exclusive.

The system for tweaking parameters of a GM synth uses NRPNs which are basically an extension of Controllers, which use 3 specific Controllers together. The exact workings of NRPNs aren't described here, but a parameter on a GM synth patch (such as Attack Time) will usually have assigned to it an MSB and LSB number, but sometimes is written a four digit hexadecimal number. Attack time is assigned MSB=01hex and LSB=63hex. Users need not worry about these numbering assignments as C16 will automatically send them for each slider. These NRPNs are well implemented on Roland Sound-Canvas GM synths, and Yamaha XG-compatible synths. These same NRPNs can be used to tweak instruments within a drum kit too.

C16 also offers control over the Reverb and Chorus's parameters such as reverb time and chorus speed on GS and XG synths providing they have both internally (most do).

This is an additional 'common' way of tweaking patch parameters other than Controllers between 70 and 75. The NRPN system does add control over the LFO, and is now widely implemented by Yamahas and Korgs and more recently Roland JV2080/1010.

In addition there is the possibility of using SysEx to tweak parameters as there is also a GS SysEx spec and XG SysEx spec. For these to work the synth really has to be GS or XG compatible, and the effects editing mentioned before may also work.

PC Soundcards:
Virtually all soundcards respond to standard designated Controllers such as Volume and Pan. However, if you want to control the envelopes and filters the situation is less clear.

  1. The synths (such as the basic 2-op FM) in older or cheaper soundcards do not support these features.
  2. Eveen if they sopport these features, it can be hard to determine which Controllers/NRPNs they understand.

The last point is made no easier by soundcards that are supplied with little or no documentation. If a CD-rom came with the card, search there for a manual or MIDI implementation notes, perhaps in .pdf format.

Creative Soundblasters AWE32/64 and Live do respond to NRPNs for parameters, but not same ones as used by conventional GM synths, so C16 has two specific preset Targets (67 and 68) for use with these Soundblaster cards.

Yamaha, Terratec, Guillemot, Emu, and Korg cards should all be okay.

Software Sequencers:
In earlier MIDI only sequencers any Controllers, NRPNs and SysEx would be passed on to the MIDI out, without the software responding beyond just recording it. It is not unusual now to have a 'virtual' audio mixer in a sequencer providing the user is happy to use it with a mouse, but this is not really the most comfortable method. Logic allows both MIDI and audio tracks' volumes and pans to be controlled from C16, and an example is given in the C16 User's Guide. The Auxiliary sends of the MIDI also respond to their respective Controllers. Cubase allows both MIDI and audio tracks to be controlled, but oddly, its virtual MIDI mixer doesn't graphically update even though the result is audible. The audio mixer doesn't suffer from this quirk. Cakewalk is the most flexible in this department as it allows each 'virtual' audio slider, pan pot, etc.. to assigned any Controller, NRPN, RPN etc... As C16 can produce all these, it is more a case of setting up Cakewalk really.

Roland:
There are currently two 'types' of Roland synths C16 will patch edit with: GS/GM compatible SC series , and JV/XP series. The GS compatibles generally implement both NRPNs (C16 Target 00) and GS SysEx (C16 Targets 01 and 03). Even though JVs and XPs have a GM mode they don't use them. More recent of these (such as JV1010 and JV2080) now implement Controllers 70 to 75 (described above), but the older JV1080s can be used with C16 Targets 44 to 47 which utilise JV1080 specific SysEx. (Note that JV1010s, can understand this SysEx too, providing they are in User patch mode). There is no built in support for JV1080 effects editing within C16 but a reloadable template is available which configures the User Targets 98 and 99.

Yamaha:
Recent Yamahas utilise Controllers 71 to 75 and in many cases GM NRPNs. XG compatibles' envelopes, filters, LFO, drums and effects can also be tweaked by using XG SysEx.

Korg:
Recent Korgs now implement the Controllers 71 to 75 system but as these aren't that comprehensive , C16 also provides SysEx based editing too. A lot of Korgs within the same family share the same SysEx, so even if C16 doesn't appear to support it directly it may share with another that is listed.

Procedure:

  1. Find the MIDI implementation chart, look down the receive RX side of the chart (usually on the right).
  2. Find the list of Controllers. Envelopes, LFO and filters may be in the 70's region — but could be lower or higher. If they are there use C16 Target 06.
  3. If not look for a list of NRPNs, which may be on a separate page to the MIDI chart, and look for references to filter, LFO etc... If they are there use C16 Target 00. (*)
  4. If the synth is GS or XG compatible it may also have lists of SysEx too. In this case use Targets 1 and 2, to edit envelopes, filters and LFO. Also expect to see the effects are editable via SysEx, in which case use Targets 3,4 & 5, and the last of these is for EQ only on the few XG synth with an EQ built in.
  5. If there is still no luck, look through C16 specific Targets which mostly use specific SysEx and if that synth is listed use one of them.

(*)Soundblasters AWE32/64 and Live! use a different set of NRPNs from many other GM synths, so use AWE-specific C16 Targets 67 and 68.

REMEMBER: Look through the synth's MIDI implementation chart, for Controllers, NRPNs, and also read the users manual to find out if any of the filter's, LFO's, or envelope's parameters can be assigned a Controller within the synth.

Synth-specific Targets:
By no means all synths have any GM, GS or XG compatibility, especially if they are older, so C16 has a selection of preset Targets designed purely for editing that synthesiser's Filters, Envelopes, LFOs and sometimes the effects too. These presets are a selection of synths that are 1)popular and 2)greatly benefit from external slider based tweaking.

These synths should still respond to volume, pan etc... (one again, just check its MIDI implementation chart just to be sure!) and these presets generally give much more in depth control than GM, GS or XG can.

Even if C16 doesn't support a synth within its presets, the User Targets can be set up to generate most message types.

Phillip Reece hometo the Phil Rees Music Tech home page

to C16 post-sales support


All trademarks acknowledged.
Proprietary names are used to indicate intended compatibility of MIDI messages. They do not imply the approval of the nameholder, which has not been sought. The C16 is a MIDI controllers box with 16 sliders.