[gmpi] Re: Parameters / controls / GMPI event system - refreshment

  • From: "Ron Kuper" <ronkuper@xxxxxxxxxxx>
  • To: <gmpi@xxxxxxxxxxxxx>
  • Date: Sun, 4 Dec 2005 19:41:12 -0500

IMO the host should also set VID's (or whatever you name these "IDs") to match the composer's intent. synth will interpret based on the patch in use, and some hosts will be dumb and treat voices like channels. But the intent of VID's should be for hosts to specify polyphony, articulation and post-note-on changes.

----- Original Message ----- From: <thockin@xxxxxxxxxx>
To: <gmpi@xxxxxxxxxxxxx>
Sent: Sunday, December 04, 2005 6:06 PM
Subject: [gmpi] Re: Parameters / controls / GMPI event system - refreshment



On Sun, Dec 04, 2005 at 08:46:58AM +1300, Jeff McClintock wrote:
>>Isn't the easiest solution to re-use a VID?
>>
>>Note-On VID 0 G4
>>Note-On VID 0 G4
>>Note-On VID 0 G4
>>Note-On VID 0 G4
>
> Again, this solves *this* problem but breaks the truly polyphonic mode > of
> operation. How do you reconcile that?


I'm saying the point of VID is that they give the *sender* the choice:

And I think the sender owning the decision is wrong - it's dependant on the patch. HOWEVER - you make an interesting use case here.

This score requires a solo trumpet...

Note-on VID 0  G4
...
Note-on VID 0  G4
...
Note-on VID 0  A4

This score requires a trumpet trio

Note-on VID 0  G4
...
Note-on VID 1  G4
...
Note-on VID 2  A4

Same patch, same notes, different *intention*.

Right. But if the trumpet patch you use doesn't support polyphony (because hey - it's a trumpet), then these two are the same, regardless of your intentions.

Yes I agree, a piano patch, fed a non-challenging score could figure out
which voices to allocate.
  A guitar however can't, each string supports an overlapping range of
pitches, each string is independently bendable, power-chords
deliberately use the same pitch on two strings.

A guitar-synth needs explicit help allocating pitches to the correct
string...

We've already established that guitar synths are special, and a reasonable answer is to do 1 string per channel.

The musician can switch-off keyboard-style VVID allocation.

He should have a range of possible VVID assignments schemes including:
-keyboards score mode
-solo score
-one-voice-per-note-in-the-score-mode

OK. I think already said this, but this sounds fine to me. The host can provide this explicit VPID re-use (as a feature). This isn't part of the spec, I think, but a good thing to have worked out.

Tell me if this sounds right, just as an example, sticking with the above
use case:

This score requires a solo trumpet.  The host sequences notes that are
explicitly tied together, somehow.  The user explicitly connected the
notes.

Note-on VPID(0)  G4
Note-on VPID(0)  G4
Note-on VPID(0)  A4

This score requires a trumpet trio.  The host sequences individual notes.

Note-on VPID(0)  G4
Note-on VPID(1)  G4
Note-on VPID(2)  A4

ALL GMPI synths should respond the same simple way:
-new VVID     = assign new real-voice
-re-used VVID = re-use real voice  (internal voice limit allowing)

That's my take anyway.

This is the only thing I disagree with - re-using a VPID is a suggestion to the plugin about the relationship between voices. The plugin can choose to re-use the real voice or not, as it makes sense. The example trumpet synth above would choose to re-use voices with re-used VPIDs.

Does that taint your model too much?

I'm still working on an animation.

thockin@xxxxxxxxxx wrote:
>On Sat, Dec 03, 2005 at 06:56:41PM +1300, Jeff McClintock wrote:
>
>>floorf(pitch) on the 2nd note to determinin which (real) voice to >>steal.
>>
>>What if I'm using a micro-tonal scale with say 24 pitches per octave (
>>0.5 semitones per key).
>>
>>Won't your scheme steal the wrong voice?
>
>
>It might, but if you are using a microtonal scale you sould have to
>substitute your own function for floorf() to round to the nearest pitch.
>
>
>>Isn't the easiest solution to re-use a VID?
>>
>>Note-On VID 0 G4
>>Note-On VID 0 G4
>>Note-On VID 0 G4
>>Note-On VID 0 G4
>
>
>Again, this solves *this* problem but breaks the truly polyphonic mode >of
>operation. How do you reconsile that?
>
>Tomorrow I'll get a better animation of what I mean, and I think you'll
>all say "oh! that's what he meant."
>
>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


-- Tim Hockin thockin@xxxxxxxxxx Soon anyone who's not on the World Wide Web will qualify for a government subsidy for the home-pageless.

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