Dynamic Rumble Filter

Effects, Recipes, Interfacing with other software, etc.
Forum rules
If you require help using Audacity, please post on the forum board relevant to your operating system:
Windows
Mac OS X
GNU/Linux and Unix-like
steve
Site Admin
Posts: 80677
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Dynamic Rumble Filter

Post by steve » Mon Aug 31, 2009 3:00 pm

jtp_60 wrote:http://sound.westhost.com/project99.htm
That's an 18dB per octave high-pass filter, and being a hardware device allows you to roll off sub-sonic (below 20Hz) frequencies of records while you play them. For post processing, (processing sounds that have already been recorded), you can do exactly the same thing with Audacity's built in high-pass filter (Effects menu). In fact, with the effect in Audacity you can use an even steeper slope (up to 48dB per octave) which will remove more subsonic frequencies while still leaving frequencies above 20Hz unaffected (much steeper cut-off).

Many high quality audio amplifiers already have a low frequency cut off built in, so this hardware device is only necessary if the low frequency cut of is either at too low a frequency, or too gradual a slope to cope with the unwanted rumble.

The limitation of devices like this, and equally the standard high-pass filter in Audacity, is that it processes ALL the sound signal that passes through it. This means that if you have equipment that is capable of reproducing very low frequencies (around 20Hz or less), and wish to listen to music that has very low frequencies, then if the cut off frequency is too high it will remove the lowest frequencies from the music. On the other hand, if you are playing an old record that has noticeable rumble above the filter cut off frequency, then that rumble will not be removed. This is the limitation that davidcw is wanting to overcome.
davidcw wrote:About 35 years I came across an audio amplifier that had a dynamic rumble filter that reduced turntable rumble on quiet passages, but was turned off when there were load passages.
The key word here is "dynamic rumble filter".
This is a filter (high-pass filter - stops low frequencies and allows high frequencies) that responds to the amplitude of the signal (how loud it is).
Unwanted rumble is often at a fairly low level. The causes of the rumble may be from a vinyl record that is slightly warped, or has the centre hole slightly off centre, or from microphone recordings picking up vibrations through the ground from nearby roads, or any number of other things, but whatever the cause, the idea of a dynamic rumble filter is to remove the low level rumble without affecting the sound when the music is playing.

In some cases it may be desirable to use both a dynamic rumble filter and a conventional high-pass filter. A conventional high-pass filter can deal effectively with very low sub-sonic frequencies in the range of 20Hz to DC, while the dynamic filter handles rumble above this range.

The noise gate that I posted earlier may be used as a dynamic filter and provide the desired functionality. I don't think that it is an ideal solution, but since it looks promising and there appears to be some interest I'll do another version of it that is specifically designed for this purpose.
jtp_60 wrote:Anyway, yes, I think this could be done (least) as VST implementation. Easiest way to go would maybe be to change the filter order (steepness, roll-off curve) or(/and) corner frequency "on-the-fly" by the "load" level measured from certain frequency area(s).
Nyquist is also capable of this, however I would expect that dynamically adjusting the frequency/slope of the filter would be less effective than dynamically adjusting the gain at a set frequency. Implementation is also a bit more complicated. If you can make/find a dynamic rumble filter that works this way we can compare their effectiveness and ease of use.
jelly6759 wrote:Does someone know where we can get that in VST plug-in?
For a straight high-pass filter - just use the one that is included in Audacity.
For a VST dynamic rumble filter you could use a multi-band dynamic processor. You need one that enables you to apply downward expansion to low frequencies.

I'll post my new dynamic rumble filter here shortly. It will probably need a bit of tweaking for optimum performance, so I hope you guys/gals will be able to give some feedback on its effectiveness.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

jtp_60
Posts: 21
Joined: Sat Aug 29, 2009 10:25 am
Operating System: Please select

Re: Dynamic Rumble Filter

Post by jtp_60 » Mon Aug 31, 2009 3:45 pm

Here's an example of standard HP filter which can be used for to filter those rumble/subsonic frequencies. Anyone can prepare it quite quickly. It's a VST implementation in question.

First, what you need:

1. SynthEdit - http://www.synthedit.com/

2. Christian Budde's Butterworth LP & HP filter modules (up to 64th order = 384dB/Oct) and/or Chebyshev LP & HP Filter modules (up to 32th order = 192dB/Oct) made for SynthEdit - http://www.savioursofsoul.de/Christian/?page_id=442


Here's an example which I did once for testing purposes:

Connection diagram in SE:

Image

When ready, just select "Save as VST" and then the plug-in is ready to use.

It's also possible to measure these VST plug-ins using Christian Budde's VST Analyzer - http://www.savioursofsoul.de/Christian/?page_id=106


Some measures (not rumble situation but something else):

Image

http://jiiteepee.fortunecity.com/tests/ ... _test.html (big page)



Juha

steve
Site Admin
Posts: 80677
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Dynamic Rumble Filter

Post by steve » Mon Aug 31, 2009 4:37 pm

jtp_60 wrote:Here's an example of standard HP filter which can be used for to filter those rumble/subsonic frequencies.
Cool - but that's just a HP filter isn't it? Can you make it dynamic?

BTW, if you want a steeper slope than 48dB per octave, then with the standard Audacity HP filter, you can simply use the the effect twice (set to 48dB per octave) and achieve a 96dB per octave slope.
The same can be done using Nyquist code:

Code: Select all

(setq freq 100)
(highpass8 (highpass8 s freq) freq)
This can be entered in the "Nyquist Prompt" box from the Effects menu.
This example has a corner frequency of 100Hz - just change the "100" to whatever frequency is required and you have a 96dB per octave high pass filter.
The above code will only work for mono tracks in Audacity 1.3.7 and earlier. In Audacity 1.3.8 and later it works for mono or stereo.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

davidcw
Posts: 6
Joined: Sun Aug 16, 2009 1:07 am
Operating System: Please select

Re: Dynamic Rumble Filter

Post by davidcw » Tue Sep 01, 2009 9:30 pm

stevethefiddle wrote: I'll post my new dynamic rumble filter here shortly. It will probably need a bit of tweaking for optimum performance, so I hope you guys/gals will be able to give some feedback on its effectiveness.
The technique exploited here is the masking of turntable rumble frequencies during loud bass passages, and only controlling the frequencies you need, to reduce audible turntable rumble during quiet bass passages.

A 10db reduction is probably all you need from a good turntable.

billw58
Forum Staff
Posts: 5565
Joined: Wed Aug 12, 2009 2:10 am
Operating System: macOS 10.15 Catalina or later

Re: Dynamic Rumble Filter

Post by billw58 » Wed Sep 02, 2009 12:27 am

stevethefiddle wrote: I "think" that setting "Gate Frequencies Above: 20Hz" actually disables that filter, so it is the same as "Gate Frequencies Above: 0Hz".
Steve:
My tests don't confirm this. Setting "Gate Frequencies Above: 20Hz" actually seems to leave the frequencies below 20 Hz alone!

I modified your code as follows:

Code: Select all

;control Lofreq "Gate frequencies above" real "Hz" 1 1 200
;control Hifreq "Gate frequencies below" real "Hz" 20 1 200
;control level-red "Level reduction" real "dB" -20 -96 0
;control thresh "Gate threshold" real "dB" -35 -96 -6
;control attack "Attack/Decay" real "milliseconds" 50 10 1000
and with those default settings it seems very effective a removing vinyl/turntable rumble without affecting the music.

I have before and after screenshots of the audio waveform, and before and after spectra if people are interested.

-- Bill

kozikowski
Forum Staff
Posts: 68902
Joined: Thu Aug 02, 2007 5:57 pm
Operating System: macOS 10.13 High Sierra

Re: Dynamic Rumble Filter

Post by kozikowski » Wed Sep 02, 2009 5:13 am

Before we get too throw-uppy over 96dB slope filters, I'm expecting them to actually sound terrible. The spectra analysis may look swell, but suddenly eliminating spectra like that is always fraught with problems.

Two places filters really got a workout are FM broadcasting and Music CDs. FM Stereo broadcasting has music surviving at 17 KHz, but the pilot frequency is 19KHz where the music had to be at least 40dB down. Quick, how many dB per octave is that? Too many. The early machines never worked particularly well.

Closer to home is the nyquist value of 2.6 which on a Music CD with a sampling of 44100, means the highest musical tone you can ever get without extensive tricks is 17KHz. Not 20 KHz. To simulate audio response to 20 KHz, many filters and tricks were used, leading to many people claiming they could hear problems. That's because there were problems.

Classically, the Chebyshev filter could achieve quite nice steep slopes and deep troughs, but was never flat. It always had lumps and bumps in the passband and the reject band as well. It didn't sound particularly good, but it worked for eliminating certain frequencies if you weren't too particular about the rest of the performance.

Butterworth had the nice smooth curves that tended to sound really good, but you couldn't get the sharp curves and slopes. The concept exercise is what happens if there is no limit to the number of poles.....

There is a third family of filters which includes phase compensation. Complex filters don't just attenuate certain signals, it makes them late, too. If you look at high-end audio specifications, they include phase numbers as well as frequency. A Crown D75 amplifier produces 20 KHz some 13 degrees later than it went in compared to 1000Hz.

Differences between violins doesn't always show up on a spectrum display, certain overtones are earlier and later, but they don't change size.

I wonder where the energy goes when you chop off the low end like that. All this is assuming that the rumble is a sine wave, too. Anybody do a blank track analysis?

Koz

zzzZZZ
Posts: 12
Joined: Mon Aug 10, 2009 12:44 am
Operating System: Please select

Re: Dynamic Rumble Filter

Post by zzzZZZ » Wed Sep 02, 2009 7:10 am

Sorry guys, although I'm not concern with this issue...

From mastering points of view, rarely use too steep filters for music. With gate is not all the more. It'll alter the tone in the rest of sound.
Original filter of the amp must have analog 1 or 2 pole's one and be used as the "insertion" to keep turntable from resonance, not an effector for recorded track. This is quite different.

I looked at that plugin's code, it might use 8 pole and unusual envelope of naked command. Theoretically you can built any effector. But practical and adjusted one is other problem. If you want just remove noise or massive bass on recorded tracks (of course not as insertion, I'm sure you didn't do that), decent filtering or equalizing on whole track or gate compressor maybe be better choice for the musical track, because cutting particular frequencies is not simple add and reduce math (if you interested see Gale Andrews' post on FFT in this section).

Sorry but I'm totally lost in the output sound image you all intended to. Without the image I couldn't implement or create effectors, I mean sound not visual of spectrum... (If you intend that to talking or podcast my post is totally irrelevant).

steve
Site Admin
Posts: 80677
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Dynamic Rumble Filter

Post by steve » Wed Sep 02, 2009 11:50 am

A bit slow on the ball (been busy with another little project), but looks like the discussion here has been warming up nicely :D
kozikowski wrote:Before we get too throw-uppy over 96dB slope filters, I'm expecting them to actually sound terrible
Koz can always be relied upon for the picturesque turn of phrase to brighten up the day :D
The 96dB filter was more of a joke really, but surprisingly it doesn't sound at all bad so long as there are no pops near the cut off frequency. The nice thing about digital filters is that you can have as many poles as you like, though cascading filters is not ideal as they tend to go a bit wobbly in the pass band. The major problems (and I'd be very interested to know if there are any ways to avoid these) are, resonance near the corner frequency, and as Koz pointed out, phase shift.
kozikowski wrote:FM Stereo broadcasting has music surviving at 17 KHz, but the pilot frequency is 19KHz where the music had to be at least 40dB down. Quick, how many dB per octave is that?
40dB over - what is that, about 2 semitones? No I'm not surprised the early machines didn't work terribly well.
kozikowski wrote:Butterworth had the nice smooth curves that tended to sound really good, but you couldn't get the sharp curves and slopes. The concept exercise is what happens if there is no limit to the number of poles.....
Which assumes that you can get resistors and capacitors with fantastically tight tolerances.
zzzZZZ wrote:I looked at that plugin's code, it might use 8 pole and unusual envelope of naked command.
As you say, the plug-in is not ideal for this application, but it wasn't originally designed for such. Although it has a theoretically very steep slope (48dB/octave), when used to drop the level by a few dB it never gets anywhere near 48dB/octave and the phase shift remains relatively small. As a noise gate (which is what it was designed for) it works rather well and in my tests has produced considerably more "musical" results than many noise gates.

I was hoping to have an effective dynamic rumble filter knocked up quite quickly, but I'd overlooked the effect that any low frequency thumps might have. On the other hand, just a simple high-pass filter should be reasonably effective, and Audacity already has that.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

zzzZZZ
Posts: 12
Joined: Mon Aug 10, 2009 12:44 am
Operating System: Please select

Re: Dynamic Rumble Filter

Post by zzzZZZ » Wed Sep 02, 2009 11:59 am

If you honestly believe you need 8pole, i.e. 48dB/oct, you can adjust "release" much more than decay. Good luck.

jtp_60
Posts: 21
Joined: Sat Aug 29, 2009 10:25 am
Operating System: Please select

Re: Dynamic Rumble Filter

Post by jtp_60 » Thu Sep 03, 2009 6:40 pm

stevethefiddle wrote: ...
Nyquist is also capable of this, however I would expect that dynamically adjusting the frequency/slope of the filter would be less effective than dynamically adjusting the gain at a set frequency. Implementation is also a bit more complicated. If you can make/find a dynamic rumble filter that works this way we can compare their effectiveness and ease of use.
...
I tried the other type of "dynamic" implementation, which I suggested (change filter corner frequency 'on-the-fly'). It was just a quick try-out solution checked in my RIAA EQ filter software done using Max/MSP so, not the best possible implementation you could do inside Max/MSP.

How I did it ...
- prepared six 6dB/[email protected] HP filters/channel and, put them in series (cascaded)
- the master output levels (in dB range) is copied and divided by six (min=1, max=6) to get multiplier for a pre set frequency (5Hz, which also is the abs minimum: levels 0dB - -10dB = 1 -> 5Hz, -15dB = 2 -> 10Hz, ..., -40dB = 6 -> 30Hz) ... . Q was set to 0.707 and filter gain is always 1.0.

Tried also the other method I suggested (change of filter order 'on-the-fly') ... it worked as well but, Max/MSP wasn't very stabile with it running.

Max/MSP has a peek() function which could be used for to look if there are passages on certain low frequancy area ... I just didn't went that far because of, I don't see the point why rumble filter should be dynamic ...


The effect of this implementation I tested can be seen on these pictures (music sample):

Image


Juha
Last edited by jtp_60 on Fri Sep 04, 2009 3:15 am, edited 1 time in total.

Post Reply