[gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Chris Grigg <gmpi-public@xxxxxxxxxxxxxx>
- To: gmpi@xxxxxxxxxxxxx
- Date: Sun, 4 Dec 2005 15:46:23 -0800
I agree with Jeff, this is about giving some form of true control
over voice allocation to the sender. Just saying it's up to the plug
to do the right thing kind of misses the point. If the plug can
always do whatever it wants to, and can move a VPID from one real
voice to another one willy-nilly, then there's almost no point in
having the sender use VPIDs at all.
--- Chris G.
>>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:
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*.
There is no heuristic, no possible way the plugin can 2nd guess the
composer with your "every note a new VID" suggestion.
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...
again..
This is a lead guitar line on the top string...
Note-on VID 0 G4
...
Note-on VID 0 G4
...
Note-on VID 0 A4
This is a strummed chord....
Note-on VID 0 G4
...
Note-on VID 1 G4
...
Note-on VID 2 A4
same notes, same patch, different musical intention.
The patch can not itself do the allocating, the *sender* has to.
(sending being the controller or the score/host).
Now, I appologise, I keep harping on about keyboard-style VVID
allocation. But I should have said:
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
etc.
Solo mode is the easiest to grasp - Every note sent on VVID=0
one-voice-per-note-in-the-score-mode also easy, that's your fave.
keyboards score mode - Every pitch in the score has a unique VID,
sending the same pitch twice re-uses the previous VVID.
plus a mode for guitarists. Not easy to auto-assign any old score
to a guitar synth. Perhaps the score would need manual 'hinting'
But it would involve 6 VVID total, one per string.
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.
Jeff
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: http://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: http://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: http://www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe
- References:
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Chris Grigg
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Chris Grigg
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Chris Grigg
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Chris Grigg
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Jeff McClintock
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Jeff McClintock
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Jeff McClintock
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Jeff McClintock
Other related posts:
- » [gmpi] Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
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:
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*.
There is no heuristic, no possible way the plugin can 2nd guess the composer with your "every note a new VID" suggestion.
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...
again..
This is a lead guitar line on the top string...
Note-on VID 0 G4 ... Note-on VID 0 G4 ... Note-on VID 0 A4
This is a strummed chord....
Note-on VID 0 G4 ... Note-on VID 1 G4 ... Note-on VID 2 A4
same notes, same patch, different musical intention.
The patch can not itself do the allocating, the *sender* has to. (sending being the controller or the score/host).
Now, I appologise, I keep harping on about keyboard-style VVID allocation. But I should have said:
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
etc.
Solo mode is the easiest to grasp - Every note sent on VVID=0
one-voice-per-note-in-the-score-mode also easy, that's your fave.
keyboards score mode - Every pitch in the score has a unique VID, sending the same pitch twice re-uses the previous VVID.
plus a mode for guitarists. Not easy to auto-assign any old score to a guitar synth. Perhaps the score would need manual 'hinting' But it would involve 6 VVID total, one per string.
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.
Jeff
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: http://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: http://www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Chris Grigg
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Chris Grigg
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Chris Grigg
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Chris Grigg
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Jeff McClintock
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Jeff McClintock
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Jeff McClintock
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Jeff McClintock