Multi-sampled MIDI/FX Velocity-Sensitive Instrument

What is the problem?

Currently for a sample-based instrument, when controlling velocity via MIDI or as an FX value, this can affect the volume but not significant changes in timbre. The request is to create a new kind of instrument that controls which sample, sample loop, or sample slice is played based on velocity set by MIDI or FX value. Choosing a note (e.g. other than middle C) would be expected to pitch-shift the played sample/slice. So note still controls pitch, and velocity controls sample playback selection. Currently, if a sample/slice is chosen for playback via MIDI, it must be done via the note value (e.g. hitting a different key on the keyboard). But that is not intuitively how some kinds of instruments operate, such as percussion like a snare drum. For those kinds of instruments, the timbre should change as you hit the same key harder. The way other devices in the industry handle this is via some kind of multi-sampling strategy. Once a configured velocity range is met (within a configured set of ranges each associated with a sample/loop/slice), a specific sample/loop/slice is played.

What should this feature achieve?

This would be useful for both common/mundane and extreme use-cases. For a common case, if I want to use the Tracker as a kind of drum machine, I will typically hit MIDI keys or the pads to live-record each track for each part of a drum kit, e.g. kick, snare, etc. But making it sound organic requires more than volume change, I want to be able to make a snare have more “crack” or “ring” the harder it is “hit”. I can achieve that with different samples. For a more extreme case, I can let the increases in velocity trigger wildly different sounding electronic-music style samples for Industrial style music, etc. Aside from MIDI velocity played from a keyboard, even if I Fill velocity as an FX value down a track, that still intuitively causes instruments that are “hit harder” to respond appropriately without resorting to have to change the note or some other parameter in order to select the desired sample/slice. Doing a Fill of velocity down the track, other instruments in the same track of different instrument types would respond to velocity how they normally would, but so would this new kind of instrument without having to manually mimic this timbre-change effect through other means. For this new instrument type, if MIDI isn’t used and no FX velocity is specified for the note, then a default velocity is used, e.g. 100% velocity or 0% velocity. I leave Polyend to decide the default or if it would be configurable.

Are there any workarounds?

There are no workarounds that have the same result from the user-experience perspective. It’s not that different samples can’t be played/selected another way, it’s just that it doesn’t mimic the experience of velocity-sensitive multi-sampling. From a MIDI keyboard, note is for pitch and velocity would be for sample-selection. Using either note or velocity for a different purpose would mean you couldn’t do both of these at the same time.

Any links to related discussions?

I didn’t know that there was a special form for feature requests, so this was originally a Backstage post. These were my original thoughts on the idea:

Any references to other products?

While it would be infeasible to implement this feature the exact same way as other products on the market, there are examples of how other devices accomplish the same general goal. For example, the Akai MPC series can use multi-sampling with velocity switching: