|
Post by dsmurray on May 14, 2015 19:56:51 GMT
Hi
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?
Regards
Dave
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on May 14, 2015 20:07:58 GMT
Hi dsmurray, You can try this with a Stream Byter rule like: # use note velocity to set synth volume 9X = BX 07 +C
However, this will make the channel volume fluctuate based on the velocity of the last note played. It might be close enough. Regards, Nic.
|
|
|
Post by dsmurray on May 15, 2015 13:02:32 GMT
Hi Nic
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.
Cheers
Dave
|
|
|
Post by mrcrappypants on Jun 11, 2016 13:12:34 GMT
I tried changing this rule to suit my needs for velocity to control CC 41. I couldn't seem to get it to work but perhaps I'm not familiar enough with writing rules.
I tried:
# use note velocity to set CC41 9X = BX 41 +C
Any pointers will be very appreciated.
Thank you
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Jun 11, 2016 13:26:49 GMT
Hi mrcrappypants (!), The values in Stream Byter rules are in hex, so CC 41 is hex 29. Try this: # 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. Regards, Nic.
|
|
|
Post by mrcrappypants on Jun 11, 2016 14:08:04 GMT
Awesome, thanks Nic.
|
|
|
Post by billybegonia on Jan 28, 2017 22:41:11 GMT
Hello, I m a new user. My needs are the same but for a specific channel and different midi notes I tryI to make my beatbox (Korg volca beats) velocity-sensitive
Thanks!
KORG volca beats MIDI Implementation
2.RECOGNIZED RECEIVE DATA
2-1 CHANNEL MESSAGES [H]:Hex, [D]:Decimal +--------+---------+-------------+-----------------------------------------+ | Status | Second | Third | Description | | [Hex] | [H] [D] | [H] [D] | | +--------+---------+-------------+-----------------------------------------+ | 8n | kk (kk) | vv (vv) | Note Off vv=0~127 *1| | 9n | kk (kk) | 00 (00) | Note Off *1| | 9n | kk (kk) | vv (vv) | Note On vv=1~127 *1| | Bn | 28 (40) | vv (vv) | PART LEVEL (KICK) *1| | Bn | 29 (41) | vv (vv) | PART LEVEL (SNARE) *1| | Bn | 2A (42) | vv (vv) | PART LEVEL (LO TOM) *1| | Bn | 2B (43) | vv (vv) | PART LEVEL (HI TOM) *1| | Bn | 2C (44) | vv (vv) | PART LEVEL (CL HAT) *1| | Bn | 2D (45) | vv (vv) | PART LEVEL (OP HAT) *1| | Bn | 2E (46) | vv (vv) | PART LEVEL (CLAP) *1| | Bn | 2F (47) | vv (vv) | PART LEVEL (CLAVES) *1| | Bn | 30 (48) | vv (vv) | PART LEVEL (AGOGO) *1| | Bn | 31 (49) | vv (vv) | PART LEVEL (CRASH) *1| | Bn | 32 (50) | vv (vv) | PCM SPEED (CLAP) *1| | Bn | 33 (51) | vv (vv) | PCM SPEED (CLAVES) *1| | Bn | 34 (52) | vv (vv) | PCM SPEED (AGOGO) *1| | Bn | 35 (53) | vv (vv) | PCM SPEED (CRASH) *1| | Bn | 36 (54) | vv (vv) | STUTTER TIME *1| | Bn | 37 (55) | vv (vv) | STUTTER DEPTH *1| | Bn | 38 (56) | vv (vv) | DECAY (TOM) *1| | Bn | 39 (57) | vv (vv) | DECAY (CLOSED HAT) *1| | Bn | 3A (58) | vv (vv) | DECAY (OPEN HAT) *1| | Bn | 3B (59) | vv (vv) | HAT GRAIN *1| +--------+---------+-------------+-----------------------------------------+
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
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Jan 28, 2017 22:57:24 GMT
Hi billybegonia, Well, the nice KORG MIDI implementation gives you all you need in hex, so it's quite easy! This will set the part level of each part based on how hard the note comes in: # volca velocity 9X 24 01-7F = BX 28 # KICK 9X 26 01-7F = BX 29 # SNARE 9X 2B 01-7F = BX 2A # LO TOM 9X 32 01-7F = BX 2B # HI TOM 9X 2A 01-7F = BX 2C # CL HAT 9X 2E 01-7F = BX 2D # OP HAT 9X 27 01-7F = BX 2E # CLAP 9X 4B 01-7F = BX 2F # CLAVES 9X 43 01-7F = BX 30 # AGOGO 9X 31 01-7F = BX 31 # CRASHRegards, Nic.
|
|
|
Post by billybegonia on Jan 29, 2017 9:48:47 GMT
OK, thanks a lot! I try to understand how it works
"9x" is velocity ? what is "01-7F" for? How can i make this happen only on channel 10?
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Jan 29, 2017 12:25:35 GMT
Hi billybegonia, To explain with this rule: 9X 24 01-7F = BX 28 # KICK9 - 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 32Then 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 90 24 01-7F = BX 28
Hope that helps, Nic.
|
|
|
Post by billybegonia on Feb 3, 2017 10:31:22 GMT
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  
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Feb 3, 2017 15:32:08 GMT
Hi billybegonia , The routing needs a little adjustment as follows: Remove the two existing routes and connect iRig in to iRig out instead. That way events from your controller go to the volca. Add the rules to the iRig MIDI out (right) port (not MidiBridge) with a little adjustment: # volca velocity 9X 24 01-7F = BX 28 +C # KICK 9X 26 01-7F = BX 29 +C # SNARE 9X 2B 01-7F = BX 2A +C # LO TOM 9X 32 01-7F = BX 2B +C # HI TOM 9X 2A 01-7F = BX 2C +C # CL HAT 9X 2E 01-7F = BX 2D +C # OP HAT 9X 27 01-7F = BX 2E +C # CLAP 9X 4B 01-7F = BX 2F +C # CLAVES 9X 43 01-7F = BX 30 +C # AGOGO 9X 31 01-7F = BX 31 +C # CRASHThis will make sure the original controller events get to the volca as well as the part level events. Regards, Nic.
|
|
|
Post by billybegonia on Feb 8, 2017 9:53:47 GMT
It works! that is perfect. It give a new dimension to my Volca.
Thanks a lot
|
|