[gmpi] Re: New Reqs 3.8 - Events

  • From: "gogins@xxxxxxxxxxxx" <gogins@xxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Mon, 22 Dec 2003 14:05:17 -0500

I don't think so...

Presumably a use case of GMPI is rendering audio in sequencers that support
notation. The discussion to date has not truly come to grips with the
problems.

Perhaps I should explain a bit. I do both algorithmically generated scores
and notated scores. For algorithmic scores, I prefer absolute time from the
beginning of the score in seconds, not bars and beats, but absolute time in
samples would be OK. 

For notated scores, obviously, absolute time in bars and beats is
necessary. The notes, however, do not necessarily start right on the beat,
but usually have some swing; they lag or lead the beat. The score
schedulers that I have written schedule events with that swing. Therefore,
I must know the current music time AT EVERY SAMPLE FRAME so that I can
dispatch each event inside my plugin with sample frame precision. I might
be at bar 4, quaver 1, semiquaver 2, lagging 4 ticks. What sample frame is
that? But the offset is always changing due to the accelerando...

If GMPI implements music time at all, then there must be some function
accessible to plugins that contain scores or process notes, a function that
can look at the music time of the note (or control event) and decide if
that music time matches the current absolute time (in sample frames) so
that it can dispatch it.

In my opinion, getting this right, which means not only ensuring the
ability to dispatch events based on sample-frame accurate music time
including swing and phrasing, but also making sure that the API is simple
and natural to use for this purpose, is a critical point for GMPI.

Classical music has swing just like jazz does, only it's a different kind
of swing. Classical music also has rubato and many passages of slowing down
and speeding up, not usually in a straightforward linear manner; hence
digitising music time requires not only instantaneous time, and not only
linear ramps, but even polynomial splines.

Avant garde or experimental music adds polymeter, in which each meter has
its own totally independent swing, rubato, and accelerando or ritardando, a
la Ives for example. So you have two or more polynomial splines for music
time.

I was originally asking about sample timestamps because this subject is so
complex, I would be happy to forget about music time and splines and
whatnot, if only I could just use a sample frame timestamp to synchronize
independent scores. 

In other words, it would be fine with ME if GMPI did not mess with music
time at all, except with respect to beginning of performance or other
timeposts or section markings in scores. That would suffice for my own
purposes. 

But I rather think that many users, e.g. film composers, will need the
splines and the polymeters and the whole nine yards.

I hope I have made these kinds of requirements a little clearer.

Original Message:
-----------------
From: Tim Hockin thockin@xxxxxxxxxx
Date: Mon, 22 Dec 2003 08:29:59 -0800
To: gmpi@xxxxxxxxxxxxx
Subject: [gmpi] Re: New Reqs 3.8 - Events


On Mon, Dec 22, 2003 at 09:13:07AM -0500, gogins@xxxxxxxxxxxx wrote:
> As I noted earlier, what you suggest is far from adequate UNLESS music
time
> has sample frame precision. I actually need this and I am sure others will
> as well. One of the great frustrations of MIDI has been lack of temporal
> precision, especially in very dense passages (clouds of grains that need
to
> be lined up precisely, tuttis with hundreds of hits on the same instant,
> etc.). Naturally I look for GMPI to resolve this problem.

What ig you could be handed a sample-accurate timestamped event that says
"on this sample, we begin Bar X, Beat Y".  Does that meet your needs?

Tim

----------------------------------------------------------------------
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


--------------------------------------------------------------------
mail2web - Check your email from the web at
http://mail2web.com/ .



----------------------------------------------------------------------
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: