Re: [linux-audio-dev] questions to be resolved

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

Subject: Re: [linux-audio-dev] questions to be resolved
From: eli+@gs211.sp.cs.cmu.edu
Date: Thu May 24 2001 - 00:08:58 EEST


Paul Davis wrote:
> >That is quite easy. Lets say someone has a synth unit that they have
> >programmed and one of the things they do is add/remove plugins during
> >playback. Or better yet, maybe its a vocal recording and at different
> >parts of the song different plugins are used.
>
> Both of these would not be handled in the real world by using a UI to
> create and connect these things as you went along. Instead, you'd be
> changing the parameters of the plugins (e.g. their output gains) so
> that no longer did anything to the signal. That doesn't involve any
> change in the graph.

You don't really want to be doing the computation for every plugin
you're not using, and then multiplying your hard work by zero. Either
change the graph (not by hand through the UI), or (over)complicate the
protocol so unneeded work doesn't get done.

But that's just cycles; cycles are cheap. More importantly, a static
graph means hard limits. If I'm representing a polyphonic synth, I'll
want to create voices on the fly and hook them into the graph. Yes,
having a fixed bank of voices is what a hardware synth does, but that
ain't a feature.

Think about what you can do in SuperCollider versus what you can do in
Csound. Dynamic update is powerful. (Admittedly, my thesis is about
why static dataflow and monomorphic types are too weak, so I'm biased.)

> Also, please be careful about confusing LAAGA and LADSPA.

Touch\'e. I'm not too clear on the dividing line myself. What I say
above may all be best aimed at LAD(!S)PA.

> As has been noted, you can't leave the engine running

That depends on how you synchronize. In Aura (a system something like
LADSPA plus control-rate signals and timestamped messages), for
example, the MIDI zone may request a new plugin by sending a messages
to the audio zone. The audio zone processes outstanding messages
before computing a block of audio, so there's no interference.
        http://www.cs.cmu.edu/afs/cs.cmu.edu/project/music/web/aura/
The multi-process approach does make this more involved.

-- 
     Eli Brandt  |  eli+@cs.cmu.edu  |  http://www.cs.cmu.edu/~eli/


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

This archive was generated by hypermail 2b28 : Thu May 24 2001 - 01:59:13 EEST