[linux-audio-dev] Project: modular synth editor

Dave Robillard drobilla at connect.carleton.ca
Sun Jan 18 23:50:19 UTC 2004


On Sat, 2004-01-17 at 07:32, Fons Adriaensen wrote:
> On Sat, Jan 17, 2004 at 10:20:00AM +0000, Steve Harris wrote:
> 
> > Thats true, but the voice controller is generally part of the host
> > environment, not a plugin. It would typically be the think wihich is
> > resonsible for splitting the MIDI data to multiple sub-patches and routing
> > the CV streams (velocity, aftertouch) appropraitly. The modules within the
> > sub-patch can be completly ignorant of the voice allocation.
> 
> Putting the voice controller in the host doesn't solve the problem, as it
> still needs info from e.g. the envelope generators. So how will that info
> be passed when using LADSPA as the module format ? We could add a hint
> saying that a particular output port carries this type of data, but I
> wouldn't dare propose such a thing -- in contrast to the 'send NULL pointer
> hint' we discussed earlier, this one is far too specific. Or the host could
> check for a particular port name -- same problem. Adding some sort of port
> type could solve the problem, but that's a major change. It's again that
> little bit of generality that's missing.

Well, regardless of what the voice does after note release, the voice
you want to 'take over' is /probably/ the one with the oldest note-off.

I actually implemented an (un-released) quasi-polyphonic MIDI plugin for
SSM that worked like this, and it was fine (and I played alot of keys on
it).  I can't really think of a case where this isn't sufficient.

Maybe if you had a synth that split notes, and lower notes had really
really long envelopes, but higher notes were 'plinkey', but come on.

> Anyway, in the new AMS the VC will be a module and preferably a plugin.
> Some types of music or application could require a non-standard VC, and I
> want the user who needs such a thing to be able to write it and plug it in.
> This of course means that the plugin should have access to MIDI data,
> and to the file system (e.g. a VC that reads a CSOUND score), and
> that creates another interface problem.

I think pretty much everyone agrees that one or two things in a synth
can't be LADSPA plugins.. basically all the input/output stuff you
mentioned.

I'm saying all sound generating/modifying modules could be.  I agree
that making a MIDI-input LADSPA plugin is probably a stupid thing to do!





More information about the Linux-audio-dev mailing list