On Wednesday 15 January 2003 21.56, Frank van de Pol wrote:
On Wed, Jan 15, 2003 at 01:07:30PM +0100, David
Olofson wrote:
<snip>
With MIDI, this is obvious, since VVID == note
pitch. It's not
that easy with our protocol, and I don't think it's a good idea
to turn a vital feature like this into something that synths will
have to implement through arbitrary hacks, based on the PITCH
control. (Hacks that may not work at all, unless the synth is
aware of which scale you're using, BTW.)
Sorry for nitpicking, but why do you presume MIDI presents any
relation between VVID and note pitch?
Because that's just the way it is, even if you can "stretch" the
concept slightly. Ever implemented a MIDI synth?
Though valid in many cases,
it is definately not always true.
In MIDI the 'note on' event starts a note, and 'note off' (which
can be note on with velocity == 0) ends it. The note pitch pitch is
actually just an attribute for that note.
It's an attribute alright, but no polyphonic synth can operate
correctly without also using it as a VID.
If VVID == note pitch would be true; the note would be
a singleton,
That's *your* definition; not mine. :-)
and triggering the same note multiple times would
never be
possible. Note that I'm not saying _re_triggering :-)
Well, the way I think about VVIDs, indeed, you can't trig multiple
notes on the same VVID, but that's really only because I like to
think of VOICE as a control - and you can't set it to 1 more than
once without setting it to 0 in between.
With separate VOICE_ON and VOICE_OFF events that restriction would
not apply, but what would be the point? If you really want multiple
notes at the same pitch, just play them using separate VVIDs. That's
in fact one of the major points with separating VVID from pitch - and
it has the distinct advantage over MIDI that you still have *full*
control over each note playing.
If you doubt, feel free to come over to my studio and
hear my AKAI
sampler play multiple times the same sample at the same pitch :-)
I have hardware that does that as well, but it doesn't demonstrate
anything more than possibly a minor hole in the MIDI specification
AFAIK, there is no official statement as to whether synths should do
this or not, and either way, you'll find synths doing it in several
different ways. "Restart" and "new voice" are just two possibilities.
(I've mentioned other alternatives previously.)
Anyway, yes, many synths and samplers allocate new voices when you
send multiple NoteOns for the same pitch, but:
1. For many sounds, this is simply *incorrect behavior*.
Examples would be many percussion instruments, most
string instruments with fixed per-string tuning,
most pipe, tube, electromechanical and other organs,...
2. What happens when you send Poly Pressure...? One of two
things: a) the synth screws up and applies the effect
on a "random" voice, or b) the synth applies the effect
on all voicen playing on that pitch.
3. What happens when you send NoteOff? Well, I have yet
to see a synth that even tries to match NoteOns and
NoteOffs - and it would be rather random anyway. What
happens is that the synth stops *all* notes playing
that pitch on the channel.
4. If we were to use separate events for VOICE_ON and
VOICE_OFF, nothing would prevent XAP synths from doing
the same thing. (However useless it is, when pitch is
separated from VVID.)
I see the use of the VVIDs but for some reason I get
an
uncomfortable feeling seeing it; it just reminds me of over
engineering and adding unneeded complexity.
So, how do you propose we deal with voice/note addressing? Take the
MIDI approach, and forget about continous pitch...?
I'm quite glad my MIDI
devices are smart enough to do their voice allocation....
And XAP plugins would be no different in any way. VVIDs are just a
more powerful, but not really fundamentally different addressing
method.
This is not about voice allocation, but about voice *addressing*.
I've stated many times before that I specifically *do not* want
senders to have anything to do with the details of voice allocation.
Sorry, couldn't resist it.
Frank.
Sorry, but I still claim that MIDI note pitch is equivalent to VVIDs
when it comes to voice management. VVIDs are just more powerful. :-)
//David Olofson - Programmer, Composer, Open Source Advocate
.- The Return of Audiality! --------------------------------.
| Free/Open Source Audio Engine for use in Games or Studio. |
| RT and off-line synth. Scripting. Sample accurate timing. |
`--------------------------->
http://olofson.net/audiality -'
---
http://olofson.net ---
http://www.reologica.se ---