[gmpi] Re: GIMPI-MIDI

  • From: "Michael Gogins" <gogins@xxxxxxxxxxxx>
  • To: <gmpi@xxxxxxxxxxxxx>
  • Date: Mon, 17 Nov 2003 20:57:52 -0500

Thanks for your attention to this topic.

This is actually a big issue in music representation. The note on-note off
paradigm is ambiguous, unless each note on event gets an instance tag and is
tied to a specific note off event. If we can do that, fine.

If not, then when several note on events are issued for the same pitch and
instrument, there is no way to tell which note on event an incoming note off
event belongs to, so you have to make some sort of assumption, like first on
is first off. For some kinds of music this is no big deal, for other kinds
of music it's a killer (think Steve Reich, Six Pianos).

I agree that the plugin writer should only have one format to worry about;
what I would suggest, then, is the duration format, with it being understood
that in real time performance, duration is -1 until a note is released (MIDI
note off somewhere, probably) in which case the duration is reset to the
length of the decay tails, and the envelope generators in the instrument
jump to their release segment.

============================================
Michael Gogins
gogins at pipeline period com
Irreducible Productions
CsoundVST, an extended version of Csound for programming music and sound
Available at http://sourceforge.net/projects/csound/
============================================


----- Original Message ----- 
From: "Jeff McClintock" <jeffmcc@xxxxxxxxxx>
To: <gmpi@xxxxxxxxxxxxx>
Sent: Monday, November 17, 2003 8:43 PM
Subject: [gmpi] Re: GIMPI-MIDI


> Hi Michael,
>
> Supporting score-driven music is important, but perhaps it's easier to use
a
> small 'wrapper' to perform the conversion.
>
> i.e.
> CSound-style                                                       MIDI
> Style
> [Start-time + Duration]  ---->[Converter]------>[Note-on],[Note-off]
>
> The code would be trivial, but would save plugin writters from supporting
> two different standards.
>
>   I guess my main objection to sending an instrument a 'note-duration', is
> that it has to store it somewhere, plus it has to understand musical-time,
> and track tempo changes etc, quite a lot to implement in every instrument.
>
> Best Regards,
> Jeff
>
> ----- Original Message ----- 
> From: "Michael Gogins" <gogins@xxxxxxxxxxxx>
> To: <gmpi@xxxxxxxxxxxxx>
> Sent: Tuesday, November 18, 2003 2:03 PM
> Subject: [gmpi] Re: GIMPI-MIDI
>
>
> > The duration field could be -1 to indicate an indefinite duration; upon
> the
> > release of the note instance, the instrument might reset the duration to
> > allow for a decay tail. The advantage of this scheme is that both
> real-time
> > and score-driven performance can be carried out by the same event schema
> and
> > the same instrument code. Although the purview of GMPI is real-time
> > performance, there is no reason not to support score-driven (or
off-line)
> > performance if that can be done without complicating the specification,
> and
> > I am sure that it can be done. This would enable GMPI to encompass
> > event-transforming instruments of greater sophistication but less
> complexity
> > than having to maintain a note on-note off pair for each note. As you
> know,
> > a number of sequencers represent notes internally this way and must
> > translate them to pairs to drive instrument plugins.
> >
> > Yes, .3 would be the instance tag in your example.
> >
> >
> > ============================================
> > Michael Gogins
> > gogins at pipeline period com
> > Irreducible Productions
> > CsoundVST, an extended version of Csound for programming music and sound
> > Available at http://sourceforge.net/projects/csound/
> > ============================================
> >
> >
> > ----- Original Message ----- 
> > From: "Marc Poirier" <fipnid@xxxxxxxxx>
> > To: <gmpi@xxxxxxxxxxxxx>
> > Sent: Sunday, November 16, 2003 10:16 PM
> > Subject: [gmpi] Re: GIMPI-MIDI
> >
> >
> > > --- Michael Gogins wrote:
> > > > I do not agree that separating note number and pitch is a good idea.
> > >
> > > Why not?
> > >
> > > > I do agree that providing an ability to repitch a note during
> > > > performance is good, even vital.
> > > >
> > > > Csound allows a note to carry a tag. Subsequent note on messages
with
> > > > the same tag do not re-initialize the note, but carry new
information
> > > > about ANY parameter to the instrument synthesizing that note. It
could
> > > > be  pitch bend, volume, filter cutoff, whatever.
> > > >
> > > > So I propose:
> > > >
> > > > [time][duration][status][channel][key][velocity][userdefined]...
> > >
> > > Specifying duration of course isn't possible in a realtime live
> > > performance context, though.
> > >
> > > > If the status field has a fractional part, the fraction acts as an
> > > > instance tag and the event is routed to the instrument instance that
> > > > first received a note on message with that tag.
> > >
> > > I didn't follow that.  Could you rephrase?  What exactly do you mean
by
> > > "instance tag" in this context?  And you mean that, if status is for
> > > example 6.3, then 0.3 is the "instance tag"?  I think that I'm not
> really
> > > getting what you mean...
> > >
> > > Marc
> > >
> > > __________________________________
> > > Do you Yahoo!?
> > > Protect your identity with Yahoo! Mail AddressGuard
> > > http://antispam.yahoo.com/whatsnewfree
> > >
> > > ----------------------------------------------------------------------
> > > 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
> > >
> >
> >
> > ----------------------------------------------------------------------
> > 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
> >
> >
>
>
> ----------------------------------------------------------------------
> 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
>


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