Remap MIDI Events

Maybe this is a silly question, but I’m a silly person so I’m asking it anyway.

I have an “old” setup where I receive input from my MIDI Drums into Ardour6, split each note into a different bus and then send it to an individual fluidsynth plugin each (see image).

Reason is that I want to mix-and-match different soundfonts, add different reverb and panning to each instrument, etc. My questions are the following:

  • is there a simpler way to do that?
  • my actual drumkit can be configured at will, e.g. I can replace the sound of a Tom for the sound of a Splash. However, the MIDI event remains the original i.e. the Tom, not the Splash. How could I remap that in my setup?


The normal approach is to use a synth that understands how to do drums, such as drumgizmo. Drumgizmo on one MIDI track, receiving all notes, and then multiple outputs which you can either fan-out to busses for separate FX treatment, or merge as stereo out.

What I do sometimes, is to set-up one of the LSP samplers from Linux Studio Plugins Project (comes with 12, 24 or even 48 channels with up to 8 velocity layers each) and load drum samples collected from free resources.

Side note 1: I think the LSP sampler can also load Hydrogen drum kits (there are > 100 on the net)

Side note 2: There have been discussions recently about licensing issues with the virtual playing orchestra. Someone mentioned there would also beissues with the DrumGizmo kits on the tool’s web site if you want to create music for commercial usage. (At least that’s what I understood, I’m not a lawyer by no means)

Side note 3: I think there are a number of Midi utility plugins available from Robin, one can remap midi notes (not tried myself)

Side note 4: There is no such thing as a silly question …

Commercial is fine, even explicitly allowed.
The kits are licensed in terms of the Creative Commons — Attribution 4.0 International — CC BY 4.0
So any music that uses the kits inherits the license and you have to allow the music to be remixed and redistributed as well as mention drumgizmo in the credits.

Most sample-library licenses exempt music produced with the samples to not inherit the license of the samples themselves.

Thanks Paul, Peter and Robin.

I think that LSP Plugin is pretty close to what I need (I actually already had it, never thought of using it…)

I’m still puzzled though, because I’m inputting the correct note/channel and routing the correct midi input to the MIDI Bus containing LSP Plugin, but the gauge doesn’t move… I guess I’ll be watching some tutorials tomorrow…


Linuxsampler has (or had?) a variant with 16 stereo outputs: one for each MIDI channel. That would allow a similar setup as drumgizmo. I do not know if that is still an option or if any other sampler-player plugin has a mode like this.

This is also how AVL-drums multi-out works internally. A fluidsynth where each note/hit is mapped to a distinct MIDI channel and each MIDI channel is synthesized to a dedicated audio output.

Anyway your setup using a dedicated fluidsynth on a bus, is sound. It probably wastes a bit of RAM (each synth loads the .sf2 into memory), but CPU/DSP wise it is more or less equal to having a single plugin instance synthesize the sound with minimal CPU overhead.

What I do for setup and proof-of concept

  1. Add a new Midi track with the LSP Sampler plugin.
  2. Load samples (or load a config file that already has a setup of samples)
  3. Program some Midi events in the track to check how to trigger the samples.
  4. setup output routing
  5. Once I know that’s fine I can mess around with the rest of midi routing/mapping

I often use the same trick.
I’ve created track templates for the different drum elements so it’s setup rapidly.
I think drumgizmo is a better alternative once you have found and experimented with drumkits.

the sampler approach of course works but it takes a lot of effort at first to hand pick samples and build a fully functional drumkit that suits your needs … so it"s really up to the time you’re willing to spend :wink:
(Note : I wasn’t aware of LSP sampler loading H2 kits as mentioned by Peter ! that could speed things up)

Just in case someone faces a similar problem with LSP Sampler…

It LSP and MIDI Key-Range use different notations for the octaves…

C1 = MIDI#36 in LSP
C2 = MIDI#36 pretty much everywhere else

Okay, now I’m faced with another problem: does LSP understand aftertouch events? e.g. “open hi-hat” followed by “hi-hat pedal” should silence “open hi-hat”
The MIDI device does fire the event, but I’m not sure if this plugin allows me to configure it…

I think you need to assign all related (eg. HH) instruments to a group.

Search for “group”: Linux Studio Plugins Project

You describe an exclusive group. When using soundfonts (.sf2, sfz) this relationship can be specified in the soundfont. Some samplers and sample-players also offer this feature.

PS. Aftertouch is a MIDI message to change the velocity or sound of a note after it started playing. unrelated to the case at hand.

1 Like

Okay… this has been a long ride…
But I guess that the last question would be… can I somehow change the pitch of each individual instrument? LSP Multis-Sampler Plugin doesn’t seem to let me, but I could hook up another plugin after it…

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.