[gmpi] Re: GIMPI-MIDI

  • From: "Andrew \"Silver Blade\" Greenwood" <lists@xxxxxxxxxxxxxxxxx>
  • To: <gmpi@xxxxxxxxxxxxx>
  • Date: Mon, 17 Nov 2003 14:33:46 -0000

While I do feel that having loads of information stored just for a note
event is a bit excessive, I then realised that the host could just store
this information in a file simply as an event "tag" size, followed by the
the event data, which could then be read into a standard struct.

In memory, however, you could just have a table of events, and have a
pointer to each event, maybe?

----- Original Message ----- 
From: "Michael Gogins" <gogins@xxxxxxxxxxxx>
To: <gmpi@xxxxxxxxxxxxx>
Sent: Sunday, November 16, 2003 10:24 PM
Subject: [gmpi] Re: GIMPI-MIDI


> I do not agree that separating note number and pitch is a good idea.
>
> 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]...
>
> 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.
>
> Perhaps someone can suggest a better scheme, but I think the idea of an
> instance tag is necessary to represent gestural performance data in a way
> that is better than MIDI.
>
> ============================================
> 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: Sunday, November 16, 2003 3:34 PM
> Subject: [gmpi] Re: GIMPI-MIDI
>
>
> > > I have worked with Hertz, linear octave (1=octave, 8=middle C), char
> MIDI
> > > key, and double MIDI key. The last is best .
> >
> > That sounds good.  Can I suggest something?...
> >
> > MIDI looks like this..
> >
> > [Note-On][Chan][Note-num][Velocity]
> >
> > GIMPI does this...
> >
> > [Note-On][Chan][Note-num][Pitch][Velocity]
> >
> > Why?, It seperates the key-number from the pitch it plays.
> >
> > The note is identified by a note-id (or voice-id), not it's pitch, after
> > all, a note's pitch can change during it's lifetime.
> >
> > I've been looking at Microtonal software, and what they do is, they
retain
> > MIDI-Note numbers, but use special MIDI messages to retune each note,
> either
> > beforehand or (better) on-the-fly.
> >   Also, retaining integer note numbers, provides a very solid, fast
method
> > of identifying a 'note' when you later want to send a note-off,
aftertouch
> > messages or whatever, floating-point note-ids are a little too 'fuzzy'.
> >   Also, it provides good compatibility with MIDI, in that you can easily
> > convert forward and back to MIDI.
> >
> > MIDI Continuous Controllers
> >
> > It's already been hinted at, but we havn't written it down.
> >
> > MIDI looks like this...
> >
> > [CC][Controller-num][controller-val]
> >
> > controller values are 7-bit, some are hacked to 14 bit via two-byte
> > controllers or NRPN (Non-Registered-Parameter-Numbers).
> >
> > Gimpi retains the format and existing controller numbers, except
> > controler-id becomes 32 bit int, controller value becomes 32 bit
> > floating-point 0.0 thru 1.0
> >
> > Gimpi converts all two-byte controllers into a single GIMPI controler
> > message.  Perhaps NRPN IDs could look like
> >
> > 0x0100nnnn  (the high-byte is 1, the low 14 bits map directly to the old
> > NRPN number)
> >
> > same for RPNs...
> >
> > 0x0200nnnn  (the high-byte is 2, the low 14 bits map directly to the old
> RPN
> > number)
> >
> > also (more radical), provide voice-specific controllers (like pitch-bend
> per
> > note),  again mayby just use the existing MIDI controller IDs, they
cover
> > the most common needs (pitch, volume, pan, filter cuttoff etc).
> > [CCV][Voice-ID[Controller-num][controller-val]
> >
> >
> > what do you all think?
> >
> > Jeff
> >
> > The MIDI standard replaced?, I can hear the MMA rolling in their
> graves....
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > ----- Original Message ----- 
> > From: "Michael Gogins" <gogins@xxxxxxxxxxxx>
> > To: <gmpi@xxxxxxxxxxxxx>
> > Sent: Sunday, November 16, 2003 7:02 PM
> > Subject: [gmpi] Re: Reqs TODO
> >
> >
> > > I have worked with Hertz, linear octave (1=octave, 8=middle C), char
> MIDI
> > > key, and double MIDI key. The last is best because it is universal and
> > > because everybody already knows what the numbers mean. It's usually
> > > necessary to convert back and forth with MIDI and this obviously
> > simplifies
> > > that. Next best is linear octave because the octave relation is
obvious.
> > > Hertz is not so great because pitch is logarithmic wheras frequency is
> > not,
> > > so MIDI or octaves are a little more intuitive than frequency.
> > >
> > > ============================================
> > > 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: "Tim Hockin" <thockin@xxxxxxxxxx>
> > > To: <gmpi@xxxxxxxxxxxxx>
> > > Sent: Saturday, November 15, 2003 2:55 PM
> > > Subject: [gmpi] Re: Reqs TODO
> > >
> > >
> > > > On Sat, Nov 15, 2003 at 09:55:22AM -0500, Michael Gogins wrote:
> > > > > I thought we had decided GMPI was to support experimental music
and
> > thus
> > > >
> > > > yes
> > > >
> > > > > would support any tuning system. I suggest using MIDI key number
but
> > > with
> > > > > floats, so fractional key numbers can represent any pitch. In my
> view,
> > > this
> > > > > is a CRITICAL question that will impact future interest in GMPI by
> > > hard-core
> > > > > experimental and computer music players, composers, and
researchers.
> A
> > > >
> > > > Why this, instead of pure float hertz?  Or pure linear pitch (1.0
per
> > > octave
> > > > is how modulars work, right)?
> > > >
> > > > This was a bit of a quagmire in the XAP discussions, but it needs to
> be
> > > > addressed.
> > > >
> > > > Three proposals, so far (all float)
> > > >
> > > > 1.0/half-step (based on 12tET, but other tunings can work)
> > > > 1.0/octave (not tied to 12tET at all)
> > > > 1.0/Hz (non-linear, but highly accessible raw unit)
> > > >
> > > > We don't need to decide it now, but I wouldn't mind discussing it
for
> > the
> > > > extra stuff section.
> > > >
> > > > 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
> > > >
> > >
> > >
> > > ----------------------------------------------------------------------
> > > 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: