Re: [ecasound] syncronizing tracks

New Message Reply Date view Thread view Subject view Author view Other groups

Subject: Re: [ecasound] syncronizing tracks
From: Kai Vehmanen (k@eca.cx)
Date: Fri Feb 09 2001 - 01:42:43 EET


On 5 Feb 2001, Mario Lang wrote:

> thing at once. So I would like to record separate tracks
> and mix them together at a later time.
> What do you guys use to do this?
> About eca and midi sync. As I got it ecasound can send start/stop signals on the
> midi bus. Can this be combined with a clock.

Actually support for midi start/stop is still on the drawing board.
Currently the only sync mechanism available is the "sync to human". ;) In
other words, you first record one background track. Then by using this
track as a monitor track (=timing reference) you can record more tracks.
Of course, if you'd like to combine multiple sequenced (=non-human)
tracks, this technique isn't enough.

> E.g., when I know that my original track was made with 170bpm,
> can I tell ecasound to set this speed for all midi devices
> when doing record?

There was just a thread about this on linux-audio-dev. It's actually quite
difficult to send midi clocks from an app running on a general purpose
system like Linux. Paul Davis (the Ardour/Quasimodo/etc guy :)) has a good
implementation of this in Softwerk, but the code is highly platform
dependent (here linux&x86). Also, Softwerk is a type of MIDI-sequencer, so
handling MIDI data flows is its primary function. Ecasound on the other
hand is centered around audio processing (ecasound execution is controlled
by audio devices), so adding timing sensitive MIDI-services is not
straightforward.

Another question is whether plain midi-clock is enough. If not, what
sync-mechanism is enough? These questions are my primary interests at the
moment. I'm trying to find out the effort/usefulness ratio of different
sync alternatives (while taking portability and reliability into account).

And there are lots of alternatives:
        - midi start/stop/continue
        - mmc (midi machine control); like the plain start/stop/cont
          but is channel specific and has more features, based on
          sysex-messages
        - midi clock (tempo as bpm)
        - mtc (midi time code); position in seconds and frames
           (concept of musical tempo involved)
        - smpte timecode; timing info is transmitted as audio
        - ...

I think the first step would be to implement the start/stop/functionality.
Then we could test the following scenario:

a) you have multiple sequenced tracks, but you want to record
   them separately
b) you set up one track ready for recording (waiting for midi start)
c) ecasound is started so that it sends midi-start
d) once ready, go back to step (b)

Now it will be interesting to see whether the recorded tracks are in sync
with different recording sources (midi synths, hw recording units, analog
gears, another computer, etc, etc).

> A way to record just the timing information from /dev/midi in a separate datafile
> and play it back in combination with the old tracks.

Ideally this could be achieved by having ecasound send a start signal to
the master midi-sequencer (either sw or hw). Unlike audio, midi-stream
playback is not a simple thing. The problem is the same as with sending
midi-clock, you must send the midi messages with precise timing.

-- 
 . 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 <ecasound-list-request@wakkanet.fi>.


New Message Reply Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Fri Feb 09 2001 - 01:47:46 EET