M-Audio Oxygen 61 Mk 4

I just read the spec for Ardour V5 and read that it has a midi map for the M-Audio Oxygen 61 Mk3 controller.

I’ve just bought the Mark 4 of that controller. How would I go about creating a new map or copying & modifying the supplied Mk3 map?

Being new to midi, is there a linux program that I can use to monitor the midi signals if required to aid in creating the map?


To monitor MIDI events you can use GMidiMonitor or KMidimon, depending on your use of Gnome or Kde

Thanks @stratojaune. KMidimon does it for me.

Ardour also has its own MIDI Tracer window (Window > MIDI Tracer) which can be quite useful. There is also a plugin, a-midimonitor, which shows inline in a mixer strip, but this tends not to be so helpful for diagnostic or analytical use.

Thanks Paul - found that. I’m struggling to figure out how I can assign a midi map. Nothing I’ve searched for tells me how to assign a midi map in Ardour V5. And the options menu to set up midi learning shown in Kris’s video is for V3 and I cannot find that functionality in V5 either.


I’ve found these plugins helpful when I can’t get Ardour itself to do some midi transformation that I want: http://x42-plugins.com/x42/x42-midifilter

Thanks @Paul. I’ve sorted it now and have the map working. Couple of questions:

  • The midi tracer spits out the ctrl id’s etc in hex, yet the map appears to want decimal values. Is that correct or will the map accept hex values as well?
  • There doesn’t appear to be an XSD for the map file. Would it be useful to have one defined? I’d be happy to do it.

I’ll post my map for the Mk4 on Github when I’ve polished it up. You can pull it from there if you want to include it in a future release.

Thanks everyone for your help.

@Paul. Please see https://github.com/chippyash/ardour-midi-map for an XSD to validate map files. I’ve also put a file there, ‘Validation Errors.txt’ which shows errors in the Ardour V4 map files. The XSD is fully documented so if you have a XML editor handy (I use Oxygen,) You’ll get it in the comments IDE. There were some its that are not documented in the midi mapping documentation page, so I’ve used ardour/libs/surfaces/generic_midi/generic_midi_control_protocol.cc as source for them. Even so, some attributes are missing explanations. Also, if you have some example files that utilise the enc-r, enc-b, enc-l, enc-2, rpn, nrpn, rpn-delta and nrpn-delta attributes, I’d be happy to see them, so I can test the validation against them as well, there being none in the distribution folder.

I don’t know whether you want to include this in the distribution, or simply point to it in your documentation, (which needs an update btw, as it isn’t in line with the code in all respects.) Either way, if it helps others, I’ll be happy.