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

Fons Adriaensen fons.adriaensen at skynet.be
Sat Jan 17 00:05:34 UTC 2004

On Fri, Jan 16, 2004 at 02:46:25PM -0500, Dave Robillard wrote:

> I'll just assume you have your reasons.  But just because AMS is going
> to have metadata doesn't mean some modular synth can't use LADSPA
> without doing so.

Nor did I say so. To illustrate this point, let me mention the problem of a
voice controller (VC) in a polyphonic patch. How is the VC to know when a voice
has ended and can be re-allocated to a new note ? This requires some feedback
from (typically) the envelope generators. So either you make this explicit
(a solution I do not dislike, but definitely non-standard), or you use a hidden
data path, and in a modular system that means metadata.

> I suggest looking into LADCCA if you don't know what it is.. it's really
> cool, and IMO the next Really Important Thing for linux audio.

> > OK, that maps to the requirement that almost everything that has a slider
> > must also be 'voltage-controlled'.
> suppose, yes.  Is this a problem?  The added flexibility would be huge.

Depends on how it's done. If a slider corresponds to a control input, then
one would expect the slider to follow the control voltage if it is connected.
That could mean a *lot* of CPU load if you have hundreds of sliders dancing the
night away. Two solutions: 1. Add the control voltage to the slider value
instead of replacing it, but not all parameters can be 'added' in a way that
makes sense, or 2.  eliminate the slider and all other widgets, and turn
each of them into a separate module that can optionally be created and 
connected to the control input. That means a completely different GUI concept. 

> > Strange. I'm using AMS in poly mode with a real MIDI controller almost
> > daily. I'm sure J.S. Bach would complain if some of his notes fall out :-).
> > Anyway there's no such thing as "dead on simultaneous' as MIDI is a serial
> > protocol. And even if you play a MIDI file, chords will be serialised at
> > the ALSA port. Waiting for your example.
> Pedant. :)  That's odd.. I'll put one together early next week and look
> into it - no other synth prog I have has the problem, so it's not my
> system configuration.  I have a feeling this one isn't going to be fun
> to root out. (I'll take this to the ams list)

What I wanted to point out here (whithout being pedantic :-) is the following:
MIDI input is looked at once for each process cycle, so everything that happened
during the previous cycle is 'dead on simultaneous' as far as AMS is concerned.
And since AMS surely can hande more than one note-on per cycle, you could be
right in suggesting that this one will be fun to root out...


More information about the Linux-audio-dev mailing list