Subject: [ecasound] MIDI sync testing
From: Kai Vehmanen (email@example.com)
Date: Mon Dec 18 2000 - 06:58:17 EET
Did I say getting new gear might affect my motivation? Well, I just bought
a Rmx1 and now I'm already halfway in implementing 1.9.x development
goals! :) I just put together a hacked version of ecasound which sends MMC
(midi machine control; basicly just "start" and "stop" between MIDI
devices). It seems to work quite nicely for basic synchronation. When I
issue "start" in ecasound, it starts playback on the Rm1x (hardware
sequencer). Similarly "stop" stops both ecasound and the rm1x.
Now this far better than I expected. MMC is the simplest way to
synchronize MIDI devices. Sending and receiving MIDI clock is another
simple way, but not very precise and is nearly useless for ecasound as
ecasound has no concept of tempo (in quarter notes). MTC (midi time-code)
is one option that might be worth implementing. It's also worth
investigating doing the synchronizaion in the other way, ie. controlling
ecasound from the MIDI-devices. Both MMC and MTC seem usable here.
As for access to MIDI devices on the PC side, it seems best just to read
and write raw MIDI data. Both OSS and ALSA rawmidi device allow this. In
other words, when specifying a MIDI device to ecasound, you are actually
just specifying a file name. It can be a normal file containing raw MIDI
data, a named pipe (possibly connected to software sequencer!) or for
instance /dev/midi00 (OSS soundcard MIDI interface).
Even though there's currently no direct support for ALSA sequencer
API, you can still use ecasound as a client using the ALSA virtual
Ok, but all this is still vaporware. I have a working hack, but it's
something that will never ever end up in the actual source tree. ;) I'm
still not sure, how much effort should be put to the MIDI-subsystem.
Writing a complete MIDI system would be quite a task (well, months of
work, at least). Hmm, but it might be better to keep the design relatively
simple. I've been trying to come up with all possible uses of MIDI in
ecasound, and the three most important cases seem to be:
1) input to controllers like -km:...
2) sync input (MMC, MTC, etc)
3) sync output (-- " --)
All other uses are better suited for MIDI-sequencers. And turning
ecasound into a sequencer seems like a bad idea. I think it's enough
that you can sync ecasound to a sw-sequencer.
-- . http://www.eca.cx ... [ audio software for linux ] /\ . . http://www.eca.cx/sculpscape [ my armchair-tunes mp3/ra/wav ]
-- To unsubscribe send message 'unsubscribe' in the body of the message to <firstname.lastname@example.org>.
This archive was generated by hypermail 2b28 : Mon Dec 18 2000 - 06:11:33 EET