This article is going to be a little less template, and a little more workflow. We all have our favorite plug-ins. We probably also all have plug-ins we’d love to use, but run into limitations that keep us from pulling them out of the tool box. For instance, I have a couple of plug-ins from Waves that can add some really cool sonic character when I’m designing a sound, but also introduce more noise than I like when I start pushing them too hard. The problem is, I like pushing those plug-ins hard to get that character. Even when not pushing them too hard, I can still hear noise added by the algorithm. I’m not a fan of unwanted noise. So, I recently started experimenting with an old analog technique…
Guest contribution by Douglas Murray
I was inspired to finish this write-up after reading the feature list of the new Zynaptiq UNFILTER plugin. Their web site says:
You can also apply the measured filter response from one recording to another – placing the two in the same acoustic “world”. Or you can create roomtone to fill editing gaps, by applying a measured filter response to noise.
Then I read Shaun Farley’s tweet on the subject and saw that it was quickly followed up by Mike Thornton’s Pro Tools Expert YouTube video: Using Zynaptiq’s UNFILTER Plug-in To Create Room Tone From Pink Noise. I am looking forward to trying UNFILTER for this and its many other promising features. Meanwhile, there is another way to “create room-tone to fill editing gaps” which only requires a convolution reverb plug-in many of us already own.
Compressors have become more than just gain control units, they can be just as important as EQs in shaping a sound and sometimes even more so. For the mathematically inclined, a compressor works with a transfer function, or in plain speak, it changes its input in a predictable way. The controls of a compressor help specify this transfer function. The most common controls include: threshold (specifies when the compressor kicks in, usually in decibels), ratio (the amount a signal is compressed once it crosses the threshold), attack (the time taken for the compressor to begin compressing once the signal crosses the threshold), release (the time taken for the signal to return to ‘normal’, i.e., for the compressor to stop having an effect) and make-up gain (a post compression gain). It is quite common for a compressor to have other controls like specifying an alternate side-chain signal, filtering of the side-chain signal, choice between RMS and peak detection or look ahead (where the signal is delayed and then compressed).
Building a compressor in Pure Data (or Max) can be fairly straightforward – depending on the functionality you are looking for. For the purpose of this post I will include the following controls:
- Attack and release (with a unified control to keep things simple)
- A choice between peak and RMS detection
- Make-up gain
A typical compressor works by analysing the input signal and applying a reduction in gain to this same input signal based on the parameters specified (threshold, ratio, etc). A simplified schematic:
For those of you who just want to play around with the finished project, there is a download link at the bottom of the article. Despite all of this, I’m still relatively new at Pure Data and the Max language. To those who chime in with corrections or clarifications in the comments, you are most appreciated! If you’re new to PD, make sure you check the comments section for clarifying info provided by generous souls.
Last time, we implemented a three stage filter section with independent LFOs to sweep the center/cut-off frequency of each one. Today, we’ll finish up this patch by adding two last features…an anti-aliasing filter and the ability to record to the hard drive directly out of the patch. If you’re somehow just finding this series of tutorials, or you haven’t finished the previous steps, might I suggest you look those up here? This will also be the last time I’ll remind you to setup your MIDI controller in Pure Data before opening your patch. ;)
Despite all of this, I’m still relatively new at Pure Data and the Max language. To those who chime in with corrections or clarifications in the comments, you are most appreciated! If you’re new to PD, make sure you check the comments section for clarifying info provided by generous souls.
We’re picking up steam here. The synthesizer is essentially done. What we’re doing in the last two projects is adding features to make it a little more fun. Today, we’ll be adding in a 3 stage filter section. We’re going to route our synthesizer output through a hi-pass filter, then a band-pass filter, and finally a low-pass filter. It will pass through each of them in series, but we’ll be able to turn the filters on and off. Just to make things a little extra interesting, we’ll incorporate an LFO into each filter to sweep the center frequency (which we’ll also be able to turn on and off). You’ve completed the previous seven tutorials…right? ;)