Unfiltered Audio SpecOps study

SpecOps by Unfiltered Audio is a very deep and unusual plugin, with dozens of different spectral effects — mostly unfamiliar ones — to choose from, in 3 slots with range settings, and some additional global settings and effects. While it tends toward the more experimental side, it actually can be an everyday, minor enhancement sort of plugin once you get comfortable with it.

Somehow it fell off my list of plugins in my big plugin post, but that’s okay, there’s enough in this one to warrant its own page anyway. I’ve spent several days experimenting with it, finding ways to use individual effects, combine them, and modulate their settings

I’ve spent several days experimenting with it, taking notes, and finding some common threads. Here are the results.

Modulation Strategies

  • Autowah: set Start on the effect to 0, and assign the Input Follower to it. (In some cases, you might want to invert this with a higher setting and negative modulation… but usually not.) Typically you’ll want the Width at 100%. Set Amount to taste. This works a lot like an autowah pedal, sweeping the active frequency upward as the level increases — but you don’t have to reserve it for filters.
  • Tremolo: set the base frequency of Start somewhere in the mids, where it won’t interfere with the incoming audio’s fundamental or first couple of harmonics. Assign an LFO to modulate Start. Width and Amount determine the intensity or subtlety of the effect; usually Width should be narrow.
    It’s often a good idea to modulate the LFO rate with an Input Follower or the controller of your choice.
  • +Follower: set Amount to 0, and assign an Input Follower to raise it. Start and Width may cover the entire frequency spectrum, or a selected band according to taste.
  • -Follower: set Amount to the desired max, and assign an Input Follower to it with a negative amount. The sound will get “cleaner” as it gets louder.
    +/- Follower can also work well when assigned to the global Mix control.

Of course, any effect can work with fixed settings too. Some of them react interestingly to incoming dynamics or changes in pitch and timbre. Others are just useful tools that you might want to park in a particular frequency range to enhance, clean up, or dirty up your sound.

General Tips

Those too-thin virtual cables for modulation can be really tricky to grab with the mouse near the top. They seem to be easier to work with near the bottom.

FFT size is an important tradeoff (in any application of FFT, not just this plugin). Lower sizes mean small batches that process faster, with less latency and greater time resolution but lower frequency resolution. Higher values require increased latency and respond more slowly to change, blurring transients, but higher frequency resolution. The resolution can affect the smoothness and harmonicity of effects. Since I use the effect in real-time, I typically go with 1024 as my compromise. Smaller settings are more for lo-fi crunch, larger ones typically for slow, reverb-like effects using Speed or Freeze, or sometimes for drones.

For that reason, I keep the “Zero Latency Dry” setting enabled. This allows those longer FFT times to act as a sort of predelay for more reverb-like effects.

While SpecOps is a pretty great effect on its own, it can also be very handy to apply it to the echoes of a delay (or reverb). Put it in a send or chain either in front of or behind the delay at 100% wet, and control the overall wet level from the send/chain.

MeldaProduction MAGC after SpecOps is a handy way to compensate for effects that dramatically lower (or less frequently, raise) the signal level. I prefer it over trying to use the internal AGC.

All the effect tips below assume FFT = 1024, Window = Clean, Speed = 100%, no global pitch shifting, and 1:1 ratio on Spectral Compander, unless otherwise noted. After the effects, I’ll discuss the other global settings.

Filters

Autowah and Tremolo work well for most of these. The filters don’t have resonance, and sweeping the frequency doesn’t introduce any sort of phase shift — but the spectral sweep itself can still be interesting.

  • Slope LP/HP: Start is the equivalent of cutoff frequency, while Width controls the slope of the filter and makes a fine target for modulation. Unlike most of the effect algorithms, these do affect frequencies outside the bounds.
  • Region LP/HP: These are more unusual for filters but more typical of SpecOps effects, in that they are constrained to the region between Start and (Start+Width). Narrower widths can either make the effect gentler and subtler, or more pronounced, depending on what you’re catching in that filter.
  • Brickwall LP/HP: these (also unusually) ignore the Start/Width settings and simply use Amount to set a very strict cutoff. I find using a pair of these for a “telephone bandpass” style effect is handy. These also can work well in conjunction with some of the more unusual filters in other categories.
  • Noise Filter: this completely mutes frequencies falling below a set threshold. This can work for noise reduction when targeted to specific areas of the spectrum, but heavier Amount settings give a lo-fi MP3-like effect due to the abrupt level change. In addition to Autowah and Tremolo, +/-Follower are effective with this one.
  • Noise Focus: this is the opposite of Noise Filter, muting frequencies above a set threshold. It’s not gentle or transparent enough to use for reducing strong resonances (like Gullfoss or TEOTE) but all the modulation strategies can work.

Mixing

These all work well with Autowah, Tremolo and +/-Follower modulation schemes.

  • Region Cut, Region Solo and Region Amplify: these act like notch, bandpass and peaking filters respectively (except with no slope or resonance). Good for modulation or for EQ-like purposes.
  • Thinner: this tends to be subtle, lowering the amplitude of any frequency bins that are next to a stronger bin. It works nicely with tremolo, and perhaps for cleaning up the low end in a busy mix or thinning out the results of some other effects.
  • Contrast: this is a more gradual version of Noise Filter, lowering quiet frequencies rather than muting them. Sometimes it can be really pleasant, and can remove some edge from the high end.
  • I wish there was one more here for suppressing harsh resonances. Alas, there is not.

Geometry

There are global versions of these effects as well, which are applied before any of the effects in the three slots. But you can use these if you want to apply them to a specific range, or apply them after another effect.

  • Expand/Compress: a spectral pitch shift. Low FFT size makes it crude and inharmonic, and high FFT size makes it slow to respond. Expand is exponential and Compress is logarithmic, so it’s not easy to match a pair of them except at 100% (one octave). This isn’t an effect that usually benefits from modulation.
  • Slide Up/Down: this is a linear (inharmonic) frequency shift. Low FFT size makes it a bit crude. You can easily pair an Up and Down with another effect in between by assigning a Macro Control to the Amount in both slots (while also perhaps assigning an LFO — this does interesting things with Freeze for instance). Shifting outside the valid frequency range results in silence, so you’ll probably want to go upward first. (This also works with the global Slide control, if you want to save an effects slot.)
  • Combining multiple Slides in different ranges, with gaps and overlaps, can give some pretty cool results. With FFT 128 you can achieve a distortion-like effect, and a bit of Input Follower modulation of some parameters might be called for.

Freezers

These effects can get into stranger territory, with various algorithms for feeding spectral data back from previous frames. In all of these effects, the global controls have no effect on the already-frozen data.

Gating Amount with a switch can be useful, since 100% is a perfect infinite hold. The modulation strategies listed at the top of the page aren’t usually helpful for freeze effects.

FFT Size is critical to these. For something reverb-like, I tend to pick 8K or 16K, an Amount above 55%, turn down the global Wet control and maybe turn up the global output gain if necessary. A little filtering can be helpful, as can applying multiple stages of freezers with differing amounts to simulate damping.

  • Freeze: the most straightforward freeze effect in theory, this is supposed to slow the rate of change in each frequency bin. In practice, there’s a distinct threshold I can’t explain at about 55% where it goes from rough to smooth with most material.
  • Glitchy Freeze: rather than slowing the rate of change, this sets a random probability each frame that each bin will be held over. This yields much rougher and more inharmonic results, especially with low FFT sizes.
  • Random Freeze: this sets a probability each frame that the entire spectrum will be held. This creates more coherent glitches, if that makes sense? I like this one with drones or slow pads, with Amount set either very low or very high. Combining Random Freeze with a regular smooth Freeze can work well too.
  • Threshold Freeze: an unintuitive effect which holds the entire spectrum depending on the max amplitude within it. The dynamics that result are strange, but it can be fascinating. Be sure to use a limiter or MAGC after SpecOps to prevent unpleasant surprises.
  • Resonant Freeze: another one that is strange in practice, it scales the freeze amount according to the amplitude of each band, making louder bands ring out longer. It has a tendency to get “stuck” when the input falls silent, so I tend to reserve this effect for drones.
  • Fuzzy Freeze: similar to regular Freeze, including that weird 55% threshold, this one is combined with a “noisify” effect (random multiplication of levels). You can generally use it wherever you’d use Freeze.

Effects

The “miscellaneous” category of a very miscellaneous plugin, it’s where things start getting truly bizarre.

  • Topmost Solo: Decreases the level of every frequency bin except the strongest. At 100%, it outputs only a pure sine. I find it best to treat this like Region Cut, targeting a specific band with a moderate amount or using Tremolo, -Follower or Autowah schemes.
  • Smear: a potentially spectacular (and CPU-hungry) effect. It spreads out frequency bands across their neighbors, adding buzz, noise and… stuff. Targeting a specific band can be pretty pleasant though. It really complements FFT 128 for digital lo-fi grit, but actually gets rougher with larger sizes due to increased overlapping interference. Avoiding sub-bass frequencies and limiting the width to reduce CPU load, +Follower can get interesting.
  • MP3ify: quantizes the amplitudes of each band to simulate data compression. It’s ugly, except when it’s not (and of course, sometimes you want ugly) — pointing it at a narrow frequency range can sometimes smooth it out. It seems to complement Fuzzy or Random Freeze quite well.
  • Decapitate: mutes the strongest frequencies and raises the next-strongest, with Amount increasing the iterations. Can work well with Tremolo. With low FFT sizes, using multiple moderately narrow bands at about 20% amount can be cool.
  • Dustorm: a “corrupted” version of MP3ify that is actually much gentler; can soften harsh content in the mid-high range, or works with any modulation strategy.
  • Noisify: multiplies the amplitudes by random noise. More pleasant if you keep it away from bass range and above the fundamental of your input. While +Follower is a bit redundant, -Follower can be interesting.
  • Clipper: reduces the dynamic range of each bin. Tends to increase harshness, especially if you restrict it its range. Contrast in front of it can make it a little gentler (and you can modulate the Contrast amount).
  • Reverse: among the most extreme effects in SpecOps, this flips the entire frequency spectrum low-to-high. You can actually find uses for it if you restrict its range, including Tremolo. You can also reverse the reverse, maybe with slightly mismatched settings, or with one of the Geometry effects in between them for a mirrored effect. You can also reverse the “Backwards” Window setting but it’s not exactly the same…

Glitchers

  • Glitchy Reverse: this is like Reverse, but only for phase information. This is weird and noisy but not too extreme. For best results, keep its range away from the low end and (typically) don’t go too wide.
  • Glitchy HP: Randomly boosts higher frequencies. I generally don’t like it. Keeping Width small and Amount high, it can act a little like Region Amplify, but why not just use Region Amplify?
  • Glitchy Shift: “totally broken pitch shift” which can be unpredictable and mostly nasty, with even small amounts not keeping it sane. But I found a use for it, see below…
  • Glitch Bubbler: randomly copies bins to their neighbors. I think this one can be fun at low amounts, combined with Freeze or Random Freeze (especially with long, droney freezes). A limiter might be called for though.
  • Glitch Fire: swaps random bins. I have some tricks for this one:
    • Glitch Fire in slot 1, with Amount to about 4%, Start at 0Hz. Put a Brickwall HP after it, wiping out most of the original signal and leaving only the random “sparkles.” Set the width of Glitch Fire so it’s just barely above the cutoff of the HP, to help keep it sparse. Then add another Glitch Fire in the third slot to redistribute the sparkles across your desired frequency range — or else, Gliltch Bubbler or Gliltchy Shift for a different feel. Follow up SpecOps with a reverb.
    • Or, increase the width of the Glitch Fire in slot 1. Put a Freeze or Fuzzy Freeze in slot 3 for more of a belltree sound, or Random Freeze if you like.
    • Or, put a Reverse at 100% and full width in slot 1, Glitch Fire in slot 2 with Width at 100% and Start to set its lower frequency bound. Put an effect of your choice in slot 3 (Glitch Bubbler, Glitchy Shift, Freeze…). Tame the high end with an output filter.
    • Or, use Backwards Window instead of the Reverse. Glitch Fire in slot 1, giving you a noisier effect than variation 3. This gives you room for both Freeze and Glitch Bubbler in the next two slots.

Global Controls

  • Input Gain: usually it can just sit at 1.0. But you could push it into distortion (lowering the output to compensate). You could modulate it for actual tremolo, or trance gate effects and such. Gaps in the audio interact with Freezer effects and can make things interesting. You could also use +/-Follower for a crude compressor/limiter.
  • FFT size: discussed above (since it is super important to the sound of several effects.)
  • Window Type: Typically I keep this at Clean. Once I have the rest of my patch set up I might try the other types to see what the impact is. “Backwards” is a special case — not exactly like the Reverse effect, but you can combine them for a rough and phasey sound, perhaps using the Follower on the Reverse amount or start. Reverse, Freeze (any kind), Noise Filter seems like a good combo for a Backwards Window, with different FFT sizes dramatically changing the result.
  • Speed is like a global Freeze on the input, so any techniques for Freeze can work on Speed. The Freeze button just conveniently sets Speed to 0.
  • Pitch Shift is a cleanish, quantized shift. Slide and Stretch are exactly like Slide and Expand/Compress effects, so you can use that to save a slot if you’re applying them to the full spectrum anyway. The percentages on Slide and Stretch match the Amount on the individual effects.
  • Spectral Compander: to be honest, I rarely use this, keeping Ratio at 1:1. Sometimes I’ll raise it and lower the Threshold to taste, but I generally prefer dedicated dynamics plugins.
  • Out Gain, Filter and Mix are self-explanatory, except that Gain and Filter only apply to the wet signal. Mix especially is a useful modulation target.