6.4.7. RNBO Compressor Tutorial #3 – The RNBOmnipressor¶

Fig. 6.92 Dynamics compressor patch recreating Eventide Omnipressor¶
For part 3 of our RNBO compressor, we’re recreating the legendary Eventide Omnipressor. The Omnipressor is famous for its unique simultaneous compression and expansion functions with adjustable gain and attenuation limit controls. While tweaking its settings can yield many interesting (and sometimes bizarre!) gain curves, it’s not too difficult to program in MAX/RNBO! In this example, the design has been expanded upon from the previous tutorial.

Fig. 6.93 Compression (left) and expansion (right) algorithms, running side by side¶
In this patch, we have compression and expansion algorithms running side by side. The compression algorithm (on the left) should look familiar—when the overshoot (the difference between the current amplitude and the threshold) is positive, that value is passed into the gain reduction section. Then, it is multiplied by the ratio.
The same thing happens on the expansion side, but in reverse: When the overshoot is negative (the signal is below the threshold), it is passed and scaled by the ratio. Because both processes run at the same time, a signal that is fluctuating above and below the threshold will be both compressed downward when it’s above and expanded upward when it is below.
The clip~ object allows us to create the gain and attenuation limit controls on the Omnipressor. These controls set limits on how much compression and expansion can happen regardless of the threshold or ratio. We use the clip~ object for this, which only allows values to pass within a specified range. By changing the upper and lower limits on the compression and expansion sections, respectively, we can control the attenuation and gain limits. Note: the compression factor is negative and the expansion factor is positive here because they are eventually reverse subtracted from 1.
Finally, the rampsmooth~ object allows us to control attack and release times. In this case, having one for each section would allow us to set different attack and release times for compression and expansion. After that, the compression and expansion factors are applied to the input signal, giving us omnipressed audio! Below, you can see the controls in Emote after the patch is exported to the H9000.

Fig. 6.94 UI displayed in Emote, now including expansion controls¶
In these tutorials we‘ve seen how a simple RNBO effect can be turned into something more complex and musical. These patches can be exported to your H9000 and controlled via Emote, where you can use them alongside your favorite algorithms!