The Microwave II has a lot of parameters that are already linked to CC values. Most of these are pretty self-explanatory and I haven't had an issue getting them to work right, but some of them are throwing me and I'm not sure how I should set things in BC Manager to get things to behave properly. For instance, selecting the octave of one of the oscillators. The manual says it's CC33, with a range of 0-8. I tried putting in Control Change with Standard Output ch1, control 33, value 1 = 0 and value 2 = 8, mode = absolute. When I turn the knob it basically just sets the octave at -4 and won't move. If I set value 2 = 127, then I get the full range, but I get an actual continuous pitch change from -4 octaves to +4, which is weird. I can't get it to increment by octaves as it's supposed to. Semitone control is similarly weird. The manual says this is CC 34 with a range of 0-24. If I do this with value 1 = 0 and value 2 = 24, as you can probably expect from the above example, I don't get the full semitone range. If I use 0 and 127, I get the full range (+/- 12), but it tops out at around CC 34 = 76, so obviously I don't need the full 127. In the latter case especially I have to wonder why 76? Why does the manual say 0-8 and 0-24 respectively for these two values when that doesn't appear to be true? How do I get a control that properly increments the octaves instead of giving a full continuous pitch control from -4 to +4 octaves, which makes it a lot harder to quickly dial integer octave values?
You should first determine exactly which Microwave pitch each of the 128 CC33 values (0-127) triggers.
Then you can try to make the BCR generate only the 9 CC33 messages for the integer octaves. There are several ways to achieve this:
What should always work: you can hardcode these 9 CC33 messages in 9 separate buttons. But of course this is very uneconomical.
Insofar as there is a constant increment in the sequence of the values of these 9 CC33 messages, you can set up a pair of BCR buttons, one using this increment, the other using the corresponding negative increment.
You must set Value 1 of both these buttons to the highest desired value, and Value 2 of both buttons to the lowest desired value.
For instance, if the desired values are 4, 19, 34, 49, 64, 79, 94, 109 and 124, you need the following parameters:
Increment (up button) = +15
Increment (down button) = -15
Value 1 (both buttons) = 124
Value 2 (both buttons) = 4
It might also be possible to make a single encoder generate the same output values as the button pair described above, via something like this:
Resolution: 1440 (i.e. 15 (the desired increment) multiplied by 96 (the number of encoder positions in a full-circle)
Value 1: 4
Value 2: 124
But this setup doesn't consistently generate the correct values, perhaps due to round-off problems. I doubt whether a value can be found that does work.
In the above setups I used an increment of 15.
However, if (as seems likely) the Microwave's octave increment is actually 16 rather than 15, the exact "+4 octaves" setting probably doesn't actually exist on the Microwave, because it can't be triggered: in the sequence [0, 16, 32, 48, 64, 80, 96, 112, 128] the final value of 128 lies outside the MIDI data byte range.
What's more, a two-button setup with Increment = +/-16, Value 1 = 127 and Value 2 = 0 behaves incorrectly. E.g. if you press the down button when the current value is 0, the value wraps to 127: this is still fine; but if you then press the down button again, you get 127-16=111, rather than 112. So the best thing to do if the Microwave's increment is 16, is to set Value 1 to 112: then things do work correctly, but with "+3 octaves" as the maximum.
Hope this helps,
Thanks Mark, that is indeed very helpful! I'll see what I can do and report back with any success in case others end up trying to accomplish this.
OK so I did have success having one controller encode this. Reading a bit further into the manual I found a different table with different values (honestly I still have no idea why the first table's values were considered, because they're not helpful as far as I can tell). The octave is actually in steps of 12 (which makes sense, in retrospect) and goes from 16-112. Semitones are single steps and go from 52-76 (which agrees with my earlier observation that 76 is the max). So 64 is zero transposition in both cases (which, again, makes sense). So creating a single encoder with a resolution of 1152 (12*96), val 1 = 16, val 2 = 112 works perfectly. The knob is *very* touchy though. I haven't yet tried playing around with the different speed level controls to see if I can improve that but at least what I've got now works. Thanks again!