[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