[gmpi] Re: 3.15 MIDI

  • From: "gogins@xxxxxxxxxxxx" <gogins@xxxxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx
  • Date: Wed, 16 Jun 2004 08:35:47 -0400

I suggest that all low-level musical performance control parameters should
be dimensions in
a continuous linear metric space with musically "natural" units. That means
MIDI semantics as much as possible -- but not MIDI limits or precision.

For example, pitch should be MIDI key with fractions. 60 should be middle C.
60.5 should be the frequency halfway between middle C and C#. Numbers
greater than 127 and less than 0 should be permitted.

I've tried all the other approaches. This one approach can handle all the
requirements expect for indexing by scale degree in scales besides 12 tone
equal temperament. Yet this approach can still represent any frequency
generated by such scales.

----- Original Message ----- 
From: "Chris Grigg" <gmpi-public@xxxxxxxxxxxxxx>
To: <gmpi@xxxxxxxxxxxxx>
Sent: Tuesday, June 15, 2004 10:08 PM
Subject: [gmpi] Re: 3.15 MIDI


> Thanks, Jeff.  Sorry if I was unclear, I didn't mean to imply it
> would be impossible to do that using non-MIDI message representations.
>
> There is however a loss-of-information problem when driving actual
> downstream MIDI inputs, whether HW or SW, for example if the
> 'strummer' generates new events with non-integer 'pitch' values.  If
> you Y the strummer output to a GMPI SW inst and an external MIDI
> synth, the SW synth will generate in-between pitches and the MIDI
> synth will generate key-number-quantized pitches.
>
> And note that you have one understanding of the meaning of 'pitch' in
> a GMPI note-on msg, i.e. a note index (i.e., to be used to do a
> lookup in a note frequency table) with fractional part, whereas
> others seem to expect it to be a direct representation of
> frequency... and if it's the latter, then the MIDI strummer that we
> both like would be somewhat harder to achieve, because the frequency
> would have to be converted to a note index, played with, and then
> each generated note would have to be re-converted to a frequency
> (plus the quantization problem I mentioned).  So at a minimum (and I
> don't think this is the first time I've asked for this) it would be
> good to get clarification from the no-MIDI-in-the-graph camp on some
> concrete proposal for what a GMPI note-on message wouold look like,
> so we can test it against use cases like this, instead of guessing.
>
> Assuming without close inspection that MIDI-GMPI transcoding will
> automatically be perfect, which is the approach I've seen today,
> really seems like asking for trouble.
>
> -- Chris G.
>
> >  > Also, there are plenty of good ordinary regular use cases
> >for a plug  processing purely internal MIDI, not just
> >external.  For example,
> >  host MIDI track --> MIDI strummer
> >
> >Respect to Chris for giving some actual use-cases for MIDI.
> >   It allows us to (hopefully) alay fears that you can't do
> >these with pure GMPI.
> >
> >The 'Strummer' is something I particually like.
> >
> >  GMPI plugins can both send and recieve events.  So writing
> >an event processor is no problem.
> >
> >   MIDI note-ons will be converted to GMPI events.
> >It's important to realise that all Parameter-Seting is done
> >via timestamped events.  i.e. your plugin dosn't actally
> >have to implement those parameters, it might simply pass
> >those events through to the next plugin in the chain (a
> >synth for example).
> >
> >
> >   So your plugin is going to recive some timestamed events
> >like..
> >
> >"Set Pitch 64.0"
> >"Set Velocity 1.0"
> >"Set Note_on_off=1"
> >
> >or similar (exact details don't matter at this stage)
> >
> >your plugin can transform those values in any way it likes
> >(transpose, quantize etc), or generate new events
> >(strumming, arpegiators, one-finger chords).
> >
> >Those events are then outputed to the 'downstream' plugin,
> >the synth.
> >
> >Anyway, my point is, that GIMPI Set-Parameter events are
> >little different from MIDI events.  It's just as easy to
> >write GIMPI event processing plugins as MIDI processsing
> >plugins, in fact it's not much different.
> >
> >We lose nothing.
> >
> >Jeff
> >
> >----------------------------------------------------------------------
> >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
>


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