[ardour-users] MMC commands and remote control

Gerhard Zintel Gerhard.Zintel at web.de
Thu Mar 10 11:19:08 PST 2005

Subject: Re: [ardour-users] MMC commands and remote control
Date: Wednesday 09 March 2005 20:47
From: Gerhard Zintel <Gerhard.Zintel at web.de>
To: Ben Bell <bjb at deus.net>

Hello Ben,

> > PS.: if anyone is interested in the hard-/software of the remote controll
> > - I'd like to share that knowledge. A WIKI would be the best for sharing
> > those kind of information - or what would you think?
> I'd certainly be interested in this,

after having had very few response to my first mail, I started with Rob a
private conversation about that subject. I'm not sure if the mailing list is
the right place for it? After your response, I think that we should have a
starting discussion on the list. Maybe others are interested too. So I copy
our dialog, we have had so far,  to this mail and give answers to Robs last
questions. You have to read Robs reply to my first mail for a full

> From: Rob Fell
> To: ZINTEL Gerhard
> SubjectRe: [ardour-users] MMC commands and remote control
> ZINTEL Gerhard wrote:
> > that sounds for me more like a Software only project, using a existing
> > computer and writing a program?
> I had planned for a final implementation using a PIC.  I wanted to
> explore what Ardour can/cannot do first - the Atari is convenient for
> investigation because it has high-level programming languages and a MIDI
> port.
> > The hardware I'm using is just a small Micro
> > controller. It is able to read a few sliders (6 A/D inputs), a few
> > switches and send and receive MIDI data with its UART. Program
> > space is limited to 8 KB (about 4000 instructions). But it's none the
> > less very powerful in that. It's very cheap but at least, you have to
> > solder the hardware by yourself.
> I'm not familiar with the ATMEL micros, but their capabilities appear
> similar to that of the PIC micros.

For me it's the other way round. I have worked with Atmels micros for a year
now and they seems to be very handy. I've heard that PICs are much more
complicated to program but this surely is subjective.

> > What would be the amount of different controlling devices you are in need
> > for? Sending controller bind able MIDI commands in addition to the
> > transport MMC ones would be absolutely no problem. The problem is more
> > the hardware (knobs, switches) you'd like to use for remote controlling.
> I had intended to make a control surface which could accommodate 8
> channel strips: each strip should be capable of controlling channel rec
> enable, fade, balance (this is tricky due to the current implementation
> of balance in Ardour), and automation rec/play/touch modes.
> It is relatively easy to expand the digital inputs available to the
> micro for handling this number of inputs.

I know that, I have worked already with PCF8574 chips coupled over I2C bus to
increase the number of in-/outputs.

> Transport control is vital too for mouse-less recording/mixing.
> The rec enable and automation controls are best implemented as SPST
> pushbutton switches, and probably need visual feedback too (LED's).

Don't know what SPST means?

> The fader/balance controls are more complicated - they could be
> mechanical potentiometers, but that would make synchronisation between
> the control surface and Ardour more complex than neccessary, and would
> not work well with Ardour automation.
> A better option is to use rotary digital encoders - but they are
> difficult to use when you have many of them (the required sampling rates
> are surprisingly high to cope with high angular rotational rates).

I have used one half a year ago and I was not very satisfied with my results.

> The best option I can think of is based on a ribbon controller: but this
> requires fairly complex software to handle the synchronisation between
> control surface and Ardour.
> The advantage of ribbon controllers is that they are analogue devices -
> hence it is possible to reduce A/D sampling rates by appropriate
> analogue low-pass filtering.

I have build up a MIDI controller to play my B4 organ. I use it to handle the
drawbars and all the knobs. I've done the controlling with a resistive touch
panel. If I want to improve the layout (more knobs ...) I make a new
printing, put it under the touch panel, change a few lines of code, and
that's it.

> > Time is always a problem - but if you could give me a more detailed
> > description of your needs, I could see if the thing I'm doing could be
> > interesting for you too (maybe as a starting point).
> Have you considered adding MIDI merge functionality?

In the above mentioned controller, I have implemented to merge two data
streams (all except sysex messages) to be able to play with two manuals.
Internally the third data stream (the controller messages) are added too.

> > BTW: The MMC command to switch the "Rec Enable" button is no working in
> > Ardour version 0.96 and 0.97. So by now, I'm able to play and stop
> > ardour, switch recording on and off, switch to fast forward and rewind
> > and jump to home position.
> Useful information - thanks.
> I know very little about MMC - do you have any useful URL's for MMC
> protocol?

So far only http://www.borg.com/~jglatt/tech/mmc.htm
and the information out of Ardours file Midi.h

> Does the machine being controlled (Ardour) send any messages
> back to the controller?

Yes, if you switch on "Send MIDI Parameters Feedback" and "Send MMC" to ON in
options editor, it will send it back (that's at least my understanding). You
can observe the messages sent in Ardours startup screen if you additionally
switch on the "Trace MIDI output" button. It seems not to be fully
implemented, there is e.g. no output if you press the Play button.

With that, it would be possible to read back Ardours output in the controller
and to have something like a closed loop controll - but to handle all this
information is much more complicated (in the controller) than to send
commands only.

> If you're interested in the ideas I've described above, please don't
> hesitate to ask for more explanation.
> Thanks
> Rob


Gerhard.Zintel                                           <at> web.de

More information about the Ardour-Users mailing list