[gmpi] Re: Time Summary (was *Ping*)

  • From: "Frederick Umminger" <Frederick_Umminger@xxxxxxxxxxxxxx>
  • To: <gmpi@xxxxxxxxxxxxx>
  • Date: Fri, 16 May 2003 11:46:42 -0700


-----Original Message-----
From: Paul Davis [mailto:paul@xxxxxxxxxxxxxxxxxxxxx]
>>Why? -- a remote processor could be sample locked to the GMPI host (hell it
>>could be the audio interface for the GMPI host), but it could be that plugs
>>running on that processor have very different timeslices (they could have
>>single sample timeslices in fact). This does not mean that they are not
>>sample sync'ed and it also does not mean that they do not have the same
>>sense of time. 
>
>i'm sorry, my definition of sample-synced is "processing data for same
>time slice". i personally see no wiggle-room there.
>

Sample-synced means sample-synced. It does not mean buffer-synced, which is 
what 
you are talking about here. There is no reason why two sample synced hosts 
could 
not use different sized audio buffers (= time slices). In fact, this is done all
of the time when people hook outboard digital gear to host-based DAWs. The 
outboard
gear may very well use sample-by-sample processing (= a 1-sample audoio 
buffer/time 
slice), while the DAW probably uses at least 32-sample buffers.

A proxy can split or combine buffers to interface between systems using 
different 
time slices, if needed, so that is not really the problem. The problem is if 
events
and audio go over different transports with different latencies. They then need 
to 
be re-synced. Assuming the events are going over the slower transport, then 
this 
could be done by delaying the audio until the corresponding events arrive, or, 
in 
favorable circumstances, it could be done by sending the events early. A proxy 
can
delay the audio by itself with no special API support. It cannot request that 
events 
get sent early without API support. Sending events early will give superior 
performance,
when it is possible.

The nicest solution would be for the proxy to send events and audio bundled 
together over
the same transport. However, this severely restricts the kinds of systems for
whch proxies could be created. In particular, you couldn't connect systems 
using a 
combination of AES/EBU or ADAT light-pipe and MIDI, which covers just about all 
current
outboard hardware.

However, I think a more impportant issue is the time that it takes a plugin 
itself to 
respond to events. If events are sent in strict synchrony with the samples 
where they occur, 
then the plugin cannot do any long calculations in response to events or it 
might miss a 
deadline. If events were sent early then the plugin could process them with 
lengthy 
calculations and still never miss a deadline as long as the events were not too 
dense. 

-Frederick Umminger



----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules:  Please stay on topic.  You are responsible for your own
words.  Please respect your fellow subscribers.  Please do not
redistribute anyone else's words without their permission.

Archive: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: