My first exposure to noise reduction processing was with Waves X-Noise, working clip-by-clip, finding a snippet of noise in the clear, setting the noise profile, then processing the clip before moving to the next one. This offline processing method, while effective, would end up taking a lot of time, especially on long-form projects. Similarly, if you had a processed clip that needed its noise reduction altered, you would have to restore the un-processed version, find the noise print again, re-adjust the parameters, and then re-process it. When time is short (and when isn’t it?), real-time processes begin to look like a much better option. Unfortunately, plugins like X-Noise or iZotope RX Denoiser can’t be used effectively in real-time due to the enormous amounts of processing overhead required and the unmanageable latency added to the signal. With plugins like the new RX 3 Dialog Denoiser and Wave’s WNS and W43, real-time noise processing without expensive hardware is feasible, but it requires a change in workflow to utilize effectively. As I found once I started using the RX 3 Dialog Denoiser, putting one per dialog track was an inefficient use of CPU resources, and simply putting an instance on the main dialog bus proved problematic, especially when dealing with adjacent clips that had drastically different noise profiles.Read More
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.Read More
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:Read More
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. ;)Read More