Generate midi events or similar from a (filtered) sound track?

How to use a (filtered) bass drum track to tigger sounds from hydrogen or some midi capable program?

I made a recording of my band the other day. For practicing, but still - I’d like the best possible sound. Unfortunately throughout the whole session (4 songs) the bass drum microphone was tuned up way too loud. The only sound on the bass drum track is "pop"s followed by an “eeek” sound as the bass durm pedal travels back.

With low pass filter set around 70hz or so I get a somewhat usable sound.

But then I thought - why not use that “pop” sound (now filtered) to generate an event to hydrogen that will make hydrogen play one of its bass drum sound samples. And then use that instead. It would improve the sound quality tremendously. And be fun.

Of course, one day we’ll probably just make a new recording. But - until then, it would be really cool.

How would I do that (besides adding another track and pasting in hydrogen drum samples manually).

Thanks in advance,

Are you familiar with pure data (pd) at all? You could set up a patch to route the kick track from Ardour into pd, and then trigger MIDI out events into Hydrogen based on a volume threshold. I definitely recommend checking out pd, it’s a really cool and powerful tool. I could probably help you put together a simple patch to do what you need if you’re able to figure out the basics and the routing.

Maybe there’s a simpler solution but that’s how I would try to do it.

Thank for the reference to puredata. I was on the #ubuntustudio channel last night and asked the same question, and received the following suggestions:

  1. Puredata as you describe; and one guy also sent me some mysteriously-looking “#V … , #X …” code. For me to try

  2. Feed the bass drum track from Ardour --> Rakarrack --> Qmidiroute --> Hydrogen --> Ardour

I am going to try out these suggestions and see what I can make work, and post back here. It’ll probably take some days as I don’t have nearly the time I want to play around with these things.

Thanks for your time


You might also check out the pizmidi plugins at

Unfortunately I’ve had inconsistent luck with those plugs and Ardour. They are Linux VST plugins, they do show up in the Plugin Manager, but I haven’t been able to get them working yet. Not sure where the problem lies.

However, they do such things as change CC messages to note numbers, note numbers to CC, audio to MIDI, rechannelization, and so forth. Given that no Linux sequencer is well-equipped with such transformations it’s a shame the plugins aren’t better known. A lightweight host - such as the moribund JOST - for Linux VSTs would be nice.



what about this:

Thanks for your suggestions. I made it work satisfactorily using frequency filters (low pass) and an aggreesive gate (minimal open + close time) together with a simple pure data patch (“bonk~” and a midi “noteout” were the main important functions).

WIth that setup Hydrogen happily plays a bass drum sample in exact step with the original bass drum track. And what’s more, some of the original sound level (amplitude? gain?) seems to be retained through that transformation; a real plus, since it makes the computer generated bass drum sound human.

I’m definitely going to check out both pizmidi and the ladspa trigger, although the ladspa trigger seems to generate “sound” that always has ampliture 1, so I would get much more mechanical sounding drum events using that I guess.