[linux-audio-dev] ANN: Distributed LADSPA Processing

Nelson Posse Lago lago at that.com.br
Wed Aug 18 17:54:20 UTC 2004


Hi,

Have you ever wondered if it is possible to escape the limits imposed
by your cpu to the number of ladspa plugins you can run simultaneously,
while keeping latency low? Well, yes, there is.

This email is to let you know about DLADSPA (Distributed LADSPA). While
there are a few rough edges on the code, there has been some talk related
to it on this list and so I'm bringing it to the table.

DLADSPA allows you to group several LADSPA plugins on a chain that appears
as a single "meta-plugin". This meta-plugin is loaded by your application
as any other plugin, but in fact it loads the "real" plugins in the chain
on a remote machine and sends the data for remote processing at each
interaction.

There are some limitations:

 - the system needs every period to be the same size (unless you are not
   running in real-time or the remote load is *very* low, but then what
   is the point?).

 - The system adds to the latency the equivalent of a single period. That
   is, if your period size is 2ms for a total input-to-output latency of
   4ms, the system adds another 2ms to the latency, so total latency goes
   to 6ms.

 - You cannot define the chain of plugins to be loaded remotely from
   within your application; that needs to be done separately (using
   jack-rack), the chain must be saved and the application restarted.

 - right now, there is a simple GUI missing, configuration is complicated
   thanks to a corba layer that needs to be eliminated, the code is
   tricky to compile (but it *does* compile on debian stable) and error
   handling is non-existant (any error calls exit(), which means your app
   crashes).

If jack udp transport doesn't work adequately (haven't tested it), I
intend to adapt the code to work on top of jack too (should be reasonably
easy).

It is available at my homepage:

http://gsd.ime.usp.br/~lago/masters

Hope you enjoy it,
Nelson


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.



More information about the Linux-audio-dev mailing list