Separating MIDI Instruments on two tracks

I’m using Version 5.12 under Windows 10, connected via USB to an Impact LX25+ MIDI keyboard. I’ve set up the drum pads to transmit on MIDI channel 16 and the piano keys to send on channel 1. In Ardour I set up on MIDI track listening only to 16 with a drum patch selected and a second MIDI track listening to only channel 1 for the piano patch. When I play either the the keyboard or the pads, both tracks produce sound.

I have verified that the only MIDI data being transmitted is on the correct channel for both cases, and no other MIDI data appears. on the MIDI monitor. What am I missing in terms of isolating the two tracks?

How did you do that? As far as I know, Ardour 5 has no such built-in feature.

There’s a “Channel Selector”, but that only affects what is recorded (and/or played back). In Ardour 5 it does not affect any live signal passing through the track.

I don’t think there is an easy way to achieve what you want. There are however a couple of solutions.

I’d use the “MIDI Simple Channel Filter” plugin (comes with Ardour/Windows, filed under “Utils”) and two MIDI busses. First filter each channel, then route it to a track to record. Another approach would be to directly use the plugin on each track, in combination with Ardour’s “Channel Selector”.

Thank you for the thoughtful response. This seems like such a basic MIDI feature that I’m surprised that selecting a MIDI channel does not affect the signal running to a track (that’s what MIDI channels are for…). I will try your work-around. Thanks again.

The intention of MIDI channels is to allow different sound generators to respond to different channels. In the context of Ardour, that means plugins. It isn’t Ardour’s job to decide what to do with the channels, but rather the job of the plugin(s) to decide which channels they will pay attention to.


Thank you for taking the time to answer beginner’s questions like mine. Given your comment above, when I create a MIDI track and select that only one MIDI channel be recorded, is the intent that that all MIDI data is passed to the plugin, but Ardour only records the selected channel as track data?

Perhaps what I’m confused about is the level at which a plugin operates. Is a plugin a global entity, or does it reside logically within a track, and therefore receive only data the track plans to record?

Plugins exist only within a given track or bus. In Ardour 5.x, the data that goes to/from disk is logically before the plugin, so Ardour’s own logic will affect what ends up on disk. But in Ardour 5.x, it will not affect the data seen by the plugin during recording.

This is all different in Ardour 6.0 (not yet released nor scheduled for release).

Thank you Paul. ----------------------