This is correct.
You want just CC#116 to be picked up so set Work with CC Number in Range Low|High to 116
Pitchbend, like Song Position Pointer has “high resolution” values (128x128=16,384 values instead of 128) so it strictly needs two numbers to get full resolution.
Yes(as long as you’re talking straight CC input to CC output, not some mapping)
Make sure you unset Any Id to do the Rescale only for the joystick CC
PS. you may also want to Rescale your CC116 before it gets to the PB Transform to get the right PB range…
I have about 45 parameters to remap - is the correct way to do this to have 45 rows each starting with MIDI A in and ending in MIDI A out?
Not if you’re remapping with Transform; you can set each to only respond to just what you want and thus keep them in the same line
As an extra thought, if you’ve got ranges of CCs in and CCs out you might be able to get clever with CC Remaps to save some time and effort†. You can get nice results with using Scale Remap too, if you’ve got a batch of CCs which are evenly spaced and you want change the order (12 remaps with abt 4 pipes).
Lemme know if you want to go there and need more detail.
(Always worth sketching out your full remap list and looking for sub-patterns)
† can always pluck out anomalies with Transform too
just had a glance at Sirin_Manual_2_1.
Quite a few Hi-res/14-bit/NRPN/MSB&LSB controls there. Are you trying to map to any of them?
when are people working with ranges of CCs? that also initially confused me about the CC remap pipe
Lots of uses but maybe not obvious. Will try ping a couple over later.
All part of Transform Power!
i tested my joystick for pitchbend and it does give 16384 values - but what are the LSB and MSB for pitchbend?
check out my pic in above link: PB takes 128 tiny steps (LSB) for every big (MSB) one.
But as you’re going CC → PB you’re gonna lose your fine steps.
don’t understand what Arg 1 and Arg 1 are or MSB to value … the transform pipe is largely gibberish to me!
Transform can set your new message’s properties to aspects of the Incoming (say CC# of CC value) OR whatever numbers are in the Arg1/2 fields.
Super powerful & flexible (means eg you can have just note G8 Transformed to Prog Chg 5 )
but takes a time for most of us to click just how much all this flexibiliy can do.
(That’s why I’m trying to write a guide on it!)
Stick with it; it will Transform your Midihub usage!
Rescale it to what? you mean from 0-127
If your CC → PB is like in my snap above (CC val → PB MSB) you might not want the full range of the CC val → full range of PB MSB. to get a smaller range you might Rescale CC say [0;127] → [32;95] to get less extreme bending
is it possible to do high res remaps? how?
Short answer, don’t try!
Easiest way is to use a controller with endless encoders that churns out NRPNs.
PS. I thought you were going CC → PB (ie. losing res).
Let me know if you’ve got 16384 vals coming out of Cobalt, cos you can do stuff with that!
i’m not sure i understand - right now i have the pitchbend range on the cobalt and sirin to 2 steps up and down, but i can change it to up to 24 in either direction.
and yes it turns out that the joystick X+ (cc 116) on the cobalt has a full 0-16384 range for PB and so does the X- (cc 117) has 0-16384 in the other direction.
so for Cobalt’s X+ / cc116 to be mapped to Sirin’s pitchbend - if i want the joystick to give me whatever range i choose on the cobalt and sirin - what exactly do i put in the transform pipe for all the values?
hmm - well maybe the midi implementation chart is misleading - when i bend the joystick on the x axis this is what it reads as - no CC just pitchbend - even though it’s not routed to anything in the patch i was using
the MIDI monitor isn’t working on the midihub app for some reason and i don’t have time to figure out why, but here’s what it looks like when i gave the joystick the tiniest bump in the X+ direction - and yes CH1 for both directions. The earlier screenshot i posted has be switching directions at the end - same result if I route the joystick to a low res parameter.
Aah, this is interesting! Work with CC Number in Range Low|High means “which CCs is this pipe going to respond to?”
So in my example, when you turn CC#60 or #64 or #67 etc, they will be Transformed into notes
but CC#59 or #72 or #93 will be ignored
No matter how you set your Ranges, either one event is Transformed or the incoming message is ignored and just passes through.
ie. Transform never creates more than one message!
PS. There are creative scenarios where you might want 1 CC → Many , just as Harmonizer gives you one Note → Many
but if it’s actually just transmitting pitch bend messages already, then i don’t need to transform it into anything, because the sirin will understand it as pitchbend.
But again, just assuming that the X+ joystick is in fact CC116 like it says in the manual, I still don’t understand what to put in the transform pipe for
Set Pitch Bend LSB to:
Set Pitch Bend MSB to:
Pitch Bend Out: Enables / disables the joystick X axes from transmitting MIDI Pitch Bend messages to MIDI-out. You may want to disable this behaviour if the COBALT8 is connected to other synthesisers that responds to MIDI Pitch Bend messages. Please note that if this is disabled the joystick X axes will instead transmit CC messages for MODALapp communication.
oooh ok i see - it’s funny i was looking for something like that in the manual but couldn’t find it - i must have been searching for “pitchbend” which is how they spell it a bunch of the time…
I remember trying the same experiment with a MIDI Event Processor Plus and I think the pitchbend worked correctly - i’ll see what happens when I try it with the midihub
and to be clear - the CC implementation chart lists the X axis joystick as CC 117 - so what I was trying to do was transform CC 117 into pitchbend - which is what I wanted to use the transform pipe for
but then i discovered via the midi monitor that the X axis joystick actually transmits pitchbend, not CC
so now eveything makes sense - it’s only CC 117 if you disable pitchbend out
except for one thing still doesn’t click in my mind
What is argument 1? and why is it 3?
And why is MSB linked to value?
With some Transforms (eg. Note_on → always CC#76 value=63) you’d use both Arguments
With others (eg. Note_on → always CC#=NoteNumber value=Note Velocity) you’d use neither of the Arguments
In this case, I could’ve set LSB to Arg2, point is we’re setting LSB to a “fixed” number…
And why is MSB linked to value?
…cos MSB is the “Coarse” setting…
… so sweeping the CC 0 → 127 will also sweep your PB from min to max
(set Sirin to give the tonal range you want)
if you set LSB to value instead, you’d barely hear a difference
(like comparing a distance of “99 metres” (MSB) vs “99 centimetres” (LSB))