Midi machine control (MMC)

Hi,

I noticed qtractor is now MMC enabled. I tried with my m-audio prokeys 88, which (according to the manual) can send some MMC events. I connected prokeys to qtractor's control midi-in, then I tried buttons play, stop and rewind on the keyboard, but there was no effect. Is there any additional configuration to make it work?

On the other hand, can anyone give me some recommendations for an MMC control surface that is known to work in linux and with qtractor? Nothing fancy really, just some play, record and similar buttons to work with a sequencer.

Thanks,
Marko

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
rncbc's picture

Re: Midi machine control (MMC)

Hi and welcome.

MMC is featured in Qtractor for quite some time now (see MIDI Machine Control (MMC) Fun)

However, its implementation has not been tested with anything else but my Tascam US224 control surface, via us428control (in alsa-tools) and guess what? most of the pertinent code was written by yours trully :) So it might just happen that is kind of a specific or narrow-minded implementation and just don't work with anything else. :))

It would help whether you can dump what MMC events are being actually sent by your M-Audio Prokeys 88 keyboard. Try using aseqdump to trace what's going on and paste it here, specially the ones related to the start, stop or rewind buttons. You can also try rebuilding qtractor for debug (./configure --enable-debug) and watch what is being captured on the console as MIDI In...

BTW. does it work with Ardour?

Hope to help you (and me as well:)
Cheers

aseqdump says "continue" for

aseqdump says "continue" for start button. Then Clock event is repeated until stop button is pressed. Rewind is the last one - Song position pointer 0. That's all the commands the keyboard can handle :)

Source_ Event_________________ Ch _Data__
0:1 Port subscribed 129:0 -> 133:0
130:1 Continue
130:1 Clock
130:1 Clock
130:1 Clock
130:1 Clock
130:1 Clock
...
130:1 Stop
130:1 Song position pointer 0

Do you also need qtractor debug console output?

I'm building ardour right now and will report back.

Thanks

rncbc's picture

Re: aseqdump says "continue" for

Aha! That is not MMC. It's more like MIDI song pointer positioning.

MMC are sysex commands, for example:

F0 7F xx 06 01 F7 = MMC STOP
F0 7F xx 06 02 F7 = MMC PLAY
F0 7F xx 06 04 F7 = MMC FFWD
F0 7F xx 06 05 F7 = MMC REW
F0 7F xx 06 06 F7 = MMC REC STROBE
F0 7F xx 06 07 F7 = MMC REC STOP
F0 7F xx 06 08 F7 = MMC REC PAUSE
F0 7F xx 06 09 F7 = MMC PAUSE

Qtractor does not recognize MIDI song position. But it might do sometime ;)

Cheers.

Thanks for sysex examples,

Thanks for sysex examples, I'll examine specifications before buying any new hardware. Also thanks for comments on the Tascam unit. It looks very nice on pictures, though I don't really need additional audio/midi ports, but it sure seems great for a laptop.

Cheers. :)

rncbc's picture

Re: sysex examples and US-224

Yes, the US-224 is a great companion for a laptop, in deed. But take note that its MMC features aren't really provided by the hardware itself (firmware is the right word).

In fact, in the Linux case at least, all control signals are interpreted and converted into MMC commands by us428control, a tool-in-the-middle (so to speak) that is responsible for all that kind of dirty work. So that, you see, this might be a particular feature in the Linux US-x2y stack and not originally provided by Tascam (although I would suspect its Windows/MacOSX driver might do something quite similar, more or less).

All that to say there's a high probability that, even though a particular vendor brags about eventual MMC support, you must ask for sure whether that support is in the firmware OOTB and not implemented at the host OS driver side, in which case you're certainly out of luck. The US-x2y is the only Linux stack I know of doing that stuff, thanks to Karsten (and me :))

Byee

Re: sysex examples and US-224

I did some research myself as well and the situation seems preety bad. All the relevant hardware doesn't even mention mmc. Everything seems be done through drivers, customized and tweaked for the major sequencer/DAW suites. There seems to be no standard at all. On some manufacturers forums, there is a handful or requests from linux users (for specifications and support), none taken seriously. So yes, us428 seems to be the only choise. Or perhaps some alternatives... like having another keyboard and mapping some shortcuts. :)

See you around and thanks.

ardour

Hi,

Ardour plays and stops. However, it does nothing on Song Position 0 command and also it doesn't seem to respect tempo from mmc clock events. Anyway, I'll try to get a more featureful (more buttons :) ) mixer surface, can't do much with only play/stop.

Can you please comment on using Tascam us-224? I never really used such a control panel, I only know that I would very much appreciate some kind of control that doesn't involve moving away from the instrument to tackle mouse/keyboard combo. Can you arm tracks, set punch in, record, play and move through tracks?

Thanks for your effort and cheers,
Marko

rncbc's picture

Re: Tascam US-224

The US-224 is a USB1.1 audio/MIDI interface with a control surface. Linux support is provided through the ALSA snd-usb-usx2y module which applies as well to smaller US-122 and bigger sister US-428.

AFAICT these are pretty good hardware but I'm afraid already phased-out by Tascam, so most probably you may only find those second-hand. Avoid the newer US-122L and US-144 if you have Linux in mind. Those are not supported in ALSA.

The current state of the US-x2y line of devices in Linux is mostly due to Karsten Wiese stoicism. Major kudos must go to him, as he is the man that made it all work on Linux and specially on JACK, where a special dedicated back-end is included as to make use of the so-called raw usb mode achieving near-limit low latency which other USB devices only dream of :)

Cheers.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.