I have looked into this and can see that I'm without the skills to do this so I am asking here.
I want to convert the pitchbend on my akaimpk61 to a cc value so that I can then map it to other parameters in tornado. I'm thinking it would make better use of the 'return to zero position' of the pitch wheel if I could apply effects instead of pitchbend, something like a stutter effect.
It would be great if someone could help with this.
Pitch up could be assigned to one cc and then pitch down could be set to another.
I know that pitchbend is 14bit and cc is 7bit. I've done some limited programming before but this is way outside of my ability.
I'd love to hear what anyone has to say on the matter.
So, the quickest and dirtiest way that works with MidiFire, StreamByterAU and Midi Designer is this one line rule:
EX = BX 07
Where '07' is the CC number to be mapped to (in hex) which you can change to any other number. This maps the most significant byte of the pitchbend message to the CC. So, bend centre is CC value of 64.
To do more complex manipulation (control 2 CC's from the lever) needs a little bit more code and I can give you some pointers on that.
Are you using MidiFire, StreamByterAU or Midi Designer?
Hi, Thanks for your input. I didn't really expect a reply so soon. I'm using midifire. Given that the pitch wheel self centres to a midpoint I guess it would need to have its middle value set to equal a cc value of 0 and then as it pitchbends up it increases the cc.
I'm always looking to squeeze out a little more control from my keyboard to effect audio parameters. Having two assignable cc's to one functional movement makes great sense to me. I can sort of visualise what the hex mapping might be but I really am a novice in hex.
I haven't got the values at hand to check but it would equate to:
centre value of pitchbend is equal to e.g. cc 15 = 0, cc 16 = 0 pitch down = cc15, 1-127 pitch up = cc16, 1-127
Please forgive any inaccuracies with use of numbers and values as I don't have any references in front of me.
I general point in the right direction has been great already. Further support would be amazing.
I installed the script and it works as expected. Thanks.
I have my channels switching to change my instruments and have kept channel 15 as my parameter (non note) group channel.
I tried to adjust the script to be for channel 15 but I am such a novice I don't know how to do this. I tried many things but I really don't have a clue. I'd like to know what part of the script assigns the channel. I can guess parts of it but I am out of my knowledge base now.
I feel really reluctant to ask such a painfully basic question but it is so close to working I can only now ask if I want to get it to work.
I'm not lazy. I've tried the manuals and looking for conversions for values and hex and midi but I cant find the parts I need to do this in this instance.
Hopefully you can help ease my frustration in this matter.
So there are 3 channel settings and all adjusted in pretty much the same way:
- the channel of the incoming pitchbend message - the outgoing channel of the 'up' CC - the outgoing channel of the 'down' CC
These are all set at the top of the script here:
IF LOAD ASS K0 = E0 # pitchbend+ch1 ASS K1 = B0 0F # CC up, 15+ch1 ASS K3 = B0 10 # CC dn, 16+ch1 END
I have bolded the nibble that you need to alter to change channels. As above, each of the nibbles is set to 0, which means channel 1. The nibble is in hex, so channel 15 would be 'E' instead of 0.
If you want to change the channel of the incoming pitchbend message, then
ASS K0 = E0
ASS K0 = EE
I replaced the channel nibble (which is part of the MIDI specification). With this changed to 'E' (channel 15) the channel of the external controller sending the pitchbend must of course be on channel 15 for the script to work.
To change the channel of the outgoing CC(s) to 15 you do the same thing:
ASS K1 = BE 0F # CC up, 15+ch15 ASS K3 = BE 10 # CC dn, 16+ch15