Re: [linux-audio-dev] stereo / multichannel plugins in LADSPA ?

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] stereo / multichannel plugins in LADSPA ?
From: David O'Toole (dto_AT_qwsi.net)
Date: Thu Mar 23 2000 - 22:07:08 EET


Stefan Westerfeld wrote:

> > Therefore I am thinking about supporting interleaved data streams in LADSPA.
>
> I don't think this is a good idea. If you implement a stereo plugin in
> terms of mono plugins (as flow graph), you must demultiplex stuff first,
> then process through the mono plugins and then remultiplex.
>
> For instance, a special stereo reverb could be implemented as aRts flow
> graph with four mono delays, some filters, and some mixing involved.
>
> All in all I don't really see the benefits of interleaving data, while I see
> real problems which occur with even such simple things as connecting two mono
> sound sources to the input of a stereo plugin (where you need to convert ...
> again, while with seperate buffers you could connect them directly).

I agree with you fully--interleaving really achieves nothing but a waste
of CPU cycles. If the hardware eventually is going to want an
interleaved format as output, then that's a low-level detail that should
probably be in the audio driver, rather than in the system's insides.
This is the approach I'm taking with GNU OCTAL, which is having its API
polished up and completed about now--stereo signals are simply
implemented as two different buffers (non-interleaved) which means there
is very little special-case code when passing a mono signal to a stereo
input (simply pass the same input buffer to both channels) or a stereo
output to a mono input (the plugin ignores one of them.) Converting from
the non-interleaved, floating-point internal representation to my
particular sound card's interleaved, integer format is something handled
by output driver code, so these details don't get spread throughout the
engine itself.

BTW if anyone is interested in the GNU plugin API, check out the
alpha-level code at ftp://alpha.gnu.org/gnu/octal. A new release is
coming out this weekend.

-- 
@@@ david o'toole
@@@ dto_AT_gnu.org
@@@ www.gnu.org/software/octal


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Thu Mar 23 2000 - 22:52:41 EET