[linux-audio-dev] Catching up with XAP

Fons Adriaensen fons.adriaensen at alcatel.be
Thu Jan 16 12:46:00 UTC 2003


The whole discussion about VVIDs has become a rather complicated
web of opinions and examples that sometimes are understood, and
sometimes not. This is how I see it.


Why we need explicit VVIDs.

With MIDI, you can have

1. A mono synth. If there is any relation between a new note
and another one, it's always clear wich one is meant (the
previous one). This allows things like for example, not restarting
an ADSR if you play a second note before releasing the previous one. 

2. A poly synth. Here normally 'a new note is a new note', and
things like the effect described above are not possible because
the synth does not know the relations between the existing set
of notes and any new ones. Anther example, you play a 3-note chord,
and then a second one, and you want notes to slide individually from
the first chord to the second. Once your masterpiece is in MIDI format
it't impossible to find out which notes are related.

If course, if you try to play this on a keyboard, you can not even
express what you want, but that only a limitation of the the
interface, and should not imply that it can't be done. If you look
beyond the traditional 'pop' music scene, lots of composers are using
other means to enter their scores, such as scripts or even algorithms.

What should be clear from this, is that as a results of the
limitations of MIDI, a poly synth is *not* the same thing as a set of
mono synths.

If you want that (polyphony by a set of mono synths) the only way to
get it is by abusing the channel mechanism. This forces you to work 
in a way that is completely different from normal poly mode, which
is extremely unpractical. Anyway channels are not meant for this,
they are meant to multiplex data intended for different devices over
a single cable.

The explicit use of VVIDs would allow us to unify the interface to the
'normal' (in the MIDI sense) polyphonic synth, and the 'set of of
monophonic synths'.

And it would indeed allow the player to take the normally automatic
voice assignment into his own hands, but it does *not* force him to
do so.

A lot more could be said, but I have to go.

-- 
Fons Adriaensen






More information about the Linux-audio-dev mailing list