MIDI Channel Change on endless encoder and Pitch Bend

Hello,

I have a quirky MIDI controller that doesn’t have proprietary editing software.

This device disseminates it’s messages across about 10 MIDI channels.

After viewing Bome video tutorials I have successfully changed the channels and consolidated them to a single channel for this device’s buttons. (which are outputting MIDI note messages)

I have run into issues trying to do the same channel change for the device’s knobs (which are endless encoders) and it’s faders. (which are outputting Pitch Bend messages)

Any thoughts would be appreciated.

Hi,

Please find the below example for both scenarios.

Translator 1.0 translates pitch bend by scaling the 14 bit incoming value down to a 7 bit outgoing CC value.

I use the incoming MIDI channel of the pitch bend message to determine the outgoing CC number. In this case I start with CC 10. I just send it on MIDI CH 1.

Here are the rules:

// Scale 14 bit value to 7 bit value
qq=qq*128
qq=qq/16384

// convert incoming channel to CC number

// Start with CC 10
pp=oo+10

Translator 1.0 translates a relative encoder 01/7f to absolute values. I store the absolute value in the global variable ga. You will need a different global variable for each encoder.

In this case an incoming value of 1-63 will increment the value of ga and by 1-63. Values 127-65 will decrement the value of ga by 1-63.

Here are the rules:

//65-127 is negative
if qq>64 then tt=128-qq
if qq>64 then tt=tt*-1
// else postive
if qq<64 then tt=qq
// increment or decrement the global variable ga
// don't let go out of bounds
ga=ga+tt
if ga>127 then ga=127
if ga<0 then ga=0

and the project file.

pitch-bend-to-cc-and-relative-to-absolute-2026-01-21.bmtp (3.1 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Thank you Steve!

Works great!

Glad to help!

Hi Steve,

My apologies, I thought I was in the clear but I am experiencing one final problem with the endless encoders values.

After using your Relative to Absolute example, the CC and channel change of the endless encoders proved successful (which I confirmed when assigning one of the encoders to a Pan Knob within Ableton).

However the value jumps to 0 whether I turn clockwise or counterclockwise and then doesn’t move again regardless of which way I turn.

Please advise.

Thanks.

Could you open the log Window and select Incoming, Outgoing, MIDI IN and MIDI OUT. Then turn your knob so that I can see what is going on? In Ableton Live, you should NOT select your MIDI device direct, yet select, the virtual port you are using instead.

Alternately, I believe there is an option in Ableton Live to use relative encoders of various type directly. The example I gave is called ‘two’s complement’. If that is the case, you could just pass through the original message and not use a translator to convert it to an absolute encoder.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Alternately, you might get

Got it.

Thanks again!

Nice solution. Using the incoming channel to derive the CC number is clever, and the pitch bend scaling rule is especially helpful for consolidating mixed controls onto one channel :wink: :upside_down_face: