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: Wed Jan 15 2003 - 18:41:41 EET


On Wednesday 15 January 2003 16.54, Fons Adriaensen wrote:
> Hi all. I joined the list today, and have been following the
> vivid discussion on VVIDs with interest.

Welcome! :-)

[...polyphony, glisando, reusing VVIDs etc...]
> One thing you can't express with (polyhonic) MIDI is the following
> : Suppose you have a note A playing, and you want to start another
> one (B) 'in the context of A'. What this means is that B will
> probably (but not necessarily) terminate A, and that the attack
> phase of B will be influenced by the fact that it 'replaces' A.
> This may be a glissando, but it could be something much more
> complicated than that.

This is *exactly* the kind of stuff I'm thinking about. I'm hoping
that we can do away with these limitations of MIDI, instead of
sticking with the same old, ugly hacks to do this kind of stuff.

> As an example, consider what happens when a violin player changes
> the note he's playing while remaining on the same string. If he
> would play the second note on another string, the transition would
> sound completely different.

Actually, these kind of instruments are generally better simulated
using multiple Channels, mostly because each string has it's own
distinct sound, even when they all play the same pitch.

Anyway, that's a special case. It does not apply to instruments with
fixed pitch per string (like pianos), and certainly not to all "real"
synths, since they can chose to do all sorts of weird stuff rather
than just simulating real instruments.

> Using the terminology of the present discussion, what you want is
> that the VVID that was playing A should get the NOTE ON event and
> all associated parameters for B. What exactly it will do depends on
> the patch, the current state of A, and the parameters for B. The
> essential point is that whatever generates B should be aware of the
> relation with A.

Exactly.

> One a mono synth you can do this sort of thing, event with MIDI,
> because the relation is implicit. With polyphonic MIDI, it't
> impossible, except in some cases, and as was pointed out before,
> if you repeat the same note.
>
> So the association between VVIDs and notes should be made by the
> player (caller), not by the instrument (plugin).

Yes.

[...]
> > There should obviously be some sort of "panic button" feature
> > *as well*, but I don't see why it makes any sense to hardwire it
> > from the sequencer "stop button". "All Notes Off", "Stop All
> > Sound" and the like are emergency features that are not used
> > normally.
>
> Again I tend to agree with David. Stopping the stream of events
> should not imply that all sounds stop, even if this may be what you
> want most of the time.

Well, most of the time, I want everything to behave like real
hardware - and that basically means keep running until someone throws
the power switch. So, no, I rarely want *all* sounds to stop; not
even all notes, actually, since some of them may be under the control
of an external controller rather than the sequencer. I certainly
don't want the sequencer to kill the keyboard just because I happen
to jam past the end of the sequence! (Seen that "feature" in action,
and it's nothing but useless and annoying.)

BTW, sending "Reset All Controls" to Audiality 0.1.1 will result in
all FX plugins being removed, and routing being reset to "factory
defaults". Definitely not something I'd like it to do every time the
sequencer is stopped! Since the Audiality "mixer over MIDI" interface
is inherently non-trivial to deal with, it's nice to be able to reset
and start over without restarting the synth. (Especially since
reloading and rerendering all the sounds can take a while...) This is
what "Reset All Controls" is for, and at least, the sequencers I've
been using *only* send that when you tell them to.

//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 : Wed Jan 15 2003 - 18:54:38 EET