A good friend of mine, Gary Oberbrunner, recently found a recording he made of my band playing in Bexley Hall back in 1983. Bexley (now sadly defunct) was one of the undergrad dorms at MIT. We were playing in the basement room dubbed "The Space Center," appropriately decorated with black lights and stoner art.
Gary had made the recording using a cassette machine with DBX (type II) noise reduction, but no longer had that cassette machine. Did I know of any plug-ins that could decode DBX noise reduction? I looked and surprisingly there don't seem to be any, but I did find a great post on the topic by Bob Weitz. He summarizes how to mock up a DBX decoder using EQ and dynamics plug-ins and side-chain routing. Perhaps I could cobble something similar using TrackPlug 7? A listen to the encoded recording reveals a highly compressed and overly bright sound, so clearly if I wanted to restore the original glory of this performance by "MDA and the Gyne-droids" (named that day by somebody smoking too much something) I had to attempt a DBX decode.
The DBX type II encoder basically compresses the signal and applies a high frequency shelving boost. The decoder applies an expander to restore the dynamic range and follows this with a de-emphasis EQ to remove the high frequency boost, this of course also reduces the level of tape hiss. A closer look reveals that DBX applies a high frequency shelf pre-emphasis to the side chain of the encoder compressor, hence the compressor is focused on compressing the highs. The same HF pre-emphasis is applied to the side-chain of the decode expander to properly undo the process.
TrackPlug has both an expander with side-chain EQ, and an equalizer. However, the side-chain EQ options are limited to lowpass, highpass, bandpass, and notch types. Why would anyone need otherwise? So this means we'll have to use a separate TrackPlug instance to process the sidechain EQ and route this to a TrackPlug running the dynamics through an external side-chain. The TrackPlug running the dynamics can also apply the final de-emphasis EQ.
A further complication is that DBX applies dynamics independently per channel, the stereo channels are not linked. TrackPlug's dynamics processors only run in stereo linked mode. I briefly considered supporting mid/side options for TrackPlug's dynamics, this seemed more suited to mastering applications, and unlinked (dual-mono) mode seemed crazy, as it can play havoc with stereo imaging. So this means we need to split the stereo signal into two mono signals and run mono instances of TrackPlug. Bob Weitz faced the same issue.
I set this up in Reaper. I imported the original audio into two stereo tracks. The first track is for the decode, running both the expander and the de-emphasis EQ. The second track sources the sidechain via the EQ, which is then fed to the side-chain input on the first track. In order to do all processing in dual-mono, I used Reaper's "Explode Multichannel Audio" feature to split each stereo track into two mono tracks. So we have four mono tracks, I'll call them 1L, 1R, 2L and 2R. Reaper doesn't actually support mono tracks, so these are actually stereo tracks panned hard left and right, respectively. In order to accomodate external sidechain input I increased the channel count of 1L and 1R from 2 to 4. TrackPlug 7 is inserted on each track. Reaper provides an easy way to set up complicated routing by simply dragging from the route control of the source track to the destination track. Track 2L is routed to the sidechain channels of 1L (pre-fader, post effect), and similar for 2R feeding 1R, After setting up the routing, track 2 is no longer mixed to output, it simply provides the sidechains for track 1.
The picture below shows the track layout after setup:
Here are the routings for 1L and 2L:
Tracks 1L and 1R run the TrackPlug DBX2_Decode preset, which enables the gate and EQ. The gate is set as an expander, with 0 dB thresh, ratio of 1:2, and using external side-chain mode. The attack and release times were estimated by comparing processed test signals with the plots on Bob Weitz's page. The DBX2_Decode preset also enables the EQ running the de-emphasis shelf EQ. The picture below shows the gate and EQ setup:
Tracks 2L and 2R run the DBX2_SC_PreEmph_wGain preset, where I matched the EQ shape from the plots in the DBX figures. The gain keep peaks below 0 dB, needed for proper expander operation. The EQ is shown below:
So how does it sound? The links below have a snippet of original encoded audio and processed with the decoder session:
The decoded result sounds much better than the original. Without reference decoder hardware it's hard to know how close we are to a real DBX type II decoder, but I think we are close. I refrained from applying other processing, like balancing the stereo image, which it needs.
This was a fun project to re-acquaint myself with routing possibilities in Reaper, and to demonstrate the capabilities of TrackPlug 7. And the recording itself evokes fond memories of the space center in its heyday. We had a lot of fun in that basement. Thanks to Gary Oberbrunner for the recording. Thanks also to Seth Hollub (drums), Julian Joseph (bass) and Robin Cochrane (flute), my bandmates of long ago. That's me (Bill Gardner) on guitar.
Here is a link to a preset file containing the two DBX2 presets
Finally, for the truly brave, a link to the complete performance (decoded and stereo balanced)
Set list: Chameleon jam, Dance of Maya, Stormy Monday, Dragon Song, Living in the Past, Vital Transformation.