Velocity Limiter function?

Is the following possible (or any workaround)?

Select all midi events in a groove (say all kicks in an 8 bar groove) and limit the maximum velocity to 80% for example. …or minimum velocity to 30%.

You’ll need to play with the velocity curve of the wanted kit piece’s articulation.


If you’re working in a DAW, export the MIDI into the DAW. That is usually easy to do in a DAW’s MIDI editor. If you use Cubase, I can help you out.

1 Like

Hi, thanks. That sounds good. I looked up “velocity curve” in the manual and nothing comes up. Where is this found on the UI?

(I am familiar with the Tech panel where you can adjust the volume of specific articulations. But this is not what I’m looking for).

Yes, I work in Logic and it has this function and it’s easy and quick to use.

Exporting midi from BFD3 to Logic is quick, but importing it back is too slow if you’re doing it multiple times in a session. Testing, adjusting, etc.

There should be an onboard option if there is none.

Why not just leave it in Logic and do your sequencing and mixing there. Just use BFD as an instrument with multiple outs?

Sorry, I should have said more, but I was on my phone at the time.

It’s here. In the Key Map page, you select each articulation you are interested in and then tweak the response curve.

The left bar (Input), determines which values coming from your MIDI device (or programmed in your DAW) will be mapped to which values on the right (Output).

So if you have a very dynamic part with velocities ranging anywhere from 0-127, and you go over to the right side and pull the left part of the graph up, and the right part down, you’ll have a compressed version of your MIDI part, without messing with the MIDI data itself.

It’s pretty intuitive, give it a shot.

Edit: Trying out now, seems it doesn’t work in 3.4.1 for me?


Ooh. This could be great. I can’t work on the session right now, but I’m looking forward to trying it. Thank you!

SF_Green - yes, but I want to take advantage of the BFD3 features like painting in rolls, the different kind of rolls, the articulations etc. To get the most out of BFD3, you have to do your programming in it. That’s how it looks to me anyway. Let me know if you think otherwise.

1 Like

ggmanestraki: I tried this out and also did not get any result. I’m in version 3.4.0.
I tried what you said. It is pretty self-explanatory. But I heard no change.
Is this a bug?

I don’t know, it was working fine for me in 3.3. It could be a bug.

Do that. You don’t need to export the MIDI until you’re done editing. Get the best of both.

Yes, good point. Do it at the end. But sometimes it’s distracting if you get a kick for ex. suddenly hitting too hard and the timbre is not what you want it to be. (exactly what’s happening on a session I’m working on). I could just ignore it and make a note of it, but I like to clean up errors as soon as I hear them.

Still, I wonder if you’d be missing out on some of the BFD3 features if you exported the midi to the DAW (Logic in my case). Does anyone have a definitive answer on this?

My inclination is to keep it in BFD3. (also a plus upon export: I use Host Sync and just let the song play once in real time, rather than individual track export in logic).

Thanks for your response and everyone who has chimed in.

Hi GG,
Looking at the manual, this feature seems to be a way to manage crosstalk from incoming midi from an electronic drum kit.

Did you ever achieve this to function as a velocity limiter upon playback? This is what I’m looking for.

An update on how exactly it works for me.

When you are using the groove palette to play in BFD, internally, the Key Map is bypassed entirely.

What I do, and it works, is this. First I drag my groove to my DAW (Cubase in this instance. It uses an instrument track, where MIDI from the part is fed to BFD).

Now, if you disable Groove palette playback and turn it to off, MIDI will pass through the Keymap, and the input response will work.

In this case I completely nuked my snare, and it sounds wimpy as hell.

Now, this may not be the best way to do things depending on your method. It works for me though. What would be nice in my opinion:

  1. If Groove palette went through the keymap, so that response curves worked anyway. (Of course I haven’t thought this through, it could prove tricky and wreak havoc to grooves if they passed through different keymaps)

  2. Apply Groove FX could also work for selections. A single kit piece, or a single articulation. Select all events on an overly dynamic snare, tweak compress knob, apply Groove FX, done!


Honestly, I’ve found that for workflow, I don’t like doing this outside of the context of the song that I’m in. I’m thinking about it as a performance, and it’s part of the arranging and recording process.

In other words, by the time I’m tweaking of velocity layers, I’m already working with a fixed drum kit and track, and my grooves are a copy of the original, specific to the piece I’m working on. Generally I’ll have a drum track created, and I’ll use merging and create variations extensively at that point. The furthest that I’d go would be to select multiple events and then tweak the velocity using the velocity tool.

I also automate the global dynamics knob, so I can control that through MIDI from the DAW. That way I can treat it, not quite like a fader, but how a conductor would. Generally, though, all the major dynamics are already in the groove, to the point that I can make minor conductor level tweaks through the global knob.

1 Like

Hi, I’m fascinated to try this. I have to tend to other things at the moment (producing a full album with a singer songwriter where I’m playing/programming most of it). But next time I do a BFD3 session, I’ll give this a whirl. Thank you so much for detailing your process. Have a great day, GG.

Kafka, thank you. I never thought of automating that knob. Great tip.

Hi, one more note on this subject. Thanks again to ggmanestraki for his posts.

Even after doing the suggested procedure by ggm, I am still getting too much variation in volume.
The way I solved this was (AMG mode on - in the global controls), and in the MODEL window (select KIT and it will appear on the far right), I reduced the AMG Variance knob. This seems to be working.

I don’t know if you can automate this knob, but that might be a solution for using different values of this knob within a song.

1 Like

That’s also a very good idea, especially if the programmed material falls in a very narrow velocity band after compression, because then the AMG algorithm would then think “whoaa machine gun playing, better do something!”. The bad thing with programming drums is that there are too many variables. The velocities could be at fault, the levels of the returning audio could be at fault, a certain timbre at a certain volume or velocity of a certain kit piece could be at fault, it all depends on the kit, song, occasion, (and in my case) luck.

The good thing is that BFD gives us a variety of tools so that we can come through. It’s just that sometimes we have to do less of more things than more of one single thing, and then it’s difficult to settle to a simple “if A then do B” method.

As long as we share our scraps of workflow here, I think we all gain from the sum of our knowledge.

1 Like