Charlie Laub
2015-06-24 20:12:35 UTC
I have developed a couple of useful LADSPA plugins that are intended to
implement a variety IIR filters and delay so that the user can implement a
loudspeaker crossover on their PC. I have gotten this to work using ecasound
under Linux, however, since Sox can run under a broader range of O/Ss and
can also run LADSPA plugins I am wondering if the same thing can be done
with Sox.
A detailed web page about how to use ecasound and LADSPA plugins to create a
loudspeaker crossover is presented here:
http://rtaylor.sites.tru.ca/2013/06/25/digital-crossovereq-with-open-source-
software-howto/
One of the keys to making this work has to do with routing. Each channel of
the input (usually 2 channel audio) is duplicated into "branches", one
branch per driver of the loudspeaker system. Then a separate LADSPA filter
chain is run on each branch. Finally the branches are recombined back into
one multichannel audio stream (one channel per loudspeaker driver) and sent
to the output device of choice. In my version of this, there is also one
multichannel LADSPA plugin that the re-combined audio stream is run through
that will implement fractional delay on each channel.
I read through the Sox manual, but it's not clear to me how to do the
routing (splitting and recombining of channels) and processing of each
channel with a its own chain of LADSPA plugins. Can someone give me a little
hand holding towards this goal with some examples?
Also, with ecasound, a chain of several LADSPA plugins can be specified in a
text file. The text file can then be called instead of having to list all of
the LADSPA plugins explicitly, and this seems to tidy up the command line.
Can this sort of thing be done in Sox as well?
If any of this is not clear, please let me know and I will provide more
detail or concrete examples. The link above is very good at presenting how
the audio stream should be processed, and is better than me trying to ramble
on and on.
Thanks for any help while I give Sox a try. I think that Sox would be a very
popular tool for this kind of thing, at least in the DIY loudspeaker
community.
-Charlie
implement a variety IIR filters and delay so that the user can implement a
loudspeaker crossover on their PC. I have gotten this to work using ecasound
under Linux, however, since Sox can run under a broader range of O/Ss and
can also run LADSPA plugins I am wondering if the same thing can be done
with Sox.
A detailed web page about how to use ecasound and LADSPA plugins to create a
loudspeaker crossover is presented here:
http://rtaylor.sites.tru.ca/2013/06/25/digital-crossovereq-with-open-source-
software-howto/
One of the keys to making this work has to do with routing. Each channel of
the input (usually 2 channel audio) is duplicated into "branches", one
branch per driver of the loudspeaker system. Then a separate LADSPA filter
chain is run on each branch. Finally the branches are recombined back into
one multichannel audio stream (one channel per loudspeaker driver) and sent
to the output device of choice. In my version of this, there is also one
multichannel LADSPA plugin that the re-combined audio stream is run through
that will implement fractional delay on each channel.
I read through the Sox manual, but it's not clear to me how to do the
routing (splitting and recombining of channels) and processing of each
channel with a its own chain of LADSPA plugins. Can someone give me a little
hand holding towards this goal with some examples?
Also, with ecasound, a chain of several LADSPA plugins can be specified in a
text file. The text file can then be called instead of having to list all of
the LADSPA plugins explicitly, and this seems to tidy up the command line.
Can this sort of thing be done in Sox as well?
If any of this is not clear, please let me know and I will provide more
detail or concrete examples. The link above is very good at presenting how
the audio stream should be processed, and is better than me trying to ramble
on and on.
Thanks for any help while I give Sox a try. I think that Sox would be a very
popular tool for this kind of thing, at least in the DIY loudspeaker
community.
-Charlie