Some e-drum ideas I'm struggling with

So I have been using Bome to carry MIDI from my drum module over to multiple VST's. I wish to expand the capabilities of what I can do in some kontakt libraries:

  1. a Round Robin. What I want to do is hit one note and have Bome randomly cycle through a selection of translated notes. This is a feature of kontakt but not every VST I have makes the best use of it, some percussion VSTs split Left and Right hits into two notes.
  2. a Shaker. I have an expression pedal in which I want to turn CC values into notes. It's otherwise easy but I'd like to, much like on point 1, cycle through some velocity values like so:

CC 120 = Note C3, Velocity: from 100 - 127 This way I can move the pedal in the same manner I would shake a tambourine (like when some drummers mount them onto their hihat clutch). I also don't end up playing the same sample and getting a machine gun.

  1. 3. Lastly, positional sensing. I have this feature in Superior Drummer but again it's not in Kontakt. My snares and toms produce a CC value based on where I hit between the centre and edge. What I want Bome to do is change the note translation based on the CC values like this: CC value 0 - 64 = C3 CC value 65 - 127 = C#3 or some other kind of configuration.

hopefully, nothing here is too far out, any help is appreciated :)

Jonny

Hi,

For setting random values, see the below post:

https://www.bome.com/forums/viewtopic.php?t=2494

On the second item, I’m unclear on what you want. You want separate notes sent depending on pedal position, random values as described in item one? If the former, you would just need to set the outgoing note number as a variable depending on the pedal position. Say qq is the incoming value of the CC, then rules would look something like this

Incoming :CC 120 on MIDI Channel 1 set value to qq

Rules:

if qq<100 then exit rules skip outgoing action

If qq==100 then pp=48

if qq==101 then pp=49

Outgoing: Note-On note qq velocity 127 of MIDI Channel 1

If instead you want a random value, just grab a copy in rule from the global variable as used in item 1.

Item 3 should be very similar but you would trigger outgoing notes based on the CC# instead of its value..

In all cases, make sure you have translators set for both note-on and note-off. For instance, before sending new note-on for a value change, you probably want to turn off the last note. You could either use a one shot delayed timer to turn off the last note (as a global variable). Or set up a separate translator for each incoming action to turn off the last note in which case each incoming action would have 2 translators, one for note-off (from last iteration) and one for note on (new iteration). In either case use a global variable to capture the last note sent (when sending note-on), and use that variable to turn off the note before sending the next note.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

 

 

Hi Steve,

Thanks for writing back to me on this. Sorry I went dark for a while there, I think it’d be better if I focus on one translation at a time!

So I want to configure my own positional sensing which with my best logical/engineering explanation goes like this:

Note incoming = aa
Note incoming velocity = bb
CC5 value = cc

If cc = 0-49 then aa = C0 with velocity = bb
If cc = 50-99 then aa = D0 with velocity = bb
If cc = 100-127 then aa = E0 with velocity = bb

Hope that’s clearer?

Note incoming = aa
Note incoming velocity = bb
CC5 value = cc

If cc = 0-49 then aa = C0 with velocity = bb
If cc = 50-99 then aa = D0 with velocity = bb
If cc = 100-127 then aa = E0 with velocity = bb


I assume your notes C0 means note 12, D0 is Note 14, and E0 is note 16 as the hex values would not make sense. Please note some applications treat C0 as note 24 as there is no MIDI standard for note naming conventions.

With that assumption

Incoming:

CC on MIDI channel 1 set CC to pp and value to qq

Rules:

If pp<50 then rr=12

if pp<50 then exit rules, execute outgoing action

if pp<100 then rr=14

if pp<100 then exit rules, execute outgoing action

rr=16

Outgoing action:

Note-On MIDI channel 1 note rr with velocity qq


Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz