Re: [linux-audio-dev] Catching up with XAP

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] Catching up with XAP
From: David Olofson (david_AT_olofson.net)
Date: Thu Jan 16 2003 - 00:29:20 EET


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


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Thu Jan 16 2003 - 00:28:34 EET