I've searched the forum so hopefully I'm not asking something really obvious. Is it possible to convert incoming MIDI Velocity to controller (CC7 for example), in order to make a soft-synth (iMini on iPad for example) velocity-sensitive?
I'll give that a try, I can see it might work in certain situations. But I'm looking for something more accurate, for use in the context of jazz improvisation where often the use of dynamics between individual notes is essential. It's a tough one I know, and I'm sure if there was an easy workaround for this we'd all know about it, because I've seen people complaining on many forums about the lack of velocity-sensitivity on a lot of iOS soft-synths.
The values in Stream Byter rules are in hex, so CC 41 is hex 29.
# use note velocity to set CC41 9X 01-7F = BX 29 +C
I changed the 41 to it's hex equivalent but I also added a little tweak to ensure that only notes with velocities 1 to 127 trigger, since velocity 0 is note off an many keyboards send this. Probably safer.
n : MIDI Channel = 0 ~ F vv : Value kk : Note Number [H] [D] 24 (36) : KICK 26 (38) : SNARE 2B (43) : LO TOM 32 (50) : HI TOM 2A (42) : CL HAT 2E (46) : OP HAT 27 (39) : CLAP 4B (75) : CLAVES 43 (67) : AGOGO 31 (49) : CRASH
9 - means MIDI note ON X - means any channel 24 - means note number 36 (24 is 36 in hex) 01-7F - means note with a velocity between 1 and 127
So, if an incoming message matches the above then after the '=' this is what happens:
B - means change message to continuous controller number X - means preserve the MIDI channel of the message 28 - means set to controller 40 (KICK PART LEVEL) (28 is 40 in hex)
The velocity value (3rd byte) is retained and becomes the controller value (ie. part volume level), so if you had a kick MIDI message that looked like (channel 1, velocity 50):
90 24 32
Then this will be rewritten to:
B0 28 32 (CC 40, channel 1, value 50)
If you only wish the rules to work on a particular channel then you just change the first 'X' to that of the channel you wish to us (0 = 1, 1 == 2, ... F = 16), so the rule if you wanted only to work on channel 1 would be
Hello, I still try to figure out how it works. Here is pictures of my configuration. It does not work. (I use a classic midi keybord before the iRig) If you solve my problem, I promise you to make a tutorial for french user after that