[linux-audio-dev] Sound processing objects architecture, is it possible?

Stefano D'Angelo zanga.mail at gmail.com
Mon Jan 22 21:39:22 UTC 2007

2007/1/22, Dmitry Baikov <dsbaikov at gmail.com>:
> On 1/22/07, Stefano D'Angelo <zanga.mail at gmail.com> wrote:
> > What I'd like to work on is a sound processing architecture (LADSPA,
> > VST, DSSI, etc.) wrapper, which hides the details of a particular
> > implementation to audio program developers.
> All this architectures have different APIs.
> Will your one have an fat API (union of all APIs it hides) or a thin
> API (intersection).

I'm thinking about a (fat) union API.

> What will you do if APIs you wrap are doing the same things very different ways?

Well, it depends on how big is the difference... this is a reason why
I'm asking you if you think this is possible... after all I know just
about VST, LADSPA 1.1 and LV2, and they don't seem to be that much
different (I mean at a logical level).

> You say that if will be possible to compare standards or create a new ones.
> If your API wraps them all, then it should automatically be best one.
> So, why bother creating new API's if your proposal is in fact that new
> API, which is better than any other.

Good point! This is true, but there are lots of sound processing
plugins around, so maybe instead of creating a new API and then apply
some "compatibility layer", it should be better to create a wrapping
tool natively. I think it should be also easier to expand.

> And if it is not better, you can't use more advanced API through your wrapper.

True, but I was thinking about a more "sophisticated" idea of
"processing object".
For example you might want to write a library to implement sound
processing with already-instructed neural networks, and you wish to
load values from a text file (which would actually be your "processing
With this ideal architecture you don't have to create a new engine
from scratch and wait for other programmers to implement it. You would
just write a module, and that would work with any program using this

I know my English isn't perfect, I do what I can. :-)


P.S.: I think I've also found a name for it: "Naspro", an recursive
acronym meaning "Naspro Architecture for Sound PRocessing Objects".
The "Naspro" is a southern italian type of icing used for sweets.

More information about the Linux-audio-dev mailing list