JamMan Enhancement ROM Controller Mapping
CC Num Description 0 Number of Beats 1 Set Operating Mode 2 MIDI Clock Enable 3 Forward/Reverse Loop 4 Block Encoders 5 Debug Encoders 6 Set Delay Divide 7 Low 7 Bits of Delay Offset 8 High 7 Bits of Delay Offset 9 Tempo (in BPM) 10 Clocks Per Unit 11 Number of Units

CC0. Number of Beats
Values sent to this controller will define the number of beats referenced by the looper. Normally these are set by the position of the right hand encoder on the JamMan's front Panel. The front panel control however, limits you to 3,4,5,8,12,16 and 24 beat loops. Via the controller, beat values can be set for any number between 1 and 127.

CC1. Set Operating Mode
This controller allows the operating mode of the JamMan to be set via MIDI. Value assignments are as follows:

0 = Loop Mode
1 = Echo Mode
2 = Sample Mode
3 = Diagnostic Mode

CC2. MIDI Clock Enable
This controller allows you to enable or disable the MIDI clock support via MIDI. A value of 0 disables the clock, a value of 1 or more enables it.

CC3. Forward/Reverse Loop
This controller allows you to set the direction of sample playback via MIDI. A value of 0 sets playback to forware while a value of 1 or more sets playback to reverse. I'm not sure if this works for the looping mode as well.

CC4. Block Encoders
This controller allows the front panel rotary encoders to be blocked. We've found that some of these encoders go bad after a time and on some systems, occasionally generate random changes clearing loops and delay times. The following values are supported:

0 = No blocking of encoders
1 = Block the Mode (right hand encoder)
2 = Block the Select (left hand encoder)
3 = Block both encoders

CC5. Debug Encoders
This is actually a little debugging tool I wrote to chase down problems with the encoders. When the controller is set for a non-zero value and the front panel encoders are moved (or generate changes on their own), the value of the encoder is transmitted as a controller value. The left encoder transmits controller 3 and the right encoder transmits controller 2.

For debugging, I would enable this mode and leave the unit turned on all night recording the MIDI it generated into a sequencer. I've noticed that some systems generate encoder changes even when the encoders don't seem to be broken (their signals look good on a scope). In these cases, it is sometimes better to just disable the encoders with the "Block Encoders" controller than to try and replace them (a messy job).

CC6. Set Delay Divide
This controller allows you to divide a tapped in delay time by any value between 1 and 127.

CC7, 8. Delay Offsets
These two controllers provide precise control over the delay time of the box. Controller 7 provides a fine control in 2ms increments while controller 8 provides coarse control in 250ms increments. Please note that the resulting delay time is a combination of the 2 values.

CC9,10,11. Tempo/Clocks Per Unit/Num Units
This series of controllers allows the delay time to be set based on a defined tempo, a number of MIDI clocks per "unit" and a number of units. The resulting delay time is a combination of the three values. The official MIDI spec specifies 24 MIDI clocks to a beat so setting controller 10 to 24 and controller 11 to 1 would provide a 1 beat delay for any tempo defined by controller 9.

Note that the tempo defined by controller 9 is offset by 60 so a value of 0 would produce a tempo of 60BPM. A value of 100 would produce a tempo of 160BPM, a value of 60 would produce a tempo of 120BPM, etc..

For example, a tempo of 120 with the number of MIDI clocks set to 24 and Units set to 4 would produce a 1 measure delay in 4/4 time at 120BPM.

Note that low MIDI clock values tend to provide poorer accuracy than higher ones.

Also see..

Background image by Pauline Moss. at http://paulinemoss.deviantart.com/art/Stars-307119758