A Studio Sound Path Experiment
The main ideas included in the following signal path graph are:
- CD-mastering compensating equalization, possibly including
loudness compensation filtering
- mid frequency range averaging filtering
- working with low-mid FFT transformed frequency bands to change
their dynamics
- comparing these bands between a loudness curve pre-filtered FFT
signal and non-FFT processed band-filters
- enhancing the sum of the sub-bands with tube-related distortion
- finding some of the original signal transients back in many
pro-mixes by using accurately timed limiters and subtractions
- adding a high frequency averaged component with an attempt to
improve most mastering troubles with CDs and such
- smoothing mostly the mid-range by applying slight band
compression after the FFT filter
- using the 1024 band FFT based equalizer to allow for
harmonization (in the sense of the "feel" of chords) of the signal (can
be used to create mutitrack tracks, or slightly to compensate for the
feel of recorded materials)

The whole set of standard LADSPA-effect requiring jack-rack files,
jamin file and automated startup and connecting .tcl files are
available in this zip file:
subbanddif1.zip
Here are screendumps of the various plugin racks and their settings,
and of the "jamin" mastering effect (based on a FFT based 1024 band
equalizer):

(Click on the following screendumps and they'll open in a new window
with the original captured size):

In the jack based signal graph (courtesy of "patchage" program) the
main path is: cdplay to
equalize the CD signal, which splits out in the following main
components: a pre-filter feeding "jamin", a bunch of band filters (df*), feeding another band filter
bank (d*) which in turn get
also a feed from the "jamin" output, and all those get mixed into (jack-rack_)par where there is a
tube and speaker effect. There are two delays in the main path, del2 and del3 which mix with the mid-range
expanded signal from of2bmid
and the par signal and there
are filtered stereo width adjustments possible with the small(2) blocks. there's a seperate
around 17kHz path with hipass
and to jamin there's hicom,
they form a unmatched compression/expansion pair for high frequencies
around jamin, which gets a peak with slope up or down in the highest
frequency range (remember, at 192 kHz this actually works, and mixes
appear to be prepared for having a lot of master filter messes
alleviated this way).
The dfsubtr block mixes the
non-fft 2/3 octave low mid bands, and gates the result to the form a
comparison with the fft-filtered sub bands.
Of course this could all be seen as sort of random, but both with
straight signals (microphone, Chesky CDs, etc.) and clearly produced
and mixed and mastered signals like CDs and blurays (and even good
mp3s) there is much interest to be found in the selective signal
comparisons done at the low-mid subband level, and, after adjustments,
I can pretty much enhance over 4500 CD songs (I tried more than a fair
share in the course of time) and a variety of other sources to sound
distinctly better or at least more interesting (in some cases
"FM-radio"-like when I work on it) on my neutral monitoring systems,
and headphones. Also my Lexicon effect, always weary of CDs and
blurays, HD-DVDs, TV audio and web mp3s, with few exceptions, often
appears to dig the signal variations possible with this signal
processing path!
The last part of the signal path (which goes from left to right,
mainly) is only a digital signal balancing and delay for mixing in a
Lexicon signal idea, and unimportant for people wanting to try this for
themselves.
Adapted jack-rack application
To make it easer to screen dump, and allow future automated
multi-screen applications to work, I've adapted the Open Source
jack-rack application to allow loading of so called "non-real time"
plugins without warning once they've been stored in a file (I apply a
small mout of signal path input noise to prevent much processor usage
with these type of plugins), and I've added -x,y,w,l startup parameters
to allow putting the window it creates anywhere on the screen.
If there's interest I can make the changes available.
Other requires applications
Jack (in my case using alsa), mplayer with resample filter (for playing
44.1 kHz CD wav files at 192kHz) and jack output enabled. I've
experimented with a filter-length adapted jamin, but that isn't
necessary for the experiment to work.
Unfortunately a working 192 Kilo Herz sampling frequency "JAMin"
program is needed. I use a very long (2 or 3 periods of 8192 (!) long
sample buffers) jack signal buffering scheme to make all these plugins
run on a supercoputing mode I7-950 machine, and even on such fast
machine (with decent 3-fold 1333 memory banks) this effect run at that
speed wil require processor power, so i make sure that before I start
the whole above signal processing graph up, all the cores are at
maximum processing speed of a little over 3GHz. The result can run for
hours (and longer) without trouble and a couple of xruns reported by
qjackctl per half hour or so, depending. The processor gets to be about
60 degrees with 1900 RPM fans speed, so that's ok.
Meterbridge is needed for the various peak digital bar meters I use to
look t the various signal stages. The jellyfish meter included with
that package is great to check the "life" of the sub-bands or the major
two signal additions (the midrange addition at with del2 and the
subband addition af`ter del3). Only good sources and well adjusted
signal changes make these absolutely great and a mesmerizing joy to
look at.
Of course for my main version you need a 192kHz sample frequency
capable soundcard, preferably with 24 bit resolution. A 96 version I've
used works too, and of course requires less processor power, too.
owever it isn't easy to get the 96 settings from the 192 version I
presented here, and I find the 192 absolutely superior in sound.
Netjack in my case can run 2 192kHz/32bit channels back and forth over
a switch with gigabit ethernet to another i7 machine, which can be used
to split the graph over machines, or add more "live" processing (like
multi compression).