I have a live concert recording where there is a significant amount of background hum that I want to cut out.
I think I should be able to accomplish this by finding a nice clean section of the recording where the hum is the only thing that there is, cutting out a piece of it, inserting the cutout in its own track, looping it and reversing the phase so as to have the loop of hum cancel out the hum in the actual recording.
Now I can’t seem to figure out how to do this in Ardour. It may simply be that my DAW skills just aren’t up to it yet. All help appreciated.
yeah, neither of the options (audacity/gwc) makes me really happy - i was just trying to propose at least something from the close-to-zero choice we have in linux in this area…
just to reply the initial question: it is avery easy task - you can cut out the desired part of a region (for example by presing the s key while the region is selected and playhead is on the right places - the exact way can vary a bit according to your actual settings), ctrl-drag it to its own track, loop it by aplying the ‘fill track’ command from the ‘region’ dropdown, and finally click the coloured track name in the mixer and choose ‘invert polarity’. useful tricks, but in this very case you’re probably not going to get good results.
the best approach is to record without noise, that’s for sure - anyway, for me some level of noise/hum is often much more acceptable than that awful pumping of too hard gates or funny squeaking of overused nr you hear sometimes when people are trying to get “clean” signal for any price. lets keep a bit dirty guys, noises want their life too!
“…non existent pretty much” - well, it is probably impossible to do it from inside ardour - simple phase switch wouldn’t give good results in this case. anyway, there are apps for linux that can do what you need, but only with audio files (ie. not with sessions) - so you can perform noise reduction either on a mxdn, or on single tracks/source audio files one by one - using noise profile of your choice (as you said, for example from some quiet part of the recording). audacity or gnome wave cleaner can do this.
would be great if ardour’d allow to do this either via plugins or using some “destructive audio-edit mode” concept one day (perhaps like in apple logic or adobe audition). i think there was an idea to link ardour and audacity somehow (can’t find it in the forum right now)
well, it is probably impossible to do it from inside ardour
No it isn’t. Not at all. In fact I do it all the time. The catch is that I am on OS X and am running an AU plugin for noise reduction (WaveArts in my case but SoundSoap should also work if I ever bothered to reinstall it).
The problem is that on Linux capable Noise reduction software doesn’t really exist. Audacity’s capabilities are pretty limited, and not really useful for most people. GWC never impressed me much either.
would be great if ardour'd allow to do this either via plugins...
already possible and confirmed working, see above;)
Well what you are describing is a simple process and can be done easily in Ardour, however I suspect you won’t find it as accurate as you might like. For one thing you will want to line up the phase before looping, but even then I doubt you will find it acceptable. What you will really want is a noise reduction plugin, sadly if you are not on OS X your choices are rather limited. And by rather limited I mean non existent pretty much.
For hum, cancellation can work. If you had a mic or a pickup of some sort that was only picking up the hum (and nothing else) you could record the hum track while recording the other tracks, and reverse polarity and mix that into the mix, with EQing for the differences in the pickup frequency response versus the frequency response of the other mics.
My experience with HVAC hum is that it doesn’t have constant frequency components; some AC units I’ve seen (heard, rather) change their noise depending upon where in the compressor’s cycle the unit is. Large air handlers can cut on and off, compressors or chillers turn on and off (and change noises as the evap coils cool down or heat up), ducting changes its dimensions (and thus its resonances) depending upon the airmass temperature, the humidity of the airmass changes the resonance, metal ducts can creak and groan while the temperature is changing, fan speed (and thus blade hum/whistle/swoosh) can change and that changes the airmass speed which can change the center frequency of the hum, etc. A good lowpass on non-bass or non-kick tracks can help, and getting rid of the hum’s harmonics in the bass and kick tracks can help. One of the worst things to do is use deep high order notches without looking carefully at the phase response of the notch edges. This would include FFT windowing filters, too, for FFT-based approaches.
But if all those changes are recorded without any of the music, then cancellation can be done (have done that to reduce the RFI from an AM radio station before).
But that’s all kind of moot since you already have the recording. You can try the loop and cancel, but you may find artifacts due to the effects mentioned above.
As said, the noise I’m looking to eliminate is a constant, low frequency hum from the air conditioning in the hall.
Once I get around to editing it again, I’ll try the FFT-based way as well. The idea is appreciated, thanks
The only way I can see the reverse polarity technique working is if the noise you are eliminating is a constant, low-ish frequency hum… that is, a waveform that when you zoom in on it, it is an extremely regular-looking pattern. The more irregular components the waveform has, the less effective the technique will be…
To attempt this, you’d want to make a new track, select “invert polarity” by clicking on the track’s header (in the mixer) and time-constrained-copy a portion of noise there (snip out a region of just noise and Ctrl-Button2 drag it to the new track). Then zoom way in, and trim the region of noise down so that the length of the region exactly equals an even number of wavelengths. Set the grid to snap to region ends, and Ctrl-drag the noise region over and over until it fills up the track. However:
Even if you were to get the out-of-phase signal lined up for a time, the really tricky part would be keeping the loop out of phase from the original… which I can see no way of guaranteeing. What will likely happen is the loop will drift out of sync over time, and actually end up making the noise louder in parts. If the noise is a “hum” and not a “hiss”, you’re probably just as far ahead to do an FFT analysis on the noise, look for trouble frequencies and pull some out (which you can do in Ardour on Linux).
I am getting ready to explore this myself, as I have some hiss on each channel in the project I’m working on that needs to be dealt with. The problem is that true white noise is aphasic; you will get odd ‘alien glitter’ artifacts if you just do a simple sample subtraction using a short sample of the noise, since truly random noise can’t actually be fully cancelled by ‘simple’ operations. Even FFT-based subtractions aren’t ideal, as real noise doesn’t have really consistent short-term spectra; the average spectrum of white noise would be ruler-flat across the whole range, but in reality the noise consists of random impulses with various timings and amplitudes that just get integrated into what appears to be a smooth spectrum, but isn’t.
There are ways of doing noise cancelling in real-time, but to do it well you need to use interferometry correlation techniques, which requires two or more response-matched microphones with gain-stable signal chains to do properly. And that will only cancel noise generated by the frontend itself. Or one can use a cryogenically cooled preamp to get the noise really low. External noise can’t be so easily cancelled.
Having said all that, I’ve used Audacity’s noise reduction, and it works as well as Cool Edit Pro’s (Audition) noise reduction ever did. The key is to leave a little noise so that the alien glitter noise (artifacts) isn’t noticeable; and that’s a balancing act. I personally find hiss to be less objectionable than the alien glitter artifacts (which sound a whole lot like codec artifacts on digital cellphones or mp3 compression, to my ear).
I’ve not yet tried to take an Ardour wav, open it in Audacity, do the reduction, and then export back to full resolution wav ready for Ardour to work with it again; but I’m going to try that way first.
There are ways of doing noise cancelling in real-time, but to do it well you need to use interferometry correlation techniques, which requires two or more response-matched microphones with gain-stable signal chains to do properly. And that will only cancel noise generated by the frontend itself. Or one can use a cryogenically cooled preamp to get the noise really low. External noise can't be so easily cancelled.
Or you know, use a plugin designed for low latency operation. Part of why I got the WaveArts plugins is that they can operate with 20mS of latency and provide quite acceptable results.
Having said all that, I've used Audacity's noise reduction, and it works as well as Cool Edit Pro's (Audition) noise reduction ever did.
Never did for me, the Cool Edit and Later Audition noise reduction always blew it out of the water, which isn’t saying much to be honest.
The key is to leave a little noise so that the alien glitter noise (artifacts) isn't noticeable; and that's a balancing act.
That may be the case with the destructive noise reduction you mentioned, but with any decent and modern noise reduction algorithms the answer is to tune it in several ways to the noise and material. The basic concepts are the same, but there is much more than just, leave a little noise.
Well well well. Thanks for all the replies, for one thing. Linux it is, Mac it’s not going to be. I don’t believe in reducing the noise from the existing tracks - I think it will eat some of the signal. The process of recording a bit of the “natural” background noise of the hall and using it later in inverted polarity for this very purpose was described to me (and used successfully, as far as I know, on a recording I sang on) by somebody who teaches recording at a local polytechnic and who has written a book on the subject, so I figure I’m not pulling this idea out of my rear.
Of course the best approach is to record without the noise. But sometimes you forget to ask the janitor to turn the air conditioning of the hall off. (Doh!)
I’m not thinking of using gates, and I definitely will not have any squeaking of noise reduction. The original signal is way too delicate for that in this case. And no, this noise doesn’t want its life, it’s just bloody AC humming away in a church hall for X’s sake, it needs to die from my little recording. Thanks for the Ardour tips, Tomas - I guess I just need to learn to use the program, and this is exactly what I wanted from this post, specific technical instructions on how to do what I think I want to be doing. Whether it accomplishes the result I want is a totally different story, guys, let me make my own fuckups in that respect ok? I might even have ears enough to hear if it’s not doing the job and will let the noise live as Tomas said I should