On Sat, Oct 09, 2004 at 12:57:37PM -0700, Robert Hamilton wrote: > Folks, > I'm trying to find an application that will allow me to break up a > single-input audio signal into eight to ten separately bandpass-filtered > outputs. I need to do this in real-time (low latency). It would also be > nice to be able to perform other processes on each output, such as > limiting, clipping or compressing. Preferably the application would also > work with the "Jack Audio Connection Kit." I know it's a tall order. > I'm running the RedHat 9, Planet CCRMA distribution. > I've been searching for something for some time, but haven't found > anything yet that quite fills the bill. So, I've come to the experts! Any > suggestions? As Dave already suggested, ecasound can do this quite well. A commandline might look something like this: ecasound -a:1,2,3,4,5,6,7,8 -i:jack_alsa \ -a:1 -o:band1.wav \ -a:2 -o:band2.wav \ -a:3 -o:band3.wav \ -a:4 -o:band4.wav \ -a:5 -o:band5.wav \ -a:6 -o:band6.wav \ -a:7 -o:band7.wav \ -a:8 -o:band8.wav \ -a:1 -efl:<cutoff-freq> \ -a:2 -efb:<center>,<width> \ -a:3 -efb:<center>,<width> \ -a:4 -efb:<center>,<width> \ -a:5 -efb:<center>,<width> \ -a:6 -efb:<center>,<width> \ -a:7 -efb:<center>,<width> \ -a:8 -efh:<cutoff-freq> -create 8 chains, 1-8, with jack used as input for each. -assign output individually for each of the eight chains to its own file. These could be output to jack instead if desired. -add a filter to each chain: -efl is a lowpass filer, -efb a bandpass and -efh a high pass. Any additional effects per chain would be tacked on to the end of the line for each filter band. If you so desire the parameters of the effects can be controlled via midi CC, arbitrary envelopes or oscillators. If you are not pleased with ecasound's builtin filters you can easily use any LADSPA filter instead. If the commandline becomes too cumbersome the settup can be stored and edited in a .ecs (ecasound chain settup) file. There is also an interactive ncurses console interface based on the ECI (ecasound control interface). ECI itself can be scripted from C, C++, python, perl, ruby, php and emacs-lisp. The ecasound documentation is included with the package and available online here: http://www.wakkanet.fi/~kaiv/ecasound/Documentation/ Hope that helps, Eric Rz.